Spisu treści:

Raspberry Pi + nadajnik Xbee RC: 5 kroków
Raspberry Pi + nadajnik Xbee RC: 5 kroków

Wideo: Raspberry Pi + nadajnik Xbee RC: 5 kroków

Wideo: Raspberry Pi + nadajnik Xbee RC: 5 kroków
Wideo: Moduł radiowy Xbee we współpracy z Arduino (AVR) 2024, Listopad
Anonim
Raspberry Pi + nadajnik Xbee RC
Raspberry Pi + nadajnik Xbee RC

Ta instrukcja pokaże Ci, co zrobiłem, aby stworzyć własny nadajnik Raspberry Pi Zero + Xbee RC

Krok 1: Nadajnik Raspberry PI i Xbee RC

Krok 2: Skonfiguruj Raspberry Pi UART

No hej!

Raspberry Pi (wszystkie wersje) są niezwykle wszechstronne i są teraz podstawą ekosystemu wielu łatwych do lutowania dodatków, dzięki którym te urządzenia są NAPRAWDĘ poręczne. Niestety jedyną rzeczą, której brakuje Raspberry Pi (obecnie) jest tabliczka zaciskowa lub gotowy interfejs GPIO dla radiotelefonów XBee (ZigBee). Urządzenia XBee to świetny sposób na komunikację między wszystkimi rodzajami urządzeń bez wielu protokołów krojenia i krojenia lub formatów danych oraz bardzo ułatwiają integrację urządzeń USB i wysyłanie ich danych do innych zdalnych urządzeń. Na początek zacznij od dowolnej wersji Raspberry Pi. W tym Instructable użyłem Raspberry Pi zero i skonfigurowałem konsolę szeregową, aby zwolnić UART za pomocą tego Instructable.

Krok 3: Napisz skrypt Pythona, aby odczytać wartości kontrolera gier

Ten fragment kodu Pythona reaguje na zdarzenia zgłoszone przez kontroler gier i przesyła wartość danych wejściowych do kontrolki, która zgłosiła zdarzenie. Ten kod wyśle dane tak szybko, jak szybkość transmisji ustawiona w radiotelefonach XBee. W tym przykładzie radia są ustawione na 57600, ale można je ustawić na najwyższą szybkość transmisji. Kontroler gier to kontroler gier Logitech USB. Użyty kod znajduje się poniżej:

importuj pygame

importuj serial

sOut=""

ser=serial. Serial{

port='/dev/ttyAMA0', szybkość transmisji=57600, parzystość=serial. PARITY_NONE, stopbits=serial. STOPBITS_ONE, bytesize=serial. OSIEMBIUTÓW, limit czasu = 1

}

pygame.init()

gotowe=Fałsz

gdy gotowe==false:

joystick=pygame.joystick.joystick(0)

joystick.init()

#PRZETWARZANIE ZDARZEŃ

dla zdarzenia w pygame.event.get():

jeśli event.type==pygame. JOYAXISMOTION:

sOut="Axis:" + str(event.axis) + ";Value:" + str(event.value)

drukuj(sOut)

ser.write(sOut)

ser.flush()

sOut=""

jeśli event.type==pygame. JOYHATMOTION:

sOut="Kapelusz: + str(zdarzenie.kapelusz) + ";Wartość:" + str(zdarzenie.wartość)

drukuj(sOut)

ser.write(sOut)

ser.flush()

sOut=""

jeśli event.type==pygame. JOYBUTTONDOWN:

sOut="Przycisk w dół:" + str(event.button)

drukuj(sOut)

ser.write(sOut)

ser.flush()

sOut=""

jeśli event.button==8:

print("Zamykanie")

gotowe=prawda

jeśli event.type==pygame. JOYBUTTONUP:

sOut="Przycisk w górę:" + str(event.button)

drukuj(sOut)

ser.write(sOut)

ser.flush()

sOut=""

ser.zamknij()

pygame.zakończ()

Krok 4: Wniosek

Ostateczna wersja tego wykorzystuje dodatkową baterię telefonu do zasilania Raspberry Pi, która zasila kontroler gier XBee i Logitech. W przyszłym projekcie dodam plastikową osłonę formowaną próżniowo, która pomieści Raspberry PI Zero, XBee Radio i zasilacz, wszystko połączone z kontrolerem gier w jednym ładnym, zgrabnym pakiecie. Ta konstrukcja nadajnika RC bardzo ułatwia wysyłanie danych kontrolnych do niemal wszystkiego. W mojej następnej kompilacji wyślę dane do sześcionógowego robota, którego uratowałem z Goodwill. Mam nadzieję, że ta instrukcja okaże się pomocna. Szczęśliwego budynku!

Krok 5: Podłącz Raspberry Pi Zero do radia XBee

Podłącz Raspberry Pi Zero do radia XBee
Podłącz Raspberry Pi Zero do radia XBee

Jak pokazano na schemacie, połącz pin 1 Pi GPIO (3.3v) z pinem 1 XBee.. Możesz również użyć tabliczki zaciskowej XBee, która będzie wymagała podłączenia pinu 2 Pi GPIO (5v) do pinu 5v na tabliczce zaciskowej

Zalecana: