Table des matières:

Émetteur Raspberry Pi + Xbee RC : 5 étapes
Émetteur Raspberry Pi + Xbee RC : 5 étapes

Vidéo: Émetteur Raspberry Pi + Xbee RC : 5 étapes

Vidéo: Émetteur Raspberry Pi + Xbee RC : 5 étapes
Vidéo: Магнитный пульт дистанционного управления 2024, Novembre
Anonim
Émetteur Raspberry Pi + Xbee RC
Émetteur Raspberry Pi + Xbee RC

Cette instructable va vous montrer ce que j'ai fait pour créer mon propre émetteur Raspberry Pi Zero + Xbee RC

Étape 1: Émetteur Raspberry PI et Xbee RC

Étape 2: Configurer l'UART Raspberry Pi

Salut!

Les Raspberry Pi (toutes les variantes) sont extrêmement polyvalents et constituent désormais la pierre angulaire d'un écosystème de nombreux modules complémentaires faciles à souder qui rendent ces appareils VRAIMENT pratiques. Malheureusement, la seule chose qui manque (actuellement) à Raspberry Pi est une carte de dérivation ou une interface GPIO clé en main pour les radios XBee (ZigBee). Les appareils XBee sont un excellent moyen de communiquer entre toutes sortes d'appareils sans beaucoup de protocoles ou de formats de données de découpage et de découpage et facilitent l'intégration de périphériques USB et l'envoi de leurs données à d'autres appareils distants. Pour commencer, commencez avec n'importe quelle version du Raspberry Pi. Dans ce Instructable, j'ai utilisé un Raspberry Pi zéro et configuré la console série pour libérer l'UART à l'aide de ce Instructable.

Étape 3: écrivez un script Python pour lire les valeurs du contrôleur de jeu

Ce morceau de code Python réagit aux événements déclenchés par le contrôleur de jeu et transmet la valeur de l'entrée sur le contrôle qui a déclenché l'événement. Ce code enverra des données aussi rapidement que le débit en bauds défini sur les radios XBee. Dans cet exemple, les radios sont réglées sur 57600 mais pourraient être réglées sur leur débit en bauds le plus élevé. Le contrôleur de jeu est un contrôleur de jeu USB Logitech. Le code utilisé est ci-dessous:

importer pygame

importer la série

sOut=""

ser=serial. Serial{

port='/dev/ttyAMA0', baudrate=57600, parité=série. PARITY_NONE, stopbits=serial. STOPBITS_ONE, bytesize=serial. EIGHTBITS, délai d'attente=1

}

pygame.init()

done=Faux

tant que c'est fait==false:

joystick=pygame.joystick.joystick(0)

joystick.init()

#TRAITEMENT D'ÉVÉNEMENT

pour l'événement dans pygame.event.get():

si event.type==pygame. JOYAXISMOTION:

sOut="Axis:" + str(event.axis) + ";Value:" + str(event.value)

imprimer(sOut)

ser.write(sOut)

ser.flush()

sOut=""

si event.type==pygame. JOYHATMOTION:

sOut="Chapeau: + str(event.hat) + ";Valeur:" + str(event.value)

imprimer(sOut)

ser.write(sOut)

ser.flush()

sOut=""

si event.type==pygame. JOYBUTTONDOWN:

sOut="Bouton vers le bas:" + str(événement.bouton)

imprimer(sOut)

ser.write(sOut)

ser.flush()

sOut=""

si événement.bouton==8:

print("Quitter")

done=Vrai

si event.type==pygame. JOYBUTTONUP:

sOut="Bouton vers le haut:" + str(événement.bouton)

imprimer(sOut)

ser.write(sOut)

ser.flush()

sOut=""

ser.close()

pygame.quit()

Étape 4: Conclusion

La version finale de celui-ci utilise une batterie de téléphone auxiliaire pour alimenter le Raspberry Pi, qui alimente le contrôleur de jeu XBee et Logitech. Dans un futur projet, j'ajouterai un couvercle en plastique formé sous vide qui contiendra le Raspberry PI Zero, la radio XBee et l'alimentation, le tout attaché au contrôleur de jeu dans un ensemble agréable et soigné. Cette construction d'émetteur RC permet d'envoyer très facilement des données de contrôle à à peu près n'importe quoi. Dans ma prochaine version, j'enverrai les données à un robot hexapode que j'ai sauvé de Goodwill. J'espère que vous trouverez cette instructable utile. Bonne construction !

Étape 5: câblez le Raspberry Pi Zero à la radio XBee

Câblez le Raspberry Pi Zero à la radio XBee
Câblez le Raspberry Pi Zero à la radio XBee

Comme indiqué sur le schéma, connectez la broche 1 du GPIO Pi (3.3v) à la broche 1 de XBee. Connectez la broche 6 du GPIO du Pi (Gnd) à la broche 10 de XBee et la broche 8 du Pi GPIO (TX) à la broche 3 de XBee (Din). Vous pouvez également utiliser une carte de dérivation XBee qui vous obligera à connecter la broche Pi GPIO 2 (5v) à la broche 5v de la carte de dérivation

Conseillé: