Obsah:
- Krok 1: Vysielač RC Raspberry PI a Xbee
- Krok 2: Nakonfigurujte Raspberry Pi UART
- Krok 3: Napíšte skript Python na čítanie hodnôt ovládača hry
- Krok 4: Záver
- Krok 5: Pripojte Raspberry Pi Zero k rádiu XBee
Video: RC vysielač Raspberry Pi + Xbee: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Tento návod vám ukáže, čo som urobil pre vytvorenie vlastného RC vysielača Raspberry Pi Zero + Xbee
Krok 1: Vysielač RC Raspberry PI a Xbee
Krok 2: Nakonfigurujte Raspberry Pi UART
Hej vy tam!
Raspberry Pi (všetky variácie) sú mimoriadne univerzálne a teraz sú základným kameňom ekosystému mnohých ľahko spájkovateľných doplnkov, vďaka ktorým sú tieto zariadenia SKUTOČNE praktické. Jedna vec, ktorá Raspberry Pi chýba (v súčasnosti), je bohužiaľ rozbíjacia doska alebo rozhranie GPIO na kľúč pre rádiá XBee (ZigBee). Zariadenia XBee sú skvelým spôsobom komunikácie medzi všetkými druhmi zariadení bez veľkého množstva protokolov a krájania na kocky alebo dátových formátov a veľmi uľahčujú integráciu zariadení USB a odosielanie ich údajov na iné vzdialené zariadenia. Na začiatku začnite s akoukoľvek verziou Raspberry Pi. V tomto návode som použil nulu Raspberry Pi a nakonfiguroval som sériovú konzolu na uvoľnenie UART pomocou tohto príkazu.
Krok 3: Napíšte skript Python na čítanie hodnôt ovládača hry
Tento bit kódu Pythonu reaguje na udalosti vyvolané herným ovládačom a prenáša hodnotu vstupu na ovládací prvok, ktorý vyvolal udalosť. Tento kód bude odosielať údaje tak rýchlo, ako je prenosová rýchlosť nastavená na rádiách XBee. V tomto prípade sú rádiá nastavené na 57 600, ale je možné ich nastaviť na najvyššiu prenosovú rýchlosť. Herný ovládač je herný ovládač Logitech USB. Použitý kód je uvedený nižšie:
import pygame
importný seriál
sOut = ""
ser = serial. Serial {
port = '/dev/ttyAMA0', prenosová rýchlosť = 57600, parita = serial. PARITY_NONE, stopbits = serial. STOPBITS_ONE, bytesize = serial. EIGHTBITS, časový limit = 1
}
pygame.init ()
hotovo = nepravda
hotovo == nepravda:
joystick = pygame.joystick.joystick (0)
joystick.init ()
#SPRACOVANIE UDALOSTÍ
pre udalosť v pygame.event.get ():
if event.type == pygame. JOYAXISMOTION:
sOut = "Os:" + str (event.axis) + "; Hodnota:" + str (event.value)
vytlačiť (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.type == pygame. JOYHATMOTION:
sOut = "Klobúk: + str (event.hat) +"; Hodnota: " + str (event.value)
vytlačiť (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.type == pygame. JOYBUTTONDOWN:
sOut = "Tlačidlo nadol:" + str (tlačidlo event.button)
vytlačiť (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.button == 8:
tlač („Ukončenie“)
hotovo = pravda
if event.type == pygame. JOYBUTTONUP:
sOut = "Tlačidlo hore:" + str (tlačidlo event.button)
vytlačiť (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
ser.close ()
pygame.quit ()
Krok 4: Záver
Konečné zostavenie tohto systému využíva pomocnú batériu telefónu na napájanie Raspberry Pi, ktorá napája herný ovládač XBee a Logitech. V budúcom projekte pridám vákuovo tvarovaný plastový kryt, ktorý uzavrie Raspberry PI Zero, XBee Radio a napájanie, všetko pripojené k hernému ovládaču v jednom peknom úhľadnom zväzku. Táto konštrukcia RC vysielača umožňuje veľmi jednoduché odosielanie riadiacich údajov takmer všetkému. V mojej ďalšej zostave pošlem údaje hexapodovému robotovi, ktorého som zachránil z Goodwillu. Dúfam, že vám tento návod pomôže. Šťastnú stavbu!
Krok 5: Pripojte Raspberry Pi Zero k rádiu XBee
Ako je znázornené na obrázku, pripojte kolík Pi GPIO 1 (3,3 V) k kolíku XBee 1. Pripojte kolík Pi GPIO 6 (Gnd) k kolíku XBee 10 a kolík Pi GPIO 8 (TX) k kolíku 3 XBee (Din). Môžete tiež použiť oddeľovaciu dosku XBee, ktorá bude vyžadovať pripojenie kolíka Pi GPIO 2 (5v) k kolíku 5v na oddeľovacej doske
Odporúča:
Ako sťahovať kód MicroPython do XBee 3: 18 krokov (s obrázkami)
Ako sťahovať kód MicroPython do XBee 3: MicroPython je programovací jazyk inšpirovaný jazykom Python 3.0, ktorý funguje na mikrokontroléroch, ako je napríklad XBee 3. MicroPython môže pomôcť znížiť množstvo dodávok a celkovú objemnosť vášho projektu a výrazne uľahčiť prácu. . Avšak faulujem