Turinys:

Raspberry Pi + Xbee RC siųstuvas: 5 žingsniai
Raspberry Pi + Xbee RC siųstuvas: 5 žingsniai

Video: Raspberry Pi + Xbee RC siųstuvas: 5 žingsniai

Video: Raspberry Pi + Xbee RC siųstuvas: 5 žingsniai
Video: Custom Xbee remote with Raspberry Pi 2024, Lapkritis
Anonim
Raspberry Pi + Xbee RC siųstuvas
Raspberry Pi + Xbee RC siųstuvas

Ši pamoka parodys, ką aš padariau sukūręs savo Raspberry Pi Zero + Xbee RC siųstuvą

1 žingsnis: Raspberry PI ir Xbee RC siųstuvas

2 veiksmas: sukonfigūruokite „Raspberry Pi UART“

Labas!

„Raspberry Pi“(visi variantai) yra nepaprastai universalūs ir dabar yra kertinis akmuo daugelio lengvai lituojamų priedų ekosistemoje, dėl kurių šie įrenginiai yra tikrai patogūs. Deja, vienas dalykas, kurio „Raspberry Pi“trūksta (šiuo metu), yra „XBee“(„ZigBee“) radijo imtuvų pertraukimo lenta arba „iki rakto“GPIO sąsaja. „XBee“įrenginiai yra puikus būdas bendrauti tarp visų rūšių įrenginių be daugybės kauliukų ir pjaustymo protokolų ar duomenų formatų, todėl labai lengva integruoti USB įrenginius ir siųsti jų duomenis į kitus nuotolinius įrenginius. Norėdami pradėti, pradėkite nuo bet kurios „Raspberry Pi“versijos. Šioje instrukcijoje aš naudoju „Raspberry Pi“nulį ir sukonfigūravau nuosekliąją konsolę, kad išlaisvintų UART naudodami šią instrukciją.

3 žingsnis: parašykite „Python“scenarijų, kad perskaitytumėte žaidimų valdiklio vertes

Šis „Python“kodo bitas reaguoja į žaidimo valdiklio iškeltus įvykius ir perduoda įvesties vertę valdiklyje, kuris sukėlė įvykį. Šis kodas siųs duomenis taip greitai, kaip „XBee“radijo imtuvuose nustatytas duomenų perdavimo greitis. Šiame pavyzdyje radijo imtuvai yra nustatyti į 57600, tačiau gali būti nustatyta didžiausia duomenų perdavimo sparta. Žaidimų valdiklis yra „Logitech“USB žaidimų valdiklis. Toliau naudojamas kodas:

importuoti žaidimą

importuoti serialą

sOut = ""

ser = serial. Serial {

uostas = '/dev/ttyAMA0', baudos sparta = 57600, paritetas = serijinis. PARITY_NONE, stopbits = serial. STOPBITS_ONE, baitų = serijinis. EIGHTBITS, skirtasis laikas = 1

}

pygame.init ()

padaryta = klaidinga

kol padaryta == klaidinga:

vairasvirtė = pygame.joystick.joystick (0)

vairasvirtė.init ()

#ĮVYKIO APDOROJIMAS

renginiui pygame.event.get ():

if event.type == pygame. JOYAXISMOTION:

sOut = "Ašis:" + str (event.axis) + "; Reikšmė:" + str (event.value)

spausdinti (išeiti)

ser.write (sOut)

ser.flush ()

sOut = ""

if event.type == pygame. JOYHATMOTION:

sOut = "Skrybėlė: + str (event.hat) +"; Reikšmė: " + str (event.value)

spausdinti (išeiti)

ser.write (sOut)

ser.flush ()

sOut = ""

if event.type == pygame. JOYBUTTONDOWN:

sOut = "Mygtukas žemyn:" + str (event.button)

spausdinti (išeiti)

ser.write (sOut)

ser.flush ()

sOut = ""

if event.button == 8:

spausdinti („Išeiti“)

padaryta = tiesa

if event.type == pygame. JOYBUTTONUP:

sOut = "Mygtukas aukštyn:" + str (event.button)

spausdinti (išeiti)

ser.write (sOut)

ser.flush ()

sOut = ""

ser.close ()

pygame.quit ()

4 žingsnis: Išvada

Paskutinis šio įrenginio kūrimas naudoja papildomą telefono bateriją, kad maitintų „Raspberry Pi“, kuris maitina „XBee“ir „Logitech“žaidimų valdiklį. Būsimame projekte pridėsiu vakuuminiu būdu suformuotą plastikinį dangtelį, kuriame bus „Raspberry PI Zero“, „XBee“radijas ir maitinimo šaltinis, visi prijungti prie žaidimo valdiklio viename gražiame, tvarkingame ryšulyje. Dėl šios RC siųstuvo konstrukcijos labai lengva siųsti valdymo duomenis beveik bet kam. Kitame kūrime aš nusiųsiu duomenis šešiakampiam robotui, kurį išgelbėjau nuo geros valios. Tikimės, kad ši pamoka jums bus naudinga. Laimingas pastatas!

5 veiksmas: prijunkite „Raspberry Pi Zero“prie „XBee“radijo

Prijunkite „Raspberry Pi Zero“prie „XBee“radijo
Prijunkite „Raspberry Pi Zero“prie „XBee“radijo

Kaip parodyta diagramoje, prijunkite „Pi GPIO“kaištį 1 (3.3v) prie „XBee“kaiščio.. Taip pat galite naudoti „XBee“pertraukimo plokštę, kuriai reikės prijungti „Pi GPIO“kaištį 2 (5v) prie pertraukimo plokštės 5v kaiščio

Rekomenduojamas: