Difference between revisions of "Analog Joystick"
Jump to navigation
Jump to search
(Created page with "= Description = The analog joystick includes 2 Potentiometer and one digital switch. It has 5 connectors: * GND - connected to GND * 5V - which is in our cases connected...") |
|||
(4 intermediate revisions by one other user not shown) | |||
Line 12: | Line 12: | ||
= How to connect it electrically = | = How to connect it electrically = | ||
− | [[File: | + | [[File:Joystick-electro.JPG|x400px]] |
+ | |||
= How to control it in MicroPython = | = How to control it in MicroPython = | ||
− | + | Reading all values and printing them to the console | |
− | |||
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
#Example usage for ESP32 | #Example usage for ESP32 | ||
Line 43: | Line 43: | ||
= Related Tutorial Videos = | = Related Tutorial Videos = | ||
<youtube>3J3GbD2PrCs</youtube> | <youtube>3J3GbD2PrCs</youtube> | ||
+ | |||
+ | |||
+ | = Background = | ||
+ | This is conceptually what is inside the joystick. | ||
+ | |||
+ | [[File:Joystick-inside.PNG|x400px]] | ||
+ | |||
+ | [[Category:Sensor]] |
Latest revision as of 08:51, 11 June 2024
Contents
Description[edit]
The analog joystick includes 2 Potentiometer and one digital switch.
It has 5 connectors:
- GND - connected to GND
- 5V - which is in our cases connected to 3.3V
- VRx - the voltage representing the position in X
- VRy - the voltage representing the position in Y
- SW - 0 if pressed
How to connect it electrically[edit]
How to control it in MicroPython[edit]
Reading all values and printing them to the console
1 #Example usage for ESP32
2 from machine import Pin, ADC
3 from time import sleep
4 # analog inputs for X and Y
5 analogPinX = ADC(Pin(34))
6 analogPinY = ADC(Pin(35))
7 #switching the analog input to 12Bit (0...4095)
8 analogPinX.atten(ADC.ATTN_11DB)
9 analogPinY.atten(ADC.ATTN_11DB)
10 # digital input on pin 26
11 sw = Pin(26, Pin.IN, Pin.PULL_UP) # enable internal pull-up resistor
12
13 while True:
14 analogValX = analogPinX.read()
15 analogValY = analogPinY.read()
16 switch = sw.value()
17
18 print("x:%s y:%s sw:%s" % (analogValX, analogValY, switch))
19
20 sleep(1)
Related Tutorial Videos[edit]
Background[edit]
This is conceptually what is inside the joystick.