Étape 4: Télécharger le Code de l’Arduino
/*
* IRremote bibliothèque - Copyright 2009 Ken Shirriff
* créé par Rui Santos, http://randomnerdtutorials.wordpress.com
* Contrôle de LED avec télécommande
* 2013
*/
#include < IRremote.h >
int IR_Recv = 3 ; Récepteur IR Pin 3
int g_ledPin = 5 ; broche de LED vert 5
int y_ledPin = 6 ; broche de LED jaune 6
int r_ledPin = 9 ; goupille de LED rouge 9
int b_ledPin = 10 ; goupille de LED bleu 10
int ledPins [] = {5, 6, 9, 10} ; Tableau avec toutes les broches de la LED
int ledStates [] = {0, 0, 0, 0} ; Cela signifie que les États de la LED dans un premier temps est de 0 = faible
int i = 0 ; Indice de LED pour les baies
IRrecv irrecv(IR_Recv) ;
résultats de la decode_results ;
variables pour la faire le clignotement de la LED lorsque sélectionné
int ledState = faible ; ledState pour éteindre le voyant allumé ou éteint
long previousMillis = 0 ; stocke la dernière fois mise à jour de LED
intervalle long = 1000 ; intervalle à laquelle doit clignoter (millisecondes)
void setup() {}
Serial.Begin(9600) ; démarre la communication série
irrecv.enableIRIn() ; Commence le récepteur
pinMode (g_ledPin, sortie) ; définit la broche numérique en sortie
pinMode (y_ledPin, sortie) ; définit la broche numérique en sortie
pinMode (r_ledPin, sortie) ; définit la broche numérique en sortie
pinMode (b_ledPin, sortie) ; définit la broche numérique en sortie
}
void loop() {}
décode l’entrée infrarouge
Si (irrecv.decode (et résultats)) {}
long int decCode = results.value ;
Serial.println(decCode) ;
casse de commutateur à utiliser la touche sélectionnée
Switch (results.value) {}
-affaire 57936 : //when vous appuyez sur le bouton suivant
Cela if/else instruction assure que LED est allumé ou éteint avant passer à la prochaine LED
if(ledStates[i]==0)
digitalWrite (ledPins [i], faible) ;
d’autre
digitalWrite (ledPins [i], HIGH) ;
Serial.println ("conduit ensuite") ;
permet de s’assurer que quand nous aurons atteint la dernière LED il va à la première LED nouveau
Si (j’ai > = 3)
J’ai =-1 ;
J’ai += 1 ;
rupture ;
affaire 57928 : //when vous appuyez sur le bouton de marche arrière
Cela if/else instruction assure que LED est allumé ou éteint avant passer à la précédente LED
if(ledStates[i]==0)
digitalWrite (ledPins [i], faible) ;
d’autre
digitalWrite (ledPins [i], HIGH) ;
Serial.println "(voyant précédent") ;
permet de s’assurer que, lorsque nous atteignons la première LED, il va à la dernière LED
Si (j’ai < = 0)
J’ai = 4 ;
i-= 1 ;
rupture ;
affaire de 57932 : //when vous appuyez sur la touche Mute
if(ledStates[i]==0) {//if le voyant est éteint, il ne s’allume
Serial.println ("se met en marche le voyant sélectionné") ;
digitalWrite (ledPins [i], HIGH) ; définit la LED sur
ledStates [i] = 1 ; met à jour l’état de la LED
}
else {}
Serial.println ("s’éteint le voyant sélectionné") ; autre chose : le voyant est allumé, il s’éteint
digitalWrite (ledPins [i], faible) ; la LED se met
ledStates [i] = 0 ; met à jour l’état de la LED
}
rupture ;
57920-affaire : //when vous appuyez sur le bouton d’alimentation
Serial.println ("tourne sur toutes les LED") ;
digitalWrite (g_ledPin, basse) ; la LED verte se met
ledStates [0] = 0 ; met à jour l’état de la LED
digitalWrite (y_ledPin, basse) ; déclenche la LED jaune
ledStates [1] = 0 ; met à jour l’état de la LED
digitalWrite (r_ledPin, basse) ; la LED rouge se met
ledStates [2] = 0 ; met à jour l’état de la LED
digitalWrite (b_ledPin, basse) ; la LED bleue se met
ledStates [3] = 0 ; met à jour l’état de la LED
rupture ;
par défaut :
Serial.println("Waiting") ;
}
irrecv.Resume() ; Reçoit la valeur suivante de la touche que vous appuyez sur
}
cela si déclaration rend le clignotement de la LED, si elle est activée et en dehors
{if(ledStates[i]==0)}
unsigned long currentMillis = millis() ;
Si (currentMillis - previousMillis > intervalle) {}
enregistrer la dernière fois vous cligna des yeux la LED
previousMillis = currentMillis ;
Si le voyant est éteint le faire tourner sur et vice versa :
Si (ledState == faible)
ledState = élevé ;
d’autre
ledState = bas ;
Définissez la LED avec la ledState de la variable :
digitalWrite (ledPins [i], ledState)
}
}
}