- Raspberry pi pico
- Módulo joystick
- Protoboard
- Jumpers
El módulo joistick tiene 5 pines: VCC para alimentación, GND para tierra, Vx que nos da el valor del eje X, Vy que nos da el valor del eje Y y SW que es un push buttton. La salida X, Y es analógica, además, puede presionar el SW para activar la salida digital.
Es importante la posición del joystick, por ejemplo, en la imágen de abajo está totalmente a la izquierda, la salida analógica Vx que devuelve un 0 y cuando está totalmente a la derecha devuelve 1023. En el caso contrario, en la izquierda devuelve 1023 y en la derecha 0. Cuando se encuentra en una posición intermedia devuelve el número correspondiente a dicha posición, ya sea 512, 128, etc.
En la figura de abajo se muestra la conexión del módulo joystick con la raspberry pi pico. Para capturar la señal del eje x Vx -> GPIO 27
, para el eje y Vy -> GPIO 26
y para el SW SW -> GPIO 22
.
"""
Nombre de la práctica: Módulo joystick con
Raspberry Pi Pico
Autor: Ing. Víctor González Jacobo
"""
from machine import Pin, ADC
from time import sleep
VRX = ADC(Pin(27))
VRY = ADC(Pin(26))
SW = Pin(22,Pin.IN, Pin.PULL_UP)
while True:
xAxis = VRX.read_u16()
yAxis = VRY.read_u16()
switch = SW.value()
print("X-axis: " + str(xAxis))
print("Y-axis: " + str(yAxis))
print("Switch " + str(switch))
if switch == 0:
print("Push button PRESIONADO !")
print(" ")
sleep(1)