jacknpoe

Controle remoto muda cores do led RGB

Nov 29th, 2025
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Arduino 1.85 KB | Software | 0 0
  1. // Controle Remoto IR e RGB
  2. // cores no módulo RGB KY-016
  3.  
  4. #include <IRremote.hpp>
  5.  
  6. // o pino dois é para o IR
  7. #define PINO 2
  8. // usa pinos digitais PWM para RGB
  9. #define r_led 9
  10. #define g_led 10
  11. #define b_led 11
  12.  
  13. // função que recebe RGB e envia para os pinos PWM
  14. void cor(int rValor, int gValor, int bValor) {
  15.     analogWrite(r_led, rValor);
  16.     analogWrite(g_led, gValor);
  17.     analogWrite(b_led, bValor);
  18. }
  19.  
  20. void setup()
  21. {  
  22.   IrReceiver.begin(PINO, ENABLE_LED_FEEDBACK);
  23.   pinMode(r_led, OUTPUT);
  24.   pinMode(g_led, OUTPUT);
  25.   pinMode(b_led, OUTPUT);  
  26. }  
  27.    
  28. void loop()  
  29. {
  30.   unsigned long resultado;
  31.  
  32.   // if (IR.decode(&resultado))
  33.   if(IrReceiver.decode())
  34.   {
  35.     // resultado = IrReceiver.decodedIRData.value;
  36.     resultado = IrReceiver.decodedIRData.decodedRawData;
  37.    
  38.     if (IrReceiver.decodedIRData.protocol != UNKNOWN)    
  39.     {
  40.       switch(resultado)
  41.       {
  42.         case 0xF30CFF00: // 1 vermelho
  43.           cor(255, 0, 0);
  44.           break;
  45.         case 0xE718FF00: // 2 verde
  46.           cor(0, 255, 0);
  47.           break;
  48.         case 0xA15EFF00: // 3 azul
  49.           cor(0, 0, 255);
  50.           break;
  51.         case 0xF708FF00: // 4 ciano
  52.           cor(0, 255, 255);
  53.           break;
  54.         case 0xE31CFF00: // 5 magenta
  55.           cor(255, 0, 255);
  56.           break;
  57.         case 0xA55AFF00: // 6 amarelo
  58.           cor(255, 255, 0);
  59.           break;
  60.         case 0xBD42FF00: // 7 vermelho escuro
  61.           cor(128, 0, 0);
  62.           break;
  63.         case 0xAD52FF00: // 8 verde escuro
  64.           cor(0, 128, 0);
  65.           break;
  66.         case 0xB54AFF00: // 9 azul escuro (nos meus testes desliga o led)
  67.           cor(0, 0, 128);
  68.           break;
  69.         case 0xE916FF00: // 0 desliga
  70.           cor(0, 0, 0);
  71.           break;
  72.       }
  73.     }
  74.    
  75.     IrReceiver.resume(); // para ler o próximo valor
  76.   }
  77. }
  78.  
Add Comment
Please, Sign In to add comment