Analog Joystick Interfacing with Arduino UNO
Introduction

Analog Joystick
Applications like video games that require a change in cursor position in a 2-D plane make use of analog joysticks as input devices.
Analog joystick produces two voltages; one corresponding to position with respect to X-axis and another corresponding to the position with respect to Y-axis. The voltages produced depend on the position of the joystick.
For more information about Analog Joystick and how to use it, refer the topic Analog Joystickin the sensors and modules section.
To interface the Analog Joystick with Arduino Uno, we need to use ADC on the microcontroller of the Arduino UNO board.
Interfacing Diagram
Interfacing Analog Joystick Module with Arduino UNOExample
Displaying analog joystick voltages in X and Y directions on the serial monitor of Arduino.
Here, we will be using the analog pins of Arduino to process the analog voltages of the joystick.
Sketch For Finding Joystick Voltages in X and Y directions
const int joystick_x_pin = A2;
const int joystick_y_pin = A1;
void setup() {
Serial.begin(9600); /* Define baud rate for serial communication */
}
void loop() {
int x_adc_val, y_adc_val;
float x_volt, y_volt;
x_adc_val = analogRead(joystick_x_pin);
y_adc_val = analogRead(joystick_y_pin);
x_volt = ( ( x_adc_val * 5.0 ) / 1023 ); /*Convert digital value to voltage */
y_volt = ( ( y_adc_val * 5.0 ) / 1023 ); /*Convert digital value to voltage */
Serial.print("X_Voltage = ");
Serial.print(x_volt);
Serial.print("\t");
Serial.print("Y_Voltage = ");
Serial.println(y_volt);
delay(100);
}
No comments:
Post a Comment