Innehållsförteckning:

Raspberry Pi + Xbee RC -sändare: 5 steg
Raspberry Pi + Xbee RC -sändare: 5 steg

Video: Raspberry Pi + Xbee RC -sändare: 5 steg

Video: Raspberry Pi + Xbee RC -sändare: 5 steg
Video: Custom Xbee remote with Raspberry Pi 2024, Juli
Anonim
Raspberry Pi + Xbee RC -sändare
Raspberry Pi + Xbee RC -sändare

Denna instruerbara visar dig vad jag gjorde för att skapa min egen Raspberry Pi Zero + Xbee RC -sändare

Steg 1: Raspberry PI och Xbee RC -sändare

Steg 2: Konfigurera Raspberry Pi UART

Hallå där!

Raspberry Pi (alla varianter) är extremt mångsidiga och är nu hörnstenen i ett ekosystem med många lättlödda tillägg som gör dessa enheter RIKTIGT praktiska. Tyvärr saknas den enda sak som Raspberry Pi (för närvarande) är ett breakout -kort eller nyckelfärdigt GPIO -gränssnitt för XBee (ZigBee) -radioer. XBee -enheter är ett utmärkt sätt att kommunicera mellan alla typer av enheter utan mycket protokoll eller dataformat i tärningar och skivor och gör det väldigt enkelt att integrera USB -enheter och skicka sina data till andra fjärrenheter. Börja med vilken version av Raspberry Pi som helst. I denna instruktionsbok använde jag en Raspberry Pi zero och konfigurerade seriekonsolen för att frigöra UART med denna instruerbara.

Steg 3: Skriv ett Python -skript för att läsa värden för spelkontroller

Denna bit av Python -kod reagerar på de händelser som spelkontrollen höjer och överför värdet på ingången på kontrollen som höjde händelsen. Denna kod skickar data lika snabbt som den överföringshastighet som ställts in på XBee -radioapparaterna. I detta exempel är radioapparaterna inställda på 57600 men kan ställas in på deras högsta överföringshastighet. Spelkontrollen är en Logitech USB -spelkontroll. Koden som används är nedan:

importera pygame

importera 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 = falskt

medan det är gjort == false:

joystick = pygame.joystick.joystick (0)

joystick.init ()

#HÄNDELSEBEHANDLING

för händelse i pygame.event.get ():

om event.type == pygame. JOYAXISMOTION:

sOut = "Axel:" + str (event.axis) + "; Värde:" + str (event.value)

skriva ut (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

om event.type == pygame. JOYHATMOTION:

sOut = "Hatt: + str (event.hat) +"; Värde: " + str (event.value)

skriva ut (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

om event.type == pygame. JOYBUTTONDOWN:

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

skriva ut (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

if event.button == 8:

print ("Avslutar")

gjort = Sant

om event.type == pygame. JOYBUTTONUP:

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

skriva ut (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

ser.close ()

pygame.quit ()

Steg 4: Slutsats

Den slutliga byggnaden av detta använder ett extra telefonbatteri för att driva Raspberry Pi, som driver XBee och Logitech -spelkontrollen. I ett framtida projekt kommer jag att lägga till ett vakuumformat plasthölje som kommer att omsluta Raspberry PI Zero, XBee Radio och strömförsörjning, alla anslutna till spelkontrollen i en snygg, snygg bunt. Denna RC -sändarbyggnad gör det mycket enkelt att skicka kontrolldata till nästan vad som helst. I mitt nästa bygge kommer jag att skicka data till en hexapodrobot som jag räddade från Goodwill. Hoppas att du tycker att detta kan vara till hjälp. Glad byggnad!

Steg 5: Koppla Raspberry Pi Zero till XBee -radion

Koppla Raspberry Pi Zero till XBee -radion
Koppla Raspberry Pi Zero till XBee -radion

Som visas i diagrammet, anslut Pi GPIO -stift 1 (3.3v) till XBee -stift 1. Anslut Pi GPIO -stift 6 (Gnd) till XBee -stift 10 och Pi GPIO -stift 8 (TX) till XBee -stift 3 (Din). Du kan också använda ett XBee -brytkort som kräver att du ansluter Pi GPIO -stift 2 (5v) till 5v -stiftet på brytkortet

Rekommenderad: