Innholdsfortegnelse:

Raspberry Pi + Xbee RC -sender: 5 trinn
Raspberry Pi + Xbee RC -sender: 5 trinn

Video: Raspberry Pi + Xbee RC -sender: 5 trinn

Video: Raspberry Pi + Xbee RC -sender: 5 trinn
Video: How to use the RF/ZigBee to Communicate Between the Raspberry Pi and Smart Devices 2024, Juli
Anonim
Raspberry Pi + Xbee RC -sender
Raspberry Pi + Xbee RC -sender

Denne instruksen vil vise deg hva jeg gjorde for å lage min egen Raspberry Pi Zero + Xbee RC -sender

Trinn 1: Raspberry PI og Xbee RC -sender

Trinn 2: Konfigurer Raspberry Pi UART

Hei der!

Raspberry Pi (alle varianter) er ekstremt allsidig og er nå hjørnesteinen i et økosystem av mange tilleggsprogrammer som er enkle å lodde som gjør disse enhetene VIRKELIG hendige. Dessverre er det én ting som Raspberry Pi mangler (for øyeblikket) et utbruddstavle eller nøkkelferdig GPIO -grensesnitt for XBee (ZigBee) radioer. XBee -enheter er en fin måte å kommunisere mellom alle typer enheter uten mye protokoller eller dataformater på, og gjør det veldig enkelt å integrere USB -enheter og sende dataene sine til andre eksterne enheter. Start med en hvilken som helst versjon av Raspberry Pi. I denne instruksjonsboken brukte jeg en Raspberry Pi null, og konfigurerte seriekonsollen til å frigjøre UART ved hjelp av denne instruerbare.

Trinn 3: Skriv et Python -script for å lese verdier for spillkontroller

Denne biten av Python -kode reagerer på hendelsene som spillkontrolleren har reist og overfører verdien av inngangen på kontrollen som reiste hendelsen. Denne koden sender data så raskt som overføringshastigheten som er angitt på XBee -radioene. I dette eksemplet er radioene satt til 57600, men kan settes til den høyeste overføringshastigheten. Spillkontrolleren er en Logitech USB -spillkontroller. Koden som brukes er nedenfor:

importer pygame

importer serie

sOut = ""

ser = serial. Serial {

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

}

pygame.init ()

gjort = Falske

mens det er gjort == false:

joystick = pygame.joystick.joystick (0)

joystick.init ()

#EVENT BEHANDLING

for hendelse i pygame.event.get ():

hvis event.type == pygame. JOYAXISMOTION:

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

print (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

hvis event.type == pygame. JOYHATMOTION:

sOut = "Hatt: + str (event.hat) +"; Verdi: " + str (event.value)

print (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

hvis event.type == pygame. JOYBUTTONDOWN:

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

print (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

hvis event.button == 8:

print ("Avslutter")

gjort = Sant

hvis event.type == pygame. JOYBUTTONUP:

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

print (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

ser.close ()

pygame.quit ()

Trinn 4: Konklusjon

Den siste bygningen av dette bruker et ekstra telefonbatteri for å drive Raspberry Pi, som driver XBee og Logitech spillkontroller. I et fremtidig prosjekt vil jeg legge til et vakuumformet plastdeksel som vil omslutte Raspberry PI Zero, XBee Radio og strømforsyning, alt festet til spillkontrolleren i en fin, pen bunt. Denne RC -senderbygningen gjør det veldig enkelt å sende kontrolldata til omtrent alt. I min neste build vil jeg sende dataene til en hexapod -robot som jeg reddet fra Goodwill. Håper du synes dette kan være nyttig. Lykke til med bygningen!

Trinn 5: Koble Raspberry Pi Zero til XBee -radioen

Koble Raspberry Pi Zero til XBee -radioen
Koble Raspberry Pi Zero til XBee -radioen

Som vist i diagrammet, kobler du Pi GPIO -pinne 1 (3.3v) til XBee -pinne 1. Koble Pi GPIO -pinne 6 (Gnd) til XBee -pinne 10, og Pi GPIO -pinne 8 (TX) til XBee -pinne 3 (Din). Du kan også bruke et XBee breakout board som krever at du kobler Pi GPIO pin 2 (5v) til 5v pin på breakout board

Anbefalt: