Tabla de contenido:

Transmisor RC Raspberry Pi + Xbee: 5 pasos
Transmisor RC Raspberry Pi + Xbee: 5 pasos

Video: Transmisor RC Raspberry Pi + Xbee: 5 pasos

Video: Transmisor RC Raspberry Pi + Xbee: 5 pasos
Video: Highly Advanced RC Car controlled with Arduino Uno & XBee through Mobile APP [part 5] 2024, Noviembre
Anonim
Transmisor RC Raspberry Pi + Xbee
Transmisor RC Raspberry Pi + Xbee

Este instructivo le mostrará lo que hice para crear mi propio transmisor RC Raspberry Pi Zero + Xbee

Paso 1: Transmisor Raspberry PI y Xbee RC

Paso 2: configurar la UART de Raspberry Pi

¡Hola!

Las Raspberry Pi (todas las variaciones) son extremadamente versátiles y ahora son la piedra angular de un ecosistema de muchos complementos fáciles de soldar que hacen que estos dispositivos sean REALMENTE prácticos. Desafortunadamente, lo único que le falta a Raspberry Pi (actualmente) es una placa de conexión o una interfaz GPIO llave en mano para radios XBee (ZigBee). Los dispositivos XBee son una excelente manera de comunicarse entre todo tipo de dispositivos sin muchos protocolos o formatos de datos de corte y corte y facilitan la integración de dispositivos USB y el envío de sus datos a otros dispositivos remotos. Para comenzar, comience con cualquier versión de Raspberry Pi. En este Instructable utilicé un Raspberry Pi zero y configuré la consola en serie para liberar el UART usando este Instructable.

Paso 3: escriba una secuencia de comandos de Python para leer los valores del controlador del juego

Este bit de código Python reacciona a los eventos generados por el controlador del juego y transmite el valor de la entrada en el control que generó el evento. Este código enviará datos tan rápido como la velocidad en baudios establecida en las radios XBee. En este ejemplo, las radios están configuradas en 57600 pero podrían configurarse a su velocidad en baudios más alta. El controlador de juegos es un controlador de juegos USB Logitech. El código utilizado es el siguiente:

importar pygame

importar serial

sOut = ""

ser = serial. Serial {

puerto = '/ dev / ttyAMA0', velocidad en baudios = 57600, paridad = serial. PARITY_NONE, stopbits = serial. STOPBITS_ONE, tamaño de bytes = serial. EIGHTBITS, tiempo de espera = 1

}

pygame.init ()

hecho = falso

mientras está hecho == falso:

joystick = pygame.joystick.joystick (0)

joystick.init ()

# PROCESAMIENTO DE EVENTOS

para el evento en pygame.event.get ():

if event.type == pygame. JOYAXISMOTION:

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

imprimir (salir)

ser.write (sOut)

ser.flush ()

sOut = ""

if event.type == pygame. JOYHATMOTION:

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

imprimir (salir)

ser.write (sOut)

ser.flush ()

sOut = ""

si event.type == pygame. JOYBUTTONDOWN:

sOut = "Botón hacia abajo:" + str (event.button)

imprimir (salir)

ser.write (sOut)

ser.flush ()

sOut = ""

si event.button == 8:

print ("Saliendo")

hecho = Verdadero

si event.type == pygame. JOYBUTTONUP:

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

imprimir (salir)

ser.write (sOut)

ser.flush ()

sOut = ""

ser.close ()

pygame.quit ()

Paso 4: Conclusión

La versión final de esto utiliza una batería de teléfono auxiliar para alimentar la Raspberry Pi, que alimenta el controlador de juegos XBee y Logitech. En un proyecto futuro, agregaré una cubierta de plástico formada al vacío que incluirá la Raspberry PI Zero, XBee Radio y la fuente de alimentación, todos conectados al controlador del juego en un paquete agradable y ordenado. Esta construcción de transmisor RC hace que sea muy fácil enviar datos de control a casi cualquier cosa. En mi próxima compilación, enviaré los datos a un robot hexápodo que rescaté de Goodwill. Espero que encuentre útil este instructivo. ¡Feliz edificio!

Paso 5: Conecte la Raspberry Pi Zero a la radio XBee

Conecte la Raspberry Pi Zero a la radio XBee
Conecte la Raspberry Pi Zero a la radio XBee

Como se muestra en el diagrama, conecte el pin 1 de Pi GPIO (3.3v) al pin 1 de XBee. Conecte el pin 6 de Pi GPIO (Gnd) al pin 10 de XBee, y el pin 8 de Pi GPIO (TX) al pin 3 de XBee (Din). También puede usar una placa de conexión XBee que requerirá que conecte el pin 2 (5v) de Pi GPIO al pin de 5v en la placa de conexión.

Recomendado: