Joystickο
Note
π Welcome to the SunFounder Facebook Community! Whether youβre into Raspberry Pi, Arduino, or ESP32, youβll find inspiration, help ideas here.
β Be the first to get free learning resources.
β Stay updated on new products & exclusive giveaways.
β Share your creations and get real feedback.
Kit purchaseο
Looking for parts? Check out our all-in-one kits below β packed with components, beginner-friendly guides, and tons of fun.
Name |
Includes Arduino board |
PURCHASE LINK |
|---|---|---|
Ultimate Sensor Kit |
Arduino Uno R4 Minima |
|
Elite Explorer Kit |
Arduino Uno R4 WiFi |
|
3 in 1 Ultimate Starter Kit |
Arduino Uno R4 Minima |
|
Universal Maker Sensor Kit |
Γ |
Course Introductionο
In this lesson, we will learn how to use the Joystick Module with Arduino.
Note
If this is your first time working with an Arduino project, we recommend downloading and reviewing the basic materials first.
Required Components
In this project, we need the following components:
SN |
COMPONENT INTRODUCTION |
QUANTITY |
PURCHASE LINK |
|---|---|---|---|
1 |
Arduino UNO R4 WIFI |
1 |
|
2 |
USB Type-C cable |
1 |
|
3 |
Breadboard |
1 |
|
4 |
Wires |
Several |
|
5 |
Joystick Module |
1 |
Wiring
Common Connections:
Joystick Module
SW: Connect to 8 on the Arduino.
VRY: Connect to A1 on the Arduino.
VRX: Connect to A0 on the Arduino.
GND: Connect to GND on the Arduino.
VCC: Connect to 5V on the Arduino.
Writing the Code
Note
You can copy this code into Arduino IDE.
Donβt forget to select the board(Arduino UNO R4 WiFi) and the correct port before clicking the Upload button.
/*
The code reads values from a joystick module and prints them on the serial monitor.
The joystick module has two analog axes (X and Y), which are connected to Arduino
pins A0 and A1. The decimal form of the X and Y axis values is read and displayed
on the serial monitor.
Board: Arduino Uno R3(or R4)
Component: Joystick Module
*/
const int xPin = A0; //the VRX attach to
const int yPin = A1; //the VRY attach to
const int swPin = 8; //the SW attach to
void setup() {
pinMode(swPin, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
Serial.print("X: ");
Serial.print(analogRead(xPin)); // print the value of VRX
Serial.print("|Y: ");
Serial.print(analogRead(yPin)); // print the value of VRX
Serial.print("|Z: ");
Serial.println(digitalRead(swPin)); // print the value of SW
delay(50);
}