Étape 10: IR récepteur
XBee ? Non, trop gros !
Bluetooth ? Non, trop cher !
Que se passe-t-il si je viens d’utiliser récepteur IR, seulement deux buck !
C’est tout ! Récepteur IR que j’ai décidé.
Et Voici les éléments que j’ai acheté pour ce projet.
38KHz IR récepteur (Radio Shack #276-0143)
LED IR (Radio Shack #276-640) - non utilisé dans le projet juste eu pour le processus de test.
J’ai utilisé la télécommande Poraloid pour correspondre avec le récepteur IR. (voir le blog de Ken Shirriff pour la façon de le faire).
Croquis
J’ai utilisé IR bibliothèque de Ken Shirriff, et j’ai adapté l’un de l’esquisse de l’échantillon, IRrecDemo.ino, dans la bibliothèque.
J’utilise aussi un autre exemple, IRsendDemo.ino, pour décoder mon polaroïd la télécommande IR, pour obtenir la valeur de la touche Enter, donc je peux utiliser la touche Enter pour mettre en marche le moteur. (Voir détail comment procéder sur le blog de Ken sur le lien mentionné ci-dessus.)
/*
* IRremote : IRrecvDemo - montre récepteur IR codes avec IRrecv
* Un détecteur IR/démodulateur doit être connecté à l’entrée RECV_PIN.
* Version 0.1 juillet 2009
* Copyright 2009 Ken Shirriff
* http://arcfn.com
*/
#include < IRremote.h >
#define motorPin 12
#define ledPin 13
int RECV_PIN = 9 ;
IRrecv irrecv(RECV_PIN) ;
résultats de la decode_results ;
void setup()
{
Serial.Begin(9600) ;
pinMode (ledPin, sortie) ;
digitalWrite (ledPin, basse) ;
pinMode (motorPin, sortie) ;
digitalWrite (motorPin, basse) ;
irrecv.enableIRIn() ; Démarrer le récepteur
}
void dance() {}
Delay(200) ;
digitalWrite (motorPin, HIGH) ;
digitalWrite (ledPin, HIGH) ;
Delay(4000) ;
digitalWrite (motorPin, basse) ;
digitalWrite (ledPin, basse) ;
}
void loop() {}
Si (irrecv.decode (et résultats)) {}
Serial.println (results.value, HEX) ;
Télécommande RC-50 de Polaroid : Entrez = 0x9C63AC04
if(Results.Value == 0x9C63AC04) {}
Dance() ;
}
irrecv.Resume() ; Recevoir la valeur suivante
}
}