This example shows how to connect a joystick to your Arduino. This could be used for games or perhaps navigating through a menu for example.
This is a basic analog 2-axis joystick which has two 10K ohm pots for vertical and horizontal direction and a push button function.
Here is a picture of the joystick I am using, this is commonly found for sale on many sites. Usually part of a sensor kit, links at the bottom
Here is the pinout and where I connected it
Pin Number | Label | Signal | Arduino Connection | ||||
1 | GND | Ground | |||||
2 | +5V | 5V | |||||
3 | VRx | Voltage proportional to X position | Connected to analogue pin 0 | ||||
4 | VRy | Voltage proportional to Y position | Connected to analogue pin 1 | ||||
5 | SW | Joystick pushbutton | Connected to Digital pin 2 |
Code
Nothing fancy in this example, we will simply output the values from the X and Y pins. Typically you would read these values and them perform actions based on the various positions such as left, right and up and down. A later update will show this.
const int SWITCH = 2;
const int X_PIN = 0;
const int Y_PIN = 1;
void setup()
{
pinMode(SWITCH, INPUT);
digitalWrite(SWITCH, HIGH);
Serial.begin(115200); //watch the baud rate in the serial monitor
}
void loop()
{
Serial.print(digitalRead(SWITCH));
Serial.print(" - ");
Serial.print(analogRead(X_PIN));
Serial.print(" by ");
Serial.println(analogRead(Y_PIN));
delay(100);
}
Links
Arduino joystick at Amazon UK