Étape 5: CODE
Le code du projet peut être télécharger comme Code.txt par-dessous. J’ai fournir un aperçu du code ci-dessous.VUE D’ENSEMBLE DU CODE-
Nous incluons tout d’abord la bibliothèque télécommande IR pour télécommande faite par le shérif ken, vous pouvez télécharger la bibliothèque sur le lien suivant-http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html
#include
Maintenant, nous définissons les boutons différents par leur code hexadécimal. Notez que ce code est unique pour un particulier .cette distance peut être découvert en utilisant l’exemple de démo de réception dans la bibliothèque elle-même.
couleurs de temps [11] = {}
0x33FFFF,
.
.
.
.
.
}
Initialiser la broche 7 que la goupille de réception
int RECV_PIN = 7 ;
Pour commencer à recevoir et décoder le signal infrarouge de télécommande, nous avons le segment suivant de code.
IRrecv irrecv(RECV_PIN) ;
résultats de la decode_results ;
Déclarer les différentes broches d’entrée et de sortie en fonction de la configuration.
void setup()
{
Serial.Begin(9600) ; Commencer une communication sérielle à vitesse de transmission 9600
irrecv.enableIRIn() ; Activer le récepteur
pinMode(4,OUTPUT) ;
pinMode(5,OUTPUT) ;
digitalWrite (4, faible); //Connected à la broche GND de IR tsop
digitalWrite (5, HIGH); //Connected à la broche VCC de IR tsop
pinMode(redPin,OUTPUT) ;
pinMode(greenPin,OUTPUT) ;
pinMode(bluePin,OUTPUT) ;
}
Dans la fonction boucle nous vérifier si n’importe quelle touche a été enfoncée et faire l’opération requise.
void loop() {}
Si (irrecv.decode (et résultats)) {}
Serial.println (results.value, HEX) ;
if(Results.Value==EQ)
{
mode =! mode ;
}
Comparer la valeur stockée dans la variable de résultats et le magasin correspondant valeur dans la variable i.
if(Results.Value==Zero)
{
i = 0 ;
}
if(Results.Value==One)
{
i = 1 ;
}
.
.
.
irrecv.Resume() ; Recevoir la valeur suivante
}
Le paramètre est passé à la setcolor fonction qui affiche la couleur correspondante.
setColor(Colors[i]) ;
Le code suivant est utilisé pour donner une bougie comme effet de scintillement. Cet effet est obtenu en ayant un délai aléatoire.
if(mode)
{
analogWrite(redPin,0) ;
analogWrite(greenPin,0) ;
analogWrite(bluePin,0) ;
Delay(Random(200)) ;
}
}
Remarque: - Best utilisé lorsque les bougies sont regroupés
Merci à vous tous et je serais ravi de vous entendre