Bonjour je tente de créer un système qui, avec une télécommande change la couleur d'une RGB tout en affichant le nom de la couleur sur un lcd
Mais rien ne passe a l’appuie du bouton voici mon code:
#include <LiquidCrystal.h> //inclue la bibliotheque du lcd
#include <IRremote.h> //inclue la blibliotheque de l'infrarouge
#include <IRremoteInt.h>
int receiver = 7; //receveur IR sur pin 7
const int rs = 12, en = 11, d4= 5, d5 = 4, d6 = 3, d7 = 2; //attribue des pins au lcd
const byte PIN_LED_R = 8; //couleur rouge de la RGB sur le pin 8
const byte PIN_LED_G = 9; //couleur verte de la RGB sur le pin 9
const byte PIN_LED_B = 10; //couleur bleue de la RGB sur le pin 10
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); //initialise le lcd
IRrecv irrecv(receiver); //initialise le recepteur IR
decode_results results; //initialise le decodage de l'IR
void setup() //Setup de démarage
{
lcd.begin(16, 2); //allume le lcd
irrecv.enableIRIn(); //allume L'IR
pinMode(PIN_LED_R, OUTPUT);
pinMode(PIN_LED_G, OUTPUT);
pinMode(PIN_LED_B, OUTPUT);
displayColor(0, 0, 0); //met la RBG sur "etteinte"
}
void translateIR()
{
switch(results.value)
{
case 0xFFA25D: displayColor(255, 0, 0); lcd.print(" ROUGE"); delay(2000); lcd.clear(); break; //en cas d'appuis sur le bouton power met la RBG en rouge
//affiche rouge sur le lcd puis au bout de 2s l'etteint
default:
Serial.println("Other Button"); //si un autre bouton est préssé "Other button" s'affiche (sur logiciel)
}
delay(1000);
}
void displayColor(byte r, byte g, byte b)
analogWrite(PIN_LED_R, r);
analogWrite(PIN_LED_G, g);
analogWrite(PIN_LED_B, b);
}
void loop()
{
}