Cuprins:

Transmițător RC Raspberry Pi + Xbee: 5 pași
Transmițător RC Raspberry Pi + Xbee: 5 pași

Video: Transmițător RC Raspberry Pi + Xbee: 5 pași

Video: Transmițător RC Raspberry Pi + Xbee: 5 pași
Video: Transmițător si receptor wireless 2024, Iulie
Anonim
Transmițător RC Raspberry Pi + Xbee
Transmițător RC Raspberry Pi + Xbee

Acest instructiv vă va arăta ce am făcut pentru a-mi crea propriul transmițător Raspberry Pi Zero + Xbee RC

Pasul 1: Raspberry PI și Xbee RC Transmitter

Pasul 2: Configurați Raspberry Pi UART

Buna!

Raspberry Pi (toate variantele) sunt extrem de versatile și sunt acum piatra de temelie a unui ecosistem de multe suplimente ușor de lipit care fac aceste dispozitive cu adevărat la îndemână. Din păcate, singurul lucru care lipsește Raspberry Pi (în prezent) este o placă de breakout sau o interfață GPIO la cheie pentru radiourile XBee (ZigBee). Dispozitivele XBee sunt o modalitate excelentă de a comunica între toate tipurile de dispozitive fără o mulțime de protocoale sau formate de date în dicing și feliere și facilitează integrarea dispozitivelor USB și trimiterea datelor către alte dispozitive la distanță. Pentru început, începeți cu orice versiune a Raspberry Pi. În acest Instructable am folosit un Raspberry Pi zero și am configurat consola serială pentru a elibera UART folosind acest Instructable.

Pasul 3: Scrieți un script Python pentru a citi valorile controlerului de joc

Acest bit de cod Python reacționează la evenimentele generate de controlerul jocului și transmite valoarea intrării pe controlul care a generat evenimentul. Acest cod va trimite date la fel de rapid ca rata de transmisie setată pe radiourile XBee. În acest exemplu, radiourile sunt setate la 57600, dar ar putea fi setate la cea mai mare rată de baud. Controlerul de joc este un controler de joc USB Logitech. Codul folosit este mai jos:

import pygame

import serial

sOut = ""

ser = serial. Serial {

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

}

pygame.init ()

făcut = Fals

în timp ce ați terminat == false:

joystick = pygame.joystick.joystick (0)

joystick.init ()

#PROCESAREA EVENIMENTELOR

pentru eveniment în pygame.event.get ():

dacă event.type == pygame. JOYAXISMOTION:

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

print (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

dacă event.type == pygame. JOYHATMOTION:

sOut = "Hat: + str (event.hat) +"; Valoare: "+ str (event.value)

print (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

dacă event.type == pygame. JOYBUTTONDOWN:

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

print (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

if event.button == 8:

print („Renunțare”)

făcut = Adevărat

dacă event.type == pygame. JOYBUTTONUP:

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

print (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

ser.close ()

pygame.quit ()

Pasul 4: Concluzie

Construcția finală a acestuia folosește o baterie de telefon auxiliar pentru a alimenta Raspberry Pi, care alimentează controlerul de joc XBee și Logitech. Într-un proiect viitor, voi adăuga un capac din plastic format sub vid, care va cuprinde Raspberry PI Zero, XBee Radio și sursa de alimentare, toate atașate controlerului de joc într-un pachet frumos și îngrijit. Această construcție de transmițător RC face foarte ușor să trimiteți date de control la aproape orice. În următoarea mea versiune voi trimite datele către un robot hexapod pe care l-am salvat din Goodwill. Sper că veți găsi acest lucru de ajutor. Happy Building!

Pasul 5: conectați Raspberry Pi Zero la XBee Radio

Conectați Raspberry Pi Zero la XBee Radio
Conectați Raspberry Pi Zero la XBee Radio

Așa cum se arată în diagramă, conectați pinul GPIO Pi 1 (3,3v) la pinul XBee 1. Conectați pinul GPIO Pi 6 (Gnd) la pinul 10 XBee și Pinul GPIO Pi 8 (TX) la pinul 3 XBee (Din). De asemenea, puteți utiliza o placă de separare XBee care vă va cere să conectați pinul GPIO Pi 2 (5v) la pinul de 5v de pe placa de rupere

Recomandat: