*
Make3D - 2024




Essai télécommande

On utilise trois diodes pour tester la télécommande.
On définit d'entrée les valeurs hexadécimales envoyées par la télécommande

Téléchargez la librairie IRremote ici.









#include IRremote.h

int signal_in = 11;
int output1 = 2;
int output2 = 4;
int output3 = 6;
int duty[] = {0,0,0,0};

#define code1 0x30CF
#define code2 0x18E7
#define code3 0x7A85

IRrecv irrecv(signal_in);
decode_results results;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(output1, OUTPUT);
pinMode(output2, OUTPUT);
pinMode(output3, OUTPUT);
}

void loop() {
if (irrecv.decode(&results) ) {
unsigned int value = results.value;

switch(value) {
case code1:
if(duty[1] == 1) {
digitalWrite(output1, LOW);
duty[1] = 0;
} else {
duty[1] = 1;
blink1();
}
break;

case code2:
if(duty[2] == 1) {
digitalWrite(output2, LOW);
duty[2] = 0;
} else {
digitalWrite(output2, HIGH);
duty[2] = 1;
}
break;

case code3:
if(duty[3] == 1) {
digitalWrite(output3, LOW);
duty[3] = 0;
} else {
digitalWrite(output3, HIGH);
duty[3] = 1;
}
break;
} //switch

Serial.println(value, HEX);
irrecv.resume();
} //if
} //loop

///////// functions here ///////////

void blink1(){
int del=80;
for(int t=0; t<5;t++){
digitalWrite(output1, HIGH); delay(del);
digitalWrite(output1, LOW); delay(del);
digitalWrite(output2, HIGH); delay(del);
digitalWrite(output2, LOW); delay(del);
digitalWrite(output3, HIGH); delay(del);
digitalWrite(output3, LOW); delay(del);}
}