Inhaltsverzeichnis:
- Schritt 1: Raspberry PI und Xbee RC Sender
- Schritt 2: Konfigurieren Sie den Raspberry Pi UART
- Schritt 3: Schreiben Sie ein Python-Skript zum Lesen von Gamecontroller-Werten
- Schritt 4: Fazit
- Schritt 5: Verbinden Sie den Raspberry Pi Zero mit dem XBee Radio
Video: Raspberry Pi + Xbee RC-Sender - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Dieses anweisbare zeigt Ihnen, was ich getan habe, um meinen eigenen Raspberry Pi Zero + Xbee RC-Sender zu erstellen
Schritt 1: Raspberry PI und Xbee RC Sender
Schritt 2: Konfigurieren Sie den Raspberry Pi UART
Sie da!
Die Raspberry Pi (alle Variationen) sind extrem vielseitig und bilden heute den Grundstein eines Ökosystems aus vielen einfach zu lötenden Add-Ons, die diese Geräte WIRKLICH praktisch machen. Leider fehlt dem Raspberry Pi (derzeit) nur ein Breakout-Board oder eine schlüsselfertige GPIO-Schnittstelle für XBee (ZigBee)-Funkgeräte. XBee-Geräte sind eine großartige Möglichkeit, ohne viele Dicing- und Slicing-Protokolle oder Datenformate zwischen allen Arten von Geräten zu kommunizieren und machen es sehr einfach, USB-Geräte zu integrieren und ihre Daten an andere entfernte Geräte zu senden. Beginnen Sie mit einer beliebigen Version des Raspberry Pi. In diesem Instructable habe ich einen Raspberry Pi Zero verwendet und die serielle Konsole konfiguriert, um den UART mit diesem Instructable freizugeben.
Schritt 3: Schreiben Sie ein Python-Skript zum Lesen von Gamecontroller-Werten
Dieses Bit des Python-Codes reagiert auf die vom Gamecontroller ausgelösten Ereignisse und überträgt den Wert der Eingabe des Steuerelements, das das Ereignis ausgelöst hat. Dieser Code sendet Daten so schnell wie die Baudrate, die auf den XBee-Funkgeräten eingestellt ist. In diesem Beispiel sind die Funkgeräte auf 57600 eingestellt, könnten aber auch auf ihre höchste Baudrate eingestellt werden. Der Gamecontroller ist ein Logitech USB-Gamecontroller. Der verwendete Code ist unten:
Pygame importieren
Seriennummer importieren
sOut=""
ser=seriell. Seriell{
port='/dev/ttyAMA0', Baudrate=57600, parity=seriell. PARITY_NONE, stopbits=seriell. STOPBITS_ONE, bytesize=seriell. EIGHTBITS, Zeitüberschreitung=1
}
pygame.init()
erledigt=Falsch
solange fertig==falsch:
Joystick=pygame.joystick.joystick(0)
Joystick.init()
#EVENTVERARBEITUNG
für Ereignis in pygame.event.get():
if event.type==pygame. JOYAXISMOTION:
sOut="Achse:" + str(Ereignis. Achse) + ";Wert:" + str(Ereignis. Wert)
Drucken (sOut)
ser.write(sOut)
ser.flush()
sOut=""
if event.type==pygame. JOYHATMOTION:
sOut="Hut: + str(event.hat) + ";Wert:" + str(event.wert)
Drucken (sOut)
ser.write(sOut)
ser.flush()
sOut=""
if event.type==pygame. JOYBUTTONDOWN:
sOut="Button Down:" + str(event.button)
Drucken (sOut)
ser.write(sOut)
ser.flush()
sOut=""
if event.button==8:
print("Beenden")
done=Wahr
if event.type==pygame. JOYBUTTONUP:
sOut="Button Up:" + str(event.button)
Drucken (sOut)
ser.write(sOut)
ser.flush()
sOut=""
ser.close()
pygame.quit()
Schritt 4: Fazit
Der letzte Build davon verwendet einen zusätzlichen Telefonakku, um den Raspberry Pi mit Strom zu versorgen, der den XBee- und Logitech-Gamecontroller mit Strom versorgt. In einem zukünftigen Projekt werde ich eine vakuumgeformte Kunststoffabdeckung hinzufügen, die den Raspberry PI Zero, das XBee-Radio und das Netzteil umschließt, die alle in einem schönen, ordentlichen Bündel an den Gamecontroller angeschlossen sind. Dieser RC-Sender-Build macht es sehr einfach, Steuerdaten an fast alles zu senden. In meinem nächsten Build werde ich die Daten an einen Hexapod-Roboter senden, den ich von Goodwill gerettet habe. Hoffe, Sie finden dieses instructable hilfreich. Glückliches Bauen!
Schritt 5: Verbinden Sie den Raspberry Pi Zero mit dem XBee Radio
Verbinden Sie, wie in der Abbildung gezeigt, den Pi GPIO-Pin 1 (3,3 V) mit dem XBee-Pin 1. Verbinden Sie den Pi GPIO-Pin 6 (Gnd) mit XBee-Pin 10 und den Pi GPIO-Pin 8 (TX) mit XBee-Pin 3 (Din). Sie können auch ein XBee-Breakout-Board verwenden, bei dem Sie den Pi GPIO-Pin 2 (5 V) mit dem 5 V-Pin auf dem Breakout-Board verbinden müssen
Empfohlen:
So laden Sie MicroPython-Code auf XBee 3 herunter: 18 Schritte (mit Bildern)
So laden Sie MicroPython-Code auf XBee 3 herunter: MicroPython ist eine von Python 3.0 inspirierte Programmiersprache, die auf Mikrocontrollern wie dem XBee 3 funktioniert . Ich fou jedoch