Étape 2: Faire capteur infrarouge et contrôleur IR travaillant avec Raspberry PI.
Dans un de mes projets précédents, j’ai réussi à écrire un code Python simple pour détecter les signaux IR sans utiliser de LIRC. J’ai utilisé le capteur HX 1838 IR que j’ai acheté en ligne.
Le capteur ont seulement 3 broches.
broche d’alimentation a. 3, 3V
b. broche GND
c. broche de capteur IR.
Le capteur que j’ai acheté est livré avec une télécommande simple. Mais j’ai utilisé un contrôleur Samsung télécommande standard au lieu de cela. Si vous possédez un téléviseur Samsung vous pouvez l’utiliser avec les mêmes codes de python que j’ai écrit. Si vous utilisez une télécommande différente que vous devrez modifier le programme pour décoder cette distance particulière. Veuillez utiliser suivant lien pour mieux comprendre les rendant la télécommande à infrarouge travaillant dans Raspberry PI. Si vous avez le même Samsung distant que j’utilise ensuite il devrait fonctionner avec du code python que j’ai utilisé.
C’est le code python permettant de gérer la télécommande IR
contrôle. C’est un simple. Vous n’avez pas besoin de toutes les clés pour ce contrôle de la voiture. J’ai seulement utilisé quelques clés comme 'up', 'down', 'left', 'droite'. J’ai aussi utilisé le bouton « power » pour envoyer un message de fermeture à Raspberry PI afin que vous pouvez désactiver le raspberry PI en cliquant sur le bouton « power ».
def getKey_IR() :
keyVal = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
SER = serial. Série ("/ dev/ttyAMA0") # GPIO GPIO 14 [TX] 15 [RX]
SER.baudrate = 2400
car moi dans range(0,24): # pour cette distance 2 x 12 d’octets reçus pour 2400 bauds
données = ser.read (1) # 12 octets répétés
keyVal [i] = ord (données) # données sont lues en tant que caractères donc converti en ASCII et stockés dans un tableau
KeyIdentity = keyval [6] + 2 * keyval [7] + 3 * keyval [8] + 4 * keyval [9] + 5 * keyval [10] + 6 * keyval [11] # Retour keyidentity
Si keyidentity == 3363 :
Si keyval [6] == 75: « un » retour
Si keyidentity == 3099 : retour « deux »
Si keyidentity == 3675 : retour « trois »
Si keyidentity == 3527 : retourner « quatre »
Si keyidentity == 3279: « cinq » de retour
Si keyidentity == 3443 : retourner « six »
Si keyidentity == 3435 : retourner « sept »
Si keyidentity == 3111 : retourner « huit »
Si keyidentity == 3015 : retour « neuf »
Si keyidentity == 3219 : retour à « zéro »
Si keyidentity == 3731 : retour « alimentation »
Si keyidentity == 3799 : retour « up »
Si keyidentity == 3591 : retour « down »
Si keyidentity == 3547 : retour de « gauche »
Si keyidentity == 2719 : retour « droite »
Si keyidentity == 2651 : renvoyer « entrer »
Si keyidentity == 3595 : retour « vol vers le haut »
Si keyidentity == 3363 :
Si keyval [6] == 123 : retour « vol vers le bas »
Si keyidentity == 3183 : retour « ch vers le haut »
Si keyidentity == 3395 : retour « ch vers le bas »
SER.Close()