Paso 11: WiiMote
Para controlar el robot usando un WiiMote debe utilizar código Python para controlar los pines GPIO en la Raspberry Pi.
1. Instale la biblioteca de WiiMote usando el Terminal con el siguiente código:
sudo apt-get install python-cwiid
Para instalar el robot controles copiar el siguiente código:
#! / usr/bin/python
#based en Matt Hawkins código http://www.raspberrypi-spy.co.uk/?p=1101
Escrito por diversión Pi #Re
importar cwiid importación importación de tiempo RPi.GPIO como io
IO.setMode (io. BCM) #Motor 1 está diseñado para ser los motores de la izquierda, Motor 2 está diseñado para ser a la derecha #If uno motor es en la dirección equivocada puede intercambiar los pines para ahorrarle tener que re-wrire el robot. M1A = 17 #Motor 1 remite m1b = 18 #Motor 1 hacia atrás m2a = 22 #Motor 2 remite m2b = 23 #Motor 2 hacia atrás pins = (m1a, m1b, m2a, m2b) para i en pins: io.setup (i, io. HACIA FUERA)
para que en pins: io.output(i,False)
button_delay = 0.1
imprimir time.sleep(1) 'Presione 1 + 2 en el mando de Wii ahora...'
# Trate de conectar el Wiimote y dejar de fumar si no encontrado intente: wii = cwiid. Wiimote() excepción RuntimeError: Imprimir "No se puede conectar a Wiimote" quit()
imprimir wii.rpt_mode 'Wiimote conectado' = cwiid. RPT_BTN aunque la verdad: botones = wii.state['buttons'] si (botones y cwiid. BTN_UP): #Forwards time.sleep(button_delay) io.output (m1a, True) io.output (m2a, True) elif (botones y cwiid. BTN_DOWN): time.sleep(button_delay) io.output (m1b, True) io.output (m2b, True) elif (botones y cwiid. BTN_LEFT): time.sleep(button_delay) io.output (m1a, True) io.output (m2b, True) elif (botones y cwiid. BTN_RIGHT): time.sleep(button_delay) io.output (m1b, True) io.output (m2a, True) else: io.output (m1a, False) io.output (m1b, False) io.output (m2a, False) io.output (m2b, False)
#press el botón A para parar todos los motores si (botones y cwiid. BTN_A): time.sleep(button_delay) para en pins: io.output (i, False)