Taula de continguts:

Transmissor RC Raspberry Pi + Xbee: 5 passos
Transmissor RC Raspberry Pi + Xbee: 5 passos

Vídeo: Transmissor RC Raspberry Pi + Xbee: 5 passos

Vídeo: Transmissor RC Raspberry Pi + Xbee: 5 passos
Vídeo: Raspberry Pi Pico W with LoRa SX1278 for Long Range Sensor Monitoring, Raspberry Pi Pico LoRa 2024, Juliol
Anonim
Transmissor RC Raspberry Pi + Xbee
Transmissor RC Raspberry Pi + Xbee

Aquest instructiu us mostrarà què he fet per crear el meu propi transmissor RC Raspberry Pi Zero + Xbee

Pas 1: Raspberry PI i transmissor RC Xbee

Pas 2: configureu el Raspberry Pi UART

Hola!

Els Raspberry Pi (totes les variants) són extremadament versàtils i ara són la pedra angular d’un ecosistema de molts complements fàcils de soldar que fan que aquests dispositius siguin molt útils. Malauradament, l’únic que falta a Raspberry Pi (actualment) és una placa GPO o una interfície GPIO clau en mà per a ràdios XBee (ZigBee). Els dispositius XBee són una manera excel·lent de comunicar-se entre tot tipus de dispositius sense necessitat de protoques ni formats de dades, i faciliten la integració de dispositius USB i l’enviament de dades a altres dispositius remots. Per començar, comenceu amb qualsevol versió del Raspberry Pi. En aquest Instructable he utilitzat un Raspberry Pi zero i he configurat la consola sèrie per alliberar la UART mitjançant aquest Instructable.

Pas 3: escriviu un script Python per llegir els valors del controlador de jocs

Aquest bit de codi Python reacciona als esdeveniments generats pel controlador del joc i transmet el valor de l'entrada al control que ha generat l'esdeveniment. Aquest codi enviarà dades tan ràpid com la velocitat en bauds establerta a les ràdios XBee. En aquest exemple, les ràdios es defineixen a 57600, però es poden establir a la seva velocitat de transmissió més alta. El controlador del joc és un controlador de jocs Logitech USB. El codi utilitzat es mostra a continuació:

importa Pygame

importació de sèries

sOut = ""

ser = serial. Serial {

port = '/ dev / ttyAMA0', velocitat de transmissió = 57600, paritat = serial. PARITY_NONE, stopbits = serial. STOPBITS_ONE, bytesize = serial. EIGHTBITS, temps d'espera = 1

}

pygame.init ()

fet = Fals

mentre està fet == fals:

joystick = pygame.joystick.joystick (0)

joystick.init ()

PROCESSAMENT DE # EVENTS

per a un esdeveniment a pygame.event.get ():

si event.type == pygame. JOYAXISMOTION:

sOut = "Eix:" + str (event.axis) + "; Valor:" + str (event.value)

imprimir (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

si event.type == pygame. JOYHATMOTION:

sOut = "Barret: + str (event.hat) +"; Valor: "+ str (event.value)

imprimir (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

si event.type == pygame. JOYBUTTONDOWN:

sOut = "Botó avall": + str (event.button)

imprimir (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

si event.button == 8:

imprimir ("Surt")

fet = cert

si event.type == pygame. JOYBUTTONUP:

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

imprimir (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

ser.close ()

pygame.quit ()

Pas 4: Conclusió

La versió final d’aquest model utilitza una bateria de telèfon auxiliar per alimentar el Raspberry Pi, que alimenta el controlador de jocs XBee i Logitech. En un futur projecte afegiré una tapa de plàstic formada al buit que inclourà el Raspberry PI Zero, la XBee Radio i la font d'alimentació, tot connectat al controlador del joc en un bonic paquet. Aquesta construcció de transmissor RC fa que sigui molt fàcil enviar dades de control a gairebé qualsevol cosa. En la meva propera versió enviaré les dades a un robot hexàpode que vaig rescatar de Goodwill. Espero que us sigui útil. Feliç edifici!

Pas 5: connecteu el Raspberry Pi Zero a la XBee Radio

Connecteu el Raspberry Pi Zero a la XBee Radio
Connecteu el Raspberry Pi Zero a la XBee Radio

Com es mostra al diagrama, connecteu el pin Pi GPIO 1 (3.3v) al pin XBee 1. Connecteu el pin Pi GPIO 6 (Gnd) al pin XBee 10 i el pin GPIO Pi 8 (TX) al pin XBee 3 (Din). També podeu utilitzar un tauler de ruptura XBee que us obligarà a connectar el pin 2 GPIO Pi (5v) al pin de 5v del tauler de ruptura.

Recomanat: