#include <IRremote.h>
#include <LiquidCrystal.h>
unsigned long compteur=0;
unsigned long compteurbat = 0;
unsigned long compteurdegivr = 0;
int etatled;
int memoire=HIGH;
int v4v = 3;
int ventilateur = 4;
int turbine = 5;
int compresseur = 6;
//int led1_rouge = 4;
//int led_verte = 9;
float Tempconsigne =22.00;
unsigned long count=0;
int mode_chauffage;
int mode_deshumid;
int mode_clim;
const int sonde_ambianceMin = 0 ;
const int sonde_ambianceMax = 1;
int sonde_ambiance;// entree analogique en A0
#define PIN_RECEIVER 2 // Signal Pin of IR receiver
IRrecv receiver(PIN_RECEIVER);
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
void setup()
{
lcd.begin(16, 2);
lcd.setCursor(4, 0);
lcd.print("Attente");
lcd.setCursor(0, 1);
lcd.print("pression touche?");
receiver.enableIRIn(); // Start the receiver
pinMode(mode_chauffage, OUTPUT); // choix 2
pinMode(mode_deshumid , OUTPUT); // choix 1
pinMode(mode_clim, OUTPUT); // choix 3
pinMode(compresseur, OUTPUT);// Sortie relais compresseur
pinMode(turbine, OUTPUT);// Sortie turbine Int
pinMode(ventilateur, OUTPUT);// Sortie ventilateur Ext
pinMode(v4v, OUTPUT);// Sortie V4 Voies
}
void loop()
{
// Checks received an IR signal
if (receiver.decode()) {
translateIR();
receiver.resume(); // Receive the next value
}
}
/*void lcdPrint(char* text)
{
lcd.clear();
// lcd.setCursor(0, 0);
//lcd.print("Choix:");
lcd.setCursor(4, 0);
lcd.print(text);
// lcd.print(" code: ");
// lcd.print(receiver.decodedIRData.command);
}
*/
void translateIR()
{
lcd.clear();
// Takes command based on IR code received
switch (receiver.decodedIRData.command) {
case 162:
// lcd.clear();
lcd.begin(16, 2);
lcd.setCursor(4, 0);
lcd.print("ON/OFF");//programme();
break;
case 226:
lcd.print("MENU");
break;
case 34:
lcd.print("TEST");
break;
case 2:
lcd.print("PLUS");
break;
case 194:
lcd.print("BACK");
break;
case 224:
lcd.print("PREV.");
break;
case 168:
lcd.print("PLAY");
break;
case 144:
lcd.print(" MODE DESHUMID");
break;
case 104:
lcd.print("num: 0");
break;
case 152:
lcd.print("MINUS");
break;
case 176:
lcd.print("key: C");
break;
case 48:
lcd.print("num: 1");
digitalWrite(mode_deshumid , HIGH);
digitalWrite(mode_deshumid , HIGH);
digitalWrite(mode_chauffage, LOW);
digitalWrite(mode_clim, LOW);
digitalWrite(turbine, HIGH);// Demarrage de la ventilation interieure
lcd.begin(16, 2);
lcd.setCursor(3, 0);
lcd.print("Turbine ");
lcd.setCursor(3, 1);
lcd.print("en marche");
delay(500);
break;
case 24:
lcd.print("num: 2");
break;
case 122:
lcd.print("num: 3");
break;
case 16:
lcd.print("num: 4");
break;
case 56:
lcd.print("num: 5");
break;
case 90:
lcd.print("num: 6");
break;
case 66:
lcd.print("num: 7");
break;
case 74:
lcd.print("num: 8");
break;
case 82:
lcd.print("num: 9");
break;
default:
lcd.clear();
lcd.print(receiver.decodedIRData.command);
lcd.print(" other button");
}
}