Sadržaj:
- Korak 1: Raspberry PI i Xbee RC odašiljač
- Korak 2: Konfigurirajte Raspberry Pi UART
- Korak 3: Napišite Python skriptu za čitanje vrijednosti kontrolera igre
- Korak 4: Zaključak
- Korak 5: Priključite Raspberry Pi Zero na radio XBee
Video: Raspberry Pi + Xbee RC odašiljač: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Ova instrukcija će vam pokazati što sam učinio za stvaranje vlastitog Raspberry Pi Zero + Xbee RC odašiljača
Korak 1: Raspberry PI i Xbee RC odašiljač
Korak 2: Konfigurirajte Raspberry Pi UART
Hej tamo!
Raspberry Pi (sve varijacije) iznimno je svestran i sada je kamen temeljac ekosustava mnogih dodataka za jednostavno lemljenje koji ove uređaje čine ZDRAVO zgodnima. Nažalost, jedna stvar koja nedostaje Raspberry Pi -u (trenutno) je ploča za razbijanje ili GPIO sučelje po principu ključ u ruke za XBee (ZigBee) radije. XBee uređaji izvrstan su način za komunikaciju između svih vrsta uređaja bez puno protokola ili kockanja protokola ili formata podataka te olakšavaju integraciju USB uređaja i slanje njihovih podataka na druge udaljene uređaje. Za početak počnite s bilo kojom verzijom Raspberry Pi. U ovom Instructable koristio sam Raspberry Pi nulu i konfigurirao serijsku konzolu da oslobodi UART pomoću ovog Instructable.
Korak 3: Napišite Python skriptu za čitanje vrijednosti kontrolera igre
Ovaj dio Python koda reagira na događaje koje je pokrenuo kontroler igre i prenosi vrijednost unosa na kontroli koja je pokrenula događaj. Ovaj kôd šalje podatke onoliko brzo koliko je brzina prijenosa postavljena na radijima XBee. U ovom primjeru radiji su postavljeni na 57600, ali se mogu postaviti na najveću brzinu prijenosa. Kontroler za igre je Logitech USB kontroler za igre. Kôd koji se koristi je dolje:
uvoziti pygame
serijski uvoz
sOut = ""
ser = serial. Serial {
port = '/dev/ttyAMA0', baudrate = 57600, paritet = serijski. PARITY_NONE, stopbits = serijski. STOPBITS_ONE, bytesize = serial. EIGHTBITS, istek = 1
}
pygame.init ()
učinjeno = Netačno
dok je gotovo == false:
joystick = pygame.joystick.joystick (0)
joystick.init ()
#RECENTNA OBRADA
za događaj u pygame.event.get ():
if event.type == pygame. JOYAXISMOTION:
sOut = "Os:" + str (event.axis) + "; Vrijednost:" + str (event.value)
ispis (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.type == pygame. JOYHATMOTION:
sOut = "Hat: + str (event.hat) +"; Vrijednost: " + str (event.value)
ispis (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.type == pygame. JOYBUTTONDOWN:
sOut = "Button Down:" + str (event.button)
ispis (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.button == 8:
print ("Odustajanje")
učinjeno = Istina
if event.type == pygame. JOYBUTTONUP:
sOut = "Button Up:" + str (event.button)
ispis (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
ser.close ()
pygame.quit ()
Korak 4: Zaključak
Konačna verzija ovoga koristi pomoćnu bateriju telefona za napajanje Raspberry Pi, koji napaja XBee i Logitech kontroler igre. U budućem projektu dodat ću vakuumski oblikovan plastični poklopac koji će obuhvatiti Raspberry PI Zero, XBee Radio i napajanje, sve spojeno na kontroler igre u jedan lijep, uredan paket. Ova izvedba RC odašiljača olakšava slanje kontrolnih podataka na gotovo sve. U sljedećoj verziji poslat ću podatke heksapodnom robotu kojeg sam spasio iz dobre volje. Nadam se da će vam ovo uputstvo biti od pomoći. Sretna zgrada!
Korak 5: Priključite Raspberry Pi Zero na radio XBee
Kao što je prikazano na dijagramu, spojite Pi GPIO pin 1 (3.3v) na XBee pin 1. Spojite Pi GPIO pin 6 (Gnd) na XBee pin 10, a Pi GPIO Pin 8 (TX) na XBee pin 3 (Din). Također možete koristiti XBee probojnu ploču za koju je potrebno da spojite Pi GPIO pin 2 (5v) na 5v pin na razbojnoj ploči.
Preporučeni:
Kako preuzeti MicroPython kod na XBee 3: 18 koraka (sa slikama)
Kako preuzeti kod MicroPython na XBee 3: MicroPython je programski jezik inspiriran Pythonom 3.0 koji radi na mikrokontrolerima, poput XBee 3. MicroPython može pomoći smanjiti količinu zaliha i ukupnu masovnost vašeg projekta te uvelike olakšati stvari . Međutim, smatram da