Sommario:

Trasmettitore Raspberry Pi + Xbee RC: 5 passaggi
Trasmettitore Raspberry Pi + Xbee RC: 5 passaggi

Video: Trasmettitore Raspberry Pi + Xbee RC: 5 passaggi

Video: Trasmettitore Raspberry Pi + Xbee RC: 5 passaggi
Video: Building a Programmable Robotics Controller With XBee, Arduino, 3D Printing and PCBs Part 1 2024, Luglio
Anonim
Trasmettitore Raspberry Pi + Xbee RC
Trasmettitore Raspberry Pi + Xbee RC

Questa istruzione ti mostrerà cosa ho fatto per creare il mio trasmettitore Raspberry Pi Zero + Xbee RC

Passaggio 1: trasmettitore Raspberry PI e Xbee RC

Passaggio 2: configura l'UART Raspberry Pi

Ehilà!

I Raspberry Pi (tutte le varianti) sono estremamente versatili e sono ora la pietra angolare di un ecosistema di molti componenti aggiuntivi facili da saldare che rendono questi dispositivi DAVVERO pratici. Sfortunatamente l'unica cosa che manca al Raspberry Pi (attualmente) è una breakout board o un'interfaccia GPIO chiavi in mano per le radio XBee (ZigBee). I dispositivi XBee sono un ottimo modo per comunicare tra tutti i tipi di dispositivi senza molti protocolli o formati di dati di dicing e slicing e semplificano l'integrazione dei dispositivi USB e l'invio dei loro dati ad altri dispositivi remoti. Per iniziare, inizia con qualsiasi versione del Raspberry Pi. In questo Instructable ho usato uno zero Raspberry Pi e ho configurato la console seriale per liberare l'UART usando questo Instructable.

Passaggio 3: scrivere uno script Python per leggere i valori del controller di gioco

Questo bit di codice Python reagisce agli eventi generati dal controller di gioco e trasmette il valore dell'input sul controllo che ha generato l'evento. Questo codice invierà i dati alla velocità di trasmissione impostata sulle radio XBee. In questo esempio le radio sono impostate su 57600 ma potrebbero essere impostate sulla loro velocità di trasmissione più alta. Il controller di gioco è un controller di gioco USB Logitech. Il codice utilizzato è il seguente:

importa pygame

importazione seriale

sOut=""

ser=seriale. Seriale{

port='/dev/ttyAMA0', baudrate=57600, parità=seriale. PARITY_NONE, stopbits=serial. STOPBITS_ONE, bytesize=serial. EIGHTBITS, timeout=1

}

pygame.init()

done=Falso

mentre fatto==falso:

joystick=pygame.joystick.joystick(0)

joystick.init()

#ELABORAZIONE EVENTO

per evento in pygame.event.get():

if event.type==pygame. JOYAXISMOTION:

sOut="Asse:" + str(evento.asse) + ";Valore:" + str(evento.valore)

stampa(esci)

ser.write(sOut)

ser.flush()

sOut=""

if event.type==pygame. JOYHATMOTION:

sOut="Cappello: + str(evento.cappello) + ";Valore:" + str(evento.valore)

stampa(esci)

ser.write(sOut)

ser.flush()

sOut=""

if event.type==pygame. JOYBUTTONDOWN:

sOut="Button Down:" + str(event.button)

stampa(esci)

ser.write(sOut)

ser.flush()

sOut=""

if event.button==8:

print("Uscire")

done=Vero

if event.type==pygame. JOYBUTTONUP:

sOut="Button Up:" + str(event.button)

stampa(esci)

ser.write(sOut)

ser.flush()

sOut=""

ser.close()

pygame.quit()

Passaggio 4: conclusione

La build finale di questo utilizza una batteria del telefono ausiliaria per alimentare il Raspberry Pi, che alimenta il controller di gioco XBee e Logitech. In un progetto futuro aggiungerò una copertura di plastica formata sottovuoto che racchiuderà il Raspberry PI Zero, la radio XBee e l'alimentatore, tutti collegati al controller di gioco in un unico bel pacchetto. Questo trasmettitore RC rende molto facile inviare dati di controllo a qualsiasi cosa. Nella mia prossima build invierò i dati a un robot esapode che ho salvato da Goodwill. Spero che tu possa trovare utile questo istruibile. Costruzione felice!

Passaggio 5: collegare il Raspberry Pi Zero alla radio XBee

Collega il Raspberry Pi Zero alla radio XBee
Collega il Raspberry Pi Zero alla radio XBee

Come mostrato nello schema, collegare il pin GPIO Pi 1 (3.3v) al pin 1 XBee. Collegare il pin 6 GPIO Pi (Gnd) al pin 10 XBee e il pin 8 Pi GPIO (TX) al pin 3 XBee (Din). Puoi anche utilizzare una scheda breakout XBee che richiederà di collegare il pin 2 Pi GPIO (5v) al pin 5v sulla scheda breakout

Consigliato: