Kazalo:
- Korak: Raspberry PI in Xbee RC oddajnik
- 2. korak: Konfigurirajte Raspberry Pi UART
- 3. korak: Napišite skript Python za branje vrednosti krmilnika iger
- 4. korak: Zaključek
- 5. korak: Povežite Raspberry Pi Zero na radio XBee
Video: RC oddajnik Raspberry Pi + Xbee: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Ta navodila vam bodo pokazala, kaj sem naredil za ustvarjanje lastnega oddajnika Raspberry Pi Zero + Xbee RC
Korak: Raspberry PI in Xbee RC oddajnik
2. korak: Konfigurirajte Raspberry Pi UART
Živijo!
Raspberry Pi (vse različice) je izjemno vsestranski in je zdaj temelj ekosistema številnih dodatkov, ki jih je enostavno spajkati, zaradi česar so te naprave resnično priročne. Na žalost manjka (trenutno) Raspberry Pi -ju, to je odklopna plošča ali vmesnik GPIO na ključ za radijske postaje XBee (ZigBee). Naprave XBee so odličen način za komunikacijo med vsemi vrstami naprav brez veliko protokolov za kocke ali rezanje ali podatkovnih formatov ter olajšajo integracijo naprav USB in pošiljanje njihovih podatkov na druge oddaljene naprave. Za začetek začnite s katero koli različico Raspberry Pi. V tem Instructable sem uporabil Raspberry Pi nič in konfiguriral serijsko konzolo, da sprosti UART s tem Instructable.
3. korak: Napišite skript Python za branje vrednosti krmilnika iger
Ta del kode Python reagira na dogodke, ki jih sproži krmilnik igre, in prenese vrednost vnosa na kontrolniku, ki je sprožil dogodek. Ta koda bo pošiljala podatke tako hitro kot hitrost prenosa, nastavljena na radijskih postajah XBee. V tem primeru so radijski sprejemniki nastavljeni na 57600, vendar jih je mogoče nastaviti na najvišjo hitrost prenosa. Krmilnik za igre je krmilnik za igre USB Logitech. Uporabljena koda je spodaj:
uvozi pygame
uvozi serijsko
sOut = ""
ser = serial. Serial {
port = '/dev/ttyAMA0', baudrate = 57600, paritet = serijski. PARITY_NONE, stopbits = serijski. STOPBITS_ONE, bytesize = serial. EIGHTBITS, časovna omejitev = 1
}
pygame.init ()
narejeno = napačno
medtem ko je končano == false:
joystick = pygame.joystick.joystick (0)
joystick.init ()
#NEVERJAVNA OBDELAVA
za dogodek v pygame.event.get ():
če event.type == pygame. JOYAXISMOTION:
sOut = "Os:" + str (event.axis) + "; Vrednost:" + str (event.value)
tiskanje (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
če event.type == pygame. JOYHATMOTION:
sOut = "Klobuk: + str (event.hat) +"; Vrednost: " + str (event.value)
tiskanje (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
če event.type == pygame. JOYBUTTONDOWN:
sOut = "Button Down:" + str (event.button)
tiskanje (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
če event.button == 8:
print ("Zapustitev")
narejeno = res
če event.type == pygame. JOYBUTTONUP:
sOut = "Button Up:" + str (event.button)
tiskanje (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
ser.close ()
pygame.quit ()
4. korak: Zaključek
Končna izdelava tega uporablja dodatno baterijo telefona za napajanje Raspberry Pi, ki napaja igralni krmilnik XBee in Logitech. V prihodnjem projektu bom dodal vakuumsko oblikovan plastični pokrov, ki bo zajemal Raspberry PI Zero, XBee Radio in napajalnik, vse pritrjeno na igralni krmilnik v enem lepem, čednem svežnju. Ta izdelava oddajnika RC omogoča zelo enostavno pošiljanje kontrolnih podatkov skoraj vsem. Pri naslednji izdelavi bom podatke poslal heksapodnemu robotu, ki sem ga rešil iz dobre volje. Upam, da vam bo ta pouk v pomoč. Vesela stavba!
5. korak: Povežite Raspberry Pi Zero na radio XBee
Kot je prikazano na diagramu, priključite Pi GPIO pin 1 (3.3v) na pin XBee 1. Priključite pin GPIO pin 6 (Gnd) na XBee pin 10 in Pi GPIO Pin 8 (TX) na XBee pin 3 (Din). Uporabite lahko tudi odklopno ploščo XBee, ki bo zahtevala, da priključite Pi GPIO pin 2 (5v) na pin 5v na odklopni plošči.
Priporočena:
Kako prenesti kodo MicroPython na XBee 3: 18 korakov (s slikami)
Kako prenesti kodo MicroPython na XBee 3: MicroPython je programski jezik, ki ga navdihuje Python 3.0 in deluje na mikrokrmilnikih, kot je XBee 3. MicroPython lahko pomaga zmanjšati količino zalog in splošno obsežnost vašega projekta ter olajšati stvari. . Vendar sem ugotovil