Innehållsförteckning:
- Steg 1: Raspberry PI och Xbee RC -sändare
- Steg 2: Konfigurera Raspberry Pi UART
- Steg 3: Skriv ett Python -skript för att läsa värden för spelkontroller
- Steg 4: Slutsats
- Steg 5: Koppla Raspberry Pi Zero till XBee -radion
Video: Raspberry Pi + Xbee RC -sändare: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
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
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:
Hur man laddar ner MicroPython -kod till XBee 3: 18 steg (med bilder)
Hur man laddar ner MicroPython -kod till XBee 3: MicroPython är ett programmeringsspråk inspirerat av Python 3.0 som fungerar på mikrokontroller, till exempel XBee 3. MicroPython kan hjälpa till att minska mängden leveranser och övergripande bulk i ditt projekt och göra saker mycket enklare . Jag tycker dock