Sadržaj:

Raspberry Pi + Xbee RC predajnik: 5 koraka
Raspberry Pi + Xbee RC predajnik: 5 koraka

Video: Raspberry Pi + Xbee RC predajnik: 5 koraka

Video: Raspberry Pi + Xbee RC predajnik: 5 koraka
Video: 433MHz 500mW High Power Transceiver Module w RS232TTL Interface - Orange 2024, Juli
Anonim
Raspberry Pi + Xbee RC predajnik
Raspberry Pi + Xbee RC predajnik

Ovo uputstvo će vam pokazati šta sam uradio da stvorim svoj vlastiti Raspberry Pi Zero + Xbee RC predajnik

Korak 1: Raspberry PI i Xbee RC predajnik

Korak 2: Konfigurirajte Raspberry Pi UART

Zdravo!

Raspberry Pi (sve varijacije) su izuzetno svestrani i sada su kamen temeljac ekosistema mnogih dodataka za jednostavno lemljenje koji ove uređaje čine ZDRAVO zgodnim. Nažalost, jedino što 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 odličan su način za komunikaciju između svih vrsta uređaja bez puno protokola ili kockanja protokola ili formata podataka i čine ga vrlo jednostavnom za 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 -u koristio sam Raspberry Pi zero i konfigurirao serijsku konzolu da oslobodi UART pomoću ovog Instructable -a.

Korak 3: Napišite Python skriptu za čitanje vrijednosti kontrolera igre

Ovaj dio Python koda reagira na događaje koje pokreće 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:

import pygame

uvoz serijske

sOut = ""

ser = serial. Serial {

port = '/dev/ttyAMA0', baudrate = 57600, paritet = serijski. PARITY_NONE, stopbits = serijski. STOPBITS_ONE, bytesize = serial. EIGHTBITS, timeout = 1

}

pygame.init ()

done = False

dok je gotovo == false:

joystick = pygame.joystick.joystick (0)

joystick.init ()

#EVENTNA OBRADA

za događaj u pygame.event.get ():

if event.type == pygame. JOYAXISMOTION:

sOut = "Osa:" + 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 = Tačno

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 jednom budućem projektu dodaću vakuumski oblikovani plastični omotač koji će obuhvatiti Raspberry PI Zero, XBee Radio i napajanje, sve spojeno na kontroler igre u jedan lep, uredan paket. Ova konstrukcija daljinskog upravljača čini vrlo lakim slanje kontrolnih podataka na gotovo sve. U sljedećoj verziji poslaću podatke heksapodnom robotu kojeg sam spasio iz dobre volje. Nadam se da će vam ovo uputstvo biti od pomoći. Srećna zgrada!

Korak 5: Priključite Raspberry Pi Zero na XBee radio

Priključite Raspberry Pi Zero na XBee radio
Priključite Raspberry Pi Zero na XBee radio

Kao što je prikazano na dijagramu, spojite Pi GPIO pin 1 (3.3v) na XBee pin 1. Priključite 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 pin 5v na razbojnoj ploči.

Preporučuje se: