Talaan ng mga Nilalaman:
- Hakbang 1: Raspberry PI at Xbee RC Transmitter
- Hakbang 2: I-configure ang Raspberry Pi UART
- Hakbang 3: Sumulat ng isang Python Script upang Basahin ang Mga Halaga ng Controller ng Laro
- Hakbang 4: Konklusyon
- Hakbang 5: I-wire ang Raspberry Pi Zero sa XBee Radio
Video: Raspberry Pi + Xbee RC Transmitter: 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Ituturo sa iyo ng itinuturo na ito kung ano ang ginawa ko upang lumikha ng sarili kong Raspberry Pi Zero + Xbee RC transmitter
Hakbang 1: Raspberry PI at Xbee RC Transmitter
Hakbang 2: I-configure ang Raspberry Pi UART
Hoy, ikaw!
Ang Raspberry Pi (lahat ng mga pagkakaiba-iba) ay lubos na maraming nalalaman at ngayon ay ang pundasyon ng isang ecosystem ng maraming madaling maghinang na mga add-on na talagang madaling gamiting mga aparato. Sa kasamaang palad ang isang bagay na nawawala ang Raspberry Pi (kasalukuyang) ay isang breakout board o turnkey GPIO interface para sa mga radio ng XBee (ZigBee). Ang mga XBee device ay isang mahusay na paraan upang makipag-ugnay sa pagitan ng lahat ng mga uri ng mga aparato nang walang maraming mga dicing at slicing na mga protocol o mga format ng data at ginagawang napakadali upang isama ang mga USB device at ipadala ang kanilang data sa iba pang mga remote na aparato. Upang magsimula, magsimula sa anumang bersyon ng Raspberry Pi. Sa Instructable na ito gumamit ako ng isang Raspberry Pi zero, at na-configure ang serial console upang mapalaya ang UART gamit ang Instructable na ito.
Hakbang 3: Sumulat ng isang Python Script upang Basahin ang Mga Halaga ng Controller ng Laro
Ang bit ng code ng Python na ito ay tumutugon sa mga kaganapan na itinaas ng game controller at inililipat ang halaga ng input sa kontrol na tumaas ang kaganapan. Ang code na ito ay magpapadala ng data nang mas mabilis hangga't ang rate ng baud na nakatakda sa mga radio ng XBee. Sa halimbawang ito ang mga radio ay nakatakda sa 57600 ngunit maaaring itakda sa kanilang pinakamataas na rate ng baud. Ang game controller ay isang Logitech USB game controller. Nasa ibaba ang ginamit na code:
i-import ang pygame
mag-import ng serial
sOut = ""
ser = serial. Serial {
port = '/ dev / ttyAMA0', baudrate = 57600, parity = serial. PARITY_NONE, stopbits = serial. STOPBITS_ONE, bytesize = serial. EIGHTBITS, timeout = 1
}
pygame.init ()
tapos = Mali
habang tapos na == maling:
joystick = pygame.joystick.joystick (0)
joystick.init ()
#EVENT PROCESSING
para sa kaganapan sa pygame.event.get ():
kung event.type == pygame. JOYAXISMOTION:
sOut = "Axis:" + str (event.axis) + "; Halaga:" + str (event.value)
print (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
kung event.type == pygame. JOYHATMOTION:
sOut = "Hat: + str (event.hat) +"; Halaga: "+ str (event.value)
print (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
kung event.type == pygame. JOYBUTTONDOWN:
sOut = "Down Button:" + str (event.button)
print (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
kung event.button == 8:
print ("Quitting")
tapos = Totoo
kung event.type == pygame. JOYBUTTONUP:
sOut = "Button Up:" + str (event.button)
print (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
ser.close ()
pygame.quit ()
Hakbang 4: Konklusyon
Ang pangwakas na pagbuo nito ay gumagamit ng isang pantulong na baterya ng telepono upang mapagana ang Raspberry Pi, na nagpapagana sa XBee at Logitech game controller. Sa isang hinaharap na proyekto ay magdaragdag ako ng isang vacuum na nabuo na plastik na takip na isasara ang Raspberry PI Zero, XBee Radio, at supply ng kuryente, lahat ay nakakabit sa game controller sa isang maganda, maayos na bundle. Ginagawa nitong RC transmitter build na napakadali upang magpadala ng data ng kontrol sa halos anumang bagay. Sa aking susunod na pagbuo ay magpapadala ako ng data sa isang hexapod robot na aking nailigtas mula sa Goodwill. Inaasahan kong kapaki-pakinabang ang pagtuturo na ito. Maligayang Gusali!
Hakbang 5: I-wire ang Raspberry Pi Zero sa XBee Radio
Tulad ng ipinakita sa diagram, ikonekta ang Pi GPIO pin 1 (3.3v) sa XBee pin 1. Ikonekta ang Pi GPIO pin 6 (Gnd) sa XBee pin 10, at Pi GPIO Pin 8 (TX) sa XBee pin 3 (Din). Maaari mo ring gamitin ang isang breakout board ng XBee na mangangailangan sa iyo upang ikonekta ang Pi GPIO pin 2 (5v) sa 5v pin sa breakout board
Inirerekumendang:
Paano Mag-download ng MicroPython Code Sa XBee 3: 18 Mga Hakbang (na may Mga Larawan)
Paano Mag-download ng MicroPython Code Sa XBee 3: Ang MicroPython ay isang wika ng programa na inspirasyon ng Python 3.0 na gumagana sa mga microcontroller, tulad ng XBee 3. Maaaring makatulong ang MicroPython na bawasan ang dami ng mga supply at pangkalahatang dami ng iyong proyekto, at gawing mas madali ang mga bagay . Gayunpaman, ako ay