INHOUDSOPGAWE:
- Stap 1: Framboos PI en Xbee RC -sender
- Stap 2: Stel die Raspberry Pi UART op
- Stap 3: Skryf 'n Python -script om die waardes van die spelbeheerder te lees
- Stap 4: Gevolgtrekking
- Stap 5: Dra die Raspberry Pi Zero na die XBee Radio
Video: Framboos Pi + Xbee RC -sender: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Hierdie instruksies sal u wys wat ek gedoen het om my eie Raspberry Pi Zero + Xbee RC -sender te skep
Stap 1: Framboos PI en Xbee RC -sender
Stap 2: Stel die Raspberry Pi UART op
Haai daar!
Die Raspberry Pi (alle variasies) is uiters veelsydig en is nou die hoeksteen van 'n ekosisteem van baie maklik om te soldeer-byvoegings wat hierdie toestelle regtig handig maak. Ongelukkig is die een ding wat Raspberry Pi ontbreek (tans) 'n uitbreekbord of 'n volledige GPIO -koppelvlak vir XBee (ZigBee) radio's. XBee -toestelle is 'n uitstekende manier om tussen allerhande toestelle te kommunikeer sonder om baie protokolle of dataformate te sny en te sny, en dit is baie maklik om USB -toestelle te integreer en hul data na ander afgeleë toestelle te stuur. Om mee te begin, begin met enige weergawe van die Raspberry Pi. In hierdie Instructable het ek 'n Raspberry Pi zero gebruik en die seriële konsole opgestel om die UART met hierdie Instructable vry te stel.
Stap 3: Skryf 'n Python -script om die waardes van die spelbeheerder te lees
Hierdie stukkie Python -kode reageer op die gebeure wat deur die spelbeheerder opgewek word en dra die waarde van die insette oor die beheer wat die gebeurtenis veroorsaak het, oor. Hierdie kode stuur data so vinnig as die baud -tempo wat op die XBee -radio's gestel is. In hierdie voorbeeld is die radio's ingestel op 57600, maar kan op hul hoogste baud -tempo ingestel word. Die spelbeheerder is 'n Logitech USB -spelbeheerder. Die gebruikte kode is hieronder:
voer pigame in
invoer reeks
sOut = ""
ser = serial. Serial {
poort = '/dev/ttyAMA0', baudrate = 57600, pariteit = reeks. PARITY_NONE, stopbits = reeks. STOPBITS_ONE, bytesize = serial. EIGHTBITS, time -out = 1
}
pygame.init ()
gedoen = Onwaar
terwyl gedoen == vals:
joystick = pygame.joystick.joystick (0)
joystick.init ()
#GELEENTHEIDSVERWERKING
vir gebeurtenis in pygame.event.get ():
as event.type == pygame. JOYAXISMOTION:
sOut = "As:" + str (event.axis) + "; Waarde:" + str (event.value)
druk (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
as event.type == pygame. JOYHATMOTION:
sOut = "Hoed: + str (event.hat) +"; Waarde: " + str (event.value)
druk (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
as event.type == pygame. JOYBUTTONDOWN:
sOut = "Knoppie af:" + str (event.button)
druk (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
as event.button == 8:
druk ("ophou")
gedoen = Waar
as event.type == pygame. JOYBUTTONUP:
sOut = "Button Up:" + str (event.button)
druk (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
ser.close ()
pygame.quit ()
Stap 4: Gevolgtrekking
Die finale bou hiervan gebruik 'n hulpbattery vir die Raspberry Pi, wat die XBee- en Logitech -spelbeheerder aandryf. In 'n toekomstige projek sal ek 'n vakuumvormige plastiekdeksel byvoeg wat die Raspberry PI Zero, XBee Radio en die kragtoevoer omhul, alles in 'n mooi, netjiese bondel. Hierdie RC -sender -opset maak dit baie maklik om beheerdata na omtrent alles te stuur. In my volgende weergawe stuur ek die data na 'n hexapod -robot wat ek van welwillendheid gered het. Hoop u vind hierdie instruksies nuttig. Gelukkige gebou!
Stap 5: Dra die Raspberry Pi Zero na die XBee Radio
Soos in die diagram getoon, koppel die Pi GPIO -pen 1 (3.3v) aan die XBee -pen 1. Koppel die Pi GPIO -pen 6 (Gnd) aan die XBee -pen 10 en die Pi GPIO -pen 8 (TX) aan die XBee -pen 3 (Din). U kan ook 'n XBee -uitbreekbord gebruik wat vereis dat u die Pi GPIO -pen 2 (5v) aan die 5v -pen op die uitbreekbord koppel
Aanbeveel:
Hoe om MicroPython -kode na XBee 3: 18 -stappe (met foto's) af te laai
Hoe om MicroPython -kode na XBee 3 af te laai: MicroPython is 'n programmeertaal wat geïnspireer is deur Python 3.0, wat op mikrobeheerders werk, soos die XBee 3. MicroPython kan help om die hoeveelheid voorraad en algehele omvang van u projek te verminder en dinge baie makliker te maak . Ek hou egter van