Turinys:
- 1 žingsnis: Raspberry PI ir Xbee RC siųstuvas
- 2 veiksmas: sukonfigūruokite „Raspberry Pi UART“
- 3 žingsnis: parašykite „Python“scenarijų, kad perskaitytumėte žaidimų valdiklio vertes
- 4 žingsnis: Išvada
- 5 veiksmas: prijunkite „Raspberry Pi Zero“prie „XBee“radijo
Video: Raspberry Pi + Xbee RC siųstuvas: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Š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
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:
Kaip atsisiųsti „MicroPython“kodą į „XBee 3“: 18 žingsnių (su paveikslėliais)
Kaip atsisiųsti „MicroPython“kodą į „XBee 3“: „MicroPython“yra programavimo kalba, kurią įkvėpė „Python 3.0“ir kuri veikia su mikrokontroleriais, pvz., „XBee 3.“. Tačiau aš ketinu