Sisällysluettelo:
- Vaihe 1: Vadelma PI ja Xbee RC -lähetin
- Vaihe 2: Määritä Raspberry Pi UART
- Vaihe 3: Kirjoita Python -skripti peliohjaimen arvojen lukemiseen
- Vaihe 4: Johtopäätös
- Vaihe 5: Yhdistä Raspberry Pi Zero XBee -radioon
Video: Raspberry Pi + Xbee RC -lähetin: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Tämä opas näyttää sinulle, mitä tein luodessani oman Raspberry Pi Zero + Xbee RC -lähettimen
Vaihe 1: Vadelma PI ja Xbee RC -lähetin
Vaihe 2: Määritä Raspberry Pi UART
Hei siellä!
Raspberry Pi (kaikki muunnelmat) ovat erittäin monipuolisia, ja ne ovat nyt kulmakivi monien helposti juotettavien lisäosien ekosysteemissä, jotka tekevät näistä laitteista todella käteviä. Valitettavasti yksi asia, jonka Raspberry Pi puuttuu (tällä hetkellä), on XBee (ZigBee) -radioiden jakolevy tai avaimet käteen -käyttöliittymä. XBee -laitteet ovat loistava tapa kommunikoida kaikenlaisten laitteiden välillä ilman paljon paloittelu- ja viipalointiprotokollia tai tietomuotoja, ja helpottavat USB -laitteiden integrointia ja niiden tietojen lähettämistä muihin etälaitteisiin. Aloita mistä tahansa Raspberry Pi -versiosta. Tässä Instructable -ohjelmassa käytin Raspberry Pi nollaa ja asetin sarjakonsolin vapauttamaan UARTin tämän Instructable -ohjelman avulla.
Vaihe 3: Kirjoita Python -skripti peliohjaimen arvojen lukemiseen
Tämä bitti Python -koodia reagoi peliohjaimen nostamiin tapahtumiin ja välittää tapahtuman nostaneen ohjaimen syötteen arvon. Tämä koodi lähettää tietoja yhtä nopeasti kuin XBee -radiossa asetettu siirtonopeus. Tässä esimerkissä radiot on asetettu 57600: een, mutta ne voidaan asettaa suurimmalle tiedonsiirtonopeudelle. Peliohjain on Logitechin USB -peliohjain. Käytetty koodi on alla:
tuontipeli
tuoda sarja
sOut = ""
ser = sarja. Sarja {
portti = '/dev/ttyAMA0', baudrate = 57600, pariteetti = sarja. PARITY_NONE, stopbits = sarja. STOPBITS_ONE, tavua = sarja. EIGHTBITS, aikakatkaisu = 1
}
pygame.init ()
tehty = väärä
kun valmis == väärä:
ohjaussauva = pygame.joystick.joystick (0)
joystick.init ()
#TAPAHTUMANKÄSITTELY
tapahtumaan pygame.event.get ():
jos event.type == pygame. JOYAXISMOTION:
sOut = "Akseli:" + str (event.axis) + "; Arvo:" + str (event.value)
tulosta (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
jos event.type == pygame. JOYHATMOTION:
sOut = "Hat: + str (event.hat) +"; Arvo: " + str (event.value)
tulosta (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.type == pygame. JOYBUTTONDOWN:
sOut = "Painike alas:" + str (event.button)
tulosta (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.button == 8:
tulosta ("Lopeta")
tehty = totta
jos event.type == pygame. JOYBUTTONUP:
sOut = "Painike ylös:" + str (event.button)
tulosta (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
ser.close ()
pygame.quit ()
Vaihe 4: Johtopäätös
Tämän viimeinen rakenne käyttää apupuhelimen akkua Raspberry Pi: n virransyöttöön, joka käyttää XBee- ja Logitech -peliohjainta. Tulevassa projektissa lisään tyhjiömuotoillun muovisuojuksen, joka sisältää Raspberry PI Zero -laitteen, XBee -radion ja virtalähteen, jotka kaikki on liitetty peliohjaimeen yhdessä kauniissa, siistissä nipussa. Tämän RC -lähettimen rakenteen ansiosta ohjaustietojen lähettäminen lähes mihin tahansa on erittäin helppoa. Seuraavassa kokoonpanossani lähetän tiedot hexapod -robotille, jonka pelastin Goodwilliltä. Toivottavasti tästä ohjeesta on sinulle apua. Hyvää rakentamista!
Vaihe 5: Yhdistä Raspberry Pi Zero XBee -radioon
Liitä Pi GPIO -nasta 1 (3.3v) XBee -nastaan 1. Kytke Pi GPIO -nasta 1 (3.3v) XBee -nastaan 1. Kytke Pi GPIO -nasta 6 (Gnd) XBee -nastaan 10 ja Pi GPIO -nasta 8 (TX) XBee -nastaan 3 (Din). Voit myös käyttää XBee -murtokorttia, joka vaatii Pi GPIO -nastan 2 (5v) kytkemisen katkaisukortin 5v -nastaan
Suositeltava:
MicroPython -koodin lataaminen XBee 3: 18 -vaiheisiin (kuvilla)
MicroPython -koodin lataaminen XBee 3: een: MicroPython on Python 3.0: n innoittama ohjelmointikieli, joka toimii mikro -ohjaimissa, kuten XBee 3: ssa. . Kuitenkin minä