Académique Documents
Professionnel Documents
Culture Documents
h"
const int LEDVERTE = 9; // la Led de contrôle de la réception d'un signal IR est sur la
pin 9
boolean etatledcontrole = LOW; // la led de contrôle est éteinte par défaut
void setup() {
pinMode(RELAIS1, OUTPUT);
pinMode(RELAIS2, OUTPUT);
pinMode(RELAIS3, OUTPUT);
pinMode(RELAIS4, OUTPUT);
pinMode(RELAIS5, OUTPUT);
pinMode(RELAIS6, OUTPUT);
pinMode(RELAIS7, OUTPUT);
pinMode(RELAIS8, OUTPUT);
pinMode(RELAISINV, OUTPUT);
// initialisation du récepteur IR
irrecv.enableIRIn();
void loop()
{
// lecture de la télécommande
if (irrecv.decode(&results))
{
// récupération du code
res_val = results.value;
// début traitement touche 0 le relais n°1 colle et l'angelot est animé jusqu'à
nouvel appui sur la même touche 0
// on change le relais n°1 d'état
etatRelais1 = !etatRelais1; //inversion d'état de HIGH à LOW
digitalWrite(RELAIS1, etatRelais1); // le relais change d'état
delay(n); // antirebond
// la led verte de contrôle s'allume 1/2 seconde puis s'éteind
digitalWrite(LEDVERTE, HIGH);
delay(m);
digitalWrite(LEDVERTE, LOW);
break;
// fin traitement touche 0
// début traitement touche 1e père Noël avec bonnet est animé jusqu'à nouvel
appui sur la même touche 1
// on change le relais n°2 d'état
etatRelais2 = !etatRelais2; //inversion d'état de HIGH à LOW
digitalWrite(RELAIS2, etatRelais2); // le relais change d'état
delay(n); // antirebond
// la led verte de contrôle s'allume 1/2 seconde puis s'éteind
digitalWrite(LEDVERTE, HIGH);
delay(m);
digitalWrite(LEDVERTE, LOW);
break;
// début traitement touche 2 1e père Noël avec son sapin est animé jusqu'à nouvel
appui sur la même touche 2
// on change le relais n°3 d'état
etatRelais3 = !etatRelais3; //inversion d'état de HIGH à LOW
digitalWrite(RELAIS3, etatRelais3); // le relais change d'état
delay(n); // antirebond
// la led verte de contrôle s'allume 1/2 seconde puis s'éteind
digitalWrite(LEDVERTE, HIGH);
delay(m);
digitalWrite(LEDVERTE, LOW);
break;
// fin traitement touche 2
// début traitement touche 3 1e cheval à bascule est animé jusqu'à nouvel appui
sur la même touche 3
// on change le relais n°4 d'état
etatRelais4 = !etatRelais4; //inversion d'état de HIGH à LOW
digitalWrite(RELAIS4, etatRelais4); // le relais change d'état
delay(n); // antirebond
// la led verte de contrôle s'allume 1/2 seconde puis s'éteind
digitalWrite(LEDVERTE, HIGH);
delay(m);
digitalWrite(LEDVERTE, LOW);
break;
// fin traitement touche 3
// début traitement touche 5 mise en route du manège jusqu'à nouvel appui sur la
même touche 4
// on change le relais n°6 d'état
etatRelais6 = !etatRelais6; //inversion d'état de HIGH à LOW
digitalWrite(RELAIS6, etatRelais6); // le relais change d'état
delay(n); // antirebond
// la led verte de contrôle s'allume 1/2 seconde puis s'éteind
digitalWrite(LEDVERTE, HIGH);
delay(m);
digitalWrite(LEDVERTE, LOW);
break;
// fin traitement touche 5
// début traitement touche 6 arrêt de tous les sons jusqu'à nouvel appui sur la
même touche 6
// code pour l'interface audio
// la led verte de contrôle s'allume 1/2 seconde puis s'éteind
digitalWrite(LEDVERTE, HIGH);
delay(m);
digitalWrite(LEDVERTE, LOW);
break;
// fin traitement touche 6
// début traitement touche 7 joue le son "klaxon" jusqu'à nouvel appui sur la
même touche 8
// code pour l'interface audio
// la led verte de contrôle s'allume 1/2 seconde puis s'éteind
digitalWrite(LEDVERTE, HIGH);
delay(m);
digitalWrite(LEDVERTE, LOW);
break;
// fin traitement touche 8
// début traitement touche 9 joue le son "vapeur" jusqu'à nouvel appui sur la
même touche 9
// code pour l'interface audio
// la led verte de contrôle s'allume 1/2 seconde puis s'éteind
digitalWrite(LEDVERTE, HIGH);
delay(m);
digitalWrite(LEDVERTE, LOW);
break;
// fin traitement touche 9
case 0xFF6897 : // code Hexa touche * (étoile)
// début traitement touche # est reservée et peut jouer un son jusqu'à nouvel
appui sur la même touche #
// code pour l'interface audio
// la led verte de contrôle s'allume 1/2 seconde puis s'éteind
digitalWrite(LEDVERTE, HIGH);
delay(m);
digitalWrite(LEDVERTE, LOW);
break;
// fin traitement touche #
// début traitement touche flèche basse arrêt du train jusqu'à nouvel appui sur
la même touche flèche haute
// code pour le LN 298
// la led verte de contrôle s'allume 1/2 seconde puis s'éteind
digitalWrite(LEDVERTE, HIGH);
delay(m);
digitalWrite(LEDVERTE, LOW);
break;
// fin traitement touche flèche gauche
// début traitement touche flèche droite marche arrière jusqu'à nouvel appui sur
la même touche flèche droite
// code pour le LN 298
// la led verte de contrôle s'allume 1/2 seconde puis s'éteind
digitalWrite(LEDVERTE, HIGH);
delay(m);
digitalWrite(LEDVERTE, LOW);
break;
// fin traitement touche flèche droite