SIGN IN | REGISTERSign in to get more opportunities
3D PrintingPopularWide range of 3D printers and filaments!
3D PrintersHot
Filaments
Resins
Spare Parts & Upgrades
Accessories & Tools
3D Scanners
Laser Engravers
3D Pen
RoboticsTOP
Arduino
Raspberry Pi
micro:bit
Sensors
Breakout Boards
Development Tools
Communication
STEM
Displays
Wearables
Electronics
Transistor-Mosfet-Triac
Integrated Circuits
Bridge Rectifiers
Buzzer - Speakers
Fuses
Prototyping Boards
Relays
Resistors
Optoelectronics
Diodes
Mechanical Parts
Servo / Motors
Linear Motion
Build Parts
Bolts / Nuts
Pneumatic Components
Couplers
Pulleys and Belts
Actobotics
Ball Bearings
Collars/Hubs
Hardware
Project Boxes
Cooling
Power Supplies
Cables
Batteries
Wires
Switches
Terminals
Connectors
IC Sockets
Tools
Soldering Equipment
Multimeters
Hand Tools
Portable Measuring Devices
Electric Tools
Laboratory Equipment
Heatshrink
Chemical
Organization and Storage
Panel Meters
STEMEducation
Level
Platform
per Brand
BrandsAll brandsFull list of all brands in the store. Browse all brands
Promotions
Brands
Newest
On sale
+302118004320 Mon-Fri 9:30-17:30
Email [email protected]
Address
Free shipping for orders over 85€ and up to 2 kg parcels.
For orders under 85€ the shipping costs start from 2.70€.
Wide range of payment methods: Cash on delivery, Debit/Credit card, Iris, PayPal
Payments | Shipping options
This large panel mounted Joystick provides a nice finished look as well as finer 2-Axis control than is possible with a standard thumb joystick.
Key Features of JH-D202X-R4 Joystick 5K:
Typical applications include controlling remote motorized vehicles, motorized cameras, factory automation and electric wheelchairs.
Joystick Operation
The module includes two spring loaded 5K potentiometers that provide X and Y analog outputs which can be input to two analog inputs on an MCU.
The analog inputs on an MCU typical read values over a range of 0-1023 (for standard 10-bit ADC inputs like on most Arduino). The X-Axis and Y-Axis outputs from the Joystick should read around 512 (midpoint) when the control is at rest. As the joystick is moved, one or both of the outputs will register higher or lower values depending on how the control is being moved. When the joystick is released, it is spring-loaded and will return to center.
Joystick Mounting
The joystick is designed to be panel mounted through a 41mm (1 5/8″) hole. The joystick is inserted from the bottom side of the panel. Four 2.5mm screws secure a pressure ring from the top side which locks the joystick in place.
The shaft of the joystick extends through a rubber dust cover for a clean look and to provide some amount of protection against dust and moisture.
The two X/Y potentiometers have solder connections for wire hookup.
Assigning which potentiometer is the X or Y is arbitrary and relative to the orientation of the joystick once it is mounted.
The labels in the picture just serve to provide on starting reference point.
When wiring the potentiometers, the center connection provides the output signal which represents the position of the joystick.
The two outside connections are typically hooked up to Vcc and ground to match the MCU. The + and – direction is relative to how the Vcc and grounds are connected to the potentiometers. These can be swapped if it is desired to swap the direction of the signal output as the joystick is moved.
Our Evaluation Results:
These modules are quite useful for integrating into a final application such as for robotic control.
The program below illustrates and tests the basic functionality of the module. It reports the current state of the X-Axis and Y-Axis out to the Serial Monitor window.
The program uses analog pins A0 and A1, but these can be any 2 analog pins.
Joystick Module Test Program
/* JH-D202X-R2/R4 Joystick Module Test Basic code for monitoring the outputs of the joystick. */ int xPin = A1; // Use any analog input pin to read X-Axis pot int yPin = A0; // Use any analog input pin to read Y-Axis pot int xPosition = 0; // Variable to hold current X-Axis reading int yPosition = 0; // Variable to hold current Y-Axis reading //=============================================================================== // Initialization //=============================================================================== void setup() { Serial.begin(9600); } //=============================================================================== // Main //=============================================================================== void loop() { xPosition = analogRead(xPin); // Read the current state of both controls yPosition = analogRead(yPin); Serial.print("X: "); // Print state to Serial Monitor window Serial.print(xPosition); Serial.print(" | Y: "); Serial.println(yPosition); delay(250); // add some delay between reads. }