Sisällysluettelo:

Raspberry Pi + Xbee RC -lähetin: 5 vaihetta
Raspberry Pi + Xbee RC -lähetin: 5 vaihetta

Video: Raspberry Pi + Xbee RC -lähetin: 5 vaihetta

Video: Raspberry Pi + Xbee RC -lähetin: 5 vaihetta
Video: B4X: Android + Raspberry Pi + XBee (ZigBee) communication 2024, Heinäkuu
Anonim
Raspberry Pi + Xbee RC -lähetin
Raspberry Pi + Xbee RC -lähetin

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

Yhdistä Raspberry Pi Zero XBee -radioon
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: