Een Arduino Joystick Module bouwen: Stap-voor-stap handleiding
Joystick Module
Behandelt u momenteel projecten gerelateerd aan beweging en robotica? Dan is er een kans dat u waarschijnlijk heeft gehoord over de Arduino Joystick module, maar niet weet hoe u er een kunt maken.
Of misschien wilt u meer informatie over hoe een Arduino joystick module werkt?
Dan bent u op de juiste plek.
Het doel van een Arduino Joystick is om beweging te communiceren naar een Arduino. En het doet dit in 2-D (2-as), wat het geschikt maakt voor bewegings- en robotica-toepassingen.
In dit artikel leert u alles over de Arduino joystick module, hoe het werkt, en hoe u een eenvoudige Arduino joystick circuit kunt maken.
Klaar? Laten we beginnen!
Wat is een Joystick Module?
Er is nauwelijks een robotica-project dat geen joystick vereist. Het is soms moeilijk om een controller te krijgen die voor uw projecten werkt, en het kan zelfs duur zijn. Maar een joystick module biedt een betaalbaardere manier om hetzelfde resultaat te bereiken.
Ook werkt de joystick module op dezelfde manier als de joysticks in analoge gamepads. De sleutelcomponenten zijn twee potentiometers gekanteld onder 90 graden. Bovendien is er een verbinding tussen een korte stok (met veren in het midden) en de potentiometers.
Potentiometers
De joystick module kan ongeveer 2,5V uitvoeren van de X- en Y-as wanneer het in rust is. Nu, wanneer u de joystick beweegt, zal de uitgang varieren van 0V tot 5V. Dit hangt echter af van de richting.
Bovendien, als u een microcontroller met de joystick module gebruikt, zou de echte waarde in de rustpositie ongeveer 512 zijn. Dus, wanneer u deze joystick beweegt, kunt u de waarden zien veranderen van 0 tot 1023, afhankelijk van de positie.
Pin Configuratie
Hier is de pinconfiguratie voor de joystick module:
| Pin Nr. | Pin Naam | Beschrijving |
|---|---|---|
| 1 | GND | De grondterminal van de module |
| 2 | +5V | De positieve voedingsterminal van de module |
| 3 | VRx | De spanning evenredig aan de X-as |
| 4 | VRy | De spanning evenredig aan de Y-as |
| 5 | SW | De schakelaar van de module |
Kenmerken
Hier zijn de belangrijkste kenmerken van de Arduino joystick module:
- Het heeft twee onafhankelijke potentiometers voor elke as (X en Y)
- Het weegt niet veel
- U kunt de module gemakkelijk interfacen met de meeste microcontrollers of Arduino
- Het keert automatisch terug naar de middenpositie wanneer niet in gebruik
- Het heeft ook een kopje-typ knop
Technische Specificaties
De specificaties van de joystick module omvatten:
- Het heeft een werkspanning van 5V
- De waarde van de interne potentiometer is 10k
- De werktemperatuur is ongeveer 0 tot 70 graden Celsius
- De pootjes van de pininterface zijn 2,54mm
- De afmetingen van de joystick module zijn: 1,57 in x 1,02 in x 1,26 in (4,0 cm x 2,6 cm x 3,2 cm)
- Het heeft vijf pinnen
- Twee potentiometers controleren de horizontale en verticale richtingen van de module.
Schema Diagram
De onderstaande afbeelding toont de complete schema's van de joystick module. Zoals we eerder vermeldden, heeft de module twee potentiometers die de X- en Y-as controleren.
Schema's voor Joystick Module
Bovendien bewegen beide potentiometers (10k) onafhankelijk. Met andere woorden, u kunt ze afzonderlijk en in hun richtingen bewegen. Ook is er een interne verbinding van de schakelaar (SW) pin met de drukknop.
Joystick interfacen met Arduino
Joystick modules zijn compatibel met veel microcontrollers zoals Raspberry Pi, Arduino, en anderen. Bovendien is het gemakkelijk te interfaceren, en u moet eerst de VRx en VRy as pinnen verbinden met de ADC-pinnen van de microcontroller.
Ook, als u van plan bent een schakelaar te gebruiken, dan moet u de knop verbinden met de digitale pinnen van de microcontroller.
Bekijk het onderstaande diagram om te begrijpen hoe u de joystick module met een microcontroller kunt verbinden.
Joystick Module naar Microcontroller
Nu zal het volgende diagram u laten zien hoe u een joystick module met een Arduino kunt interfaceren. Met dit diagram kunt u de module met de Arduino verbinden. Ook krijgt u een uitgang afhankelijk van de richting waarin u de joystickknop beweegt.
Joystick Module naar Arduino
Zodra u klaar bent met interfaceren, zullen we ontdekken dat elke richting een vast uitgangsbereik heeft. De volgende afbeelding toont u de uitgang voor de X- en Y-as afhankelijk van de beweging van de joystick module in de vier richtingen, +X, -X, +Y, en –Y. Er zullen ook enkele analoge waarden zijn wanneer u de knop diagonaal beweegt.
Bewegingsrichtingen
Als u wilt weten wanneer u uw joystickknop indrukt, kunt u de SW-pin ook verbinden met digitale pin 8 van de Arduino.
Bovendien vereist de joystick stroom om correct te werken. Dus verbind de VCC-pin met de 5V-terminal van de Arduino en de GND met de GND-terminal van de Arduino.
Arduino Code
Het is vrij eenvoudig om dit programma op Arduino IDE te coderen. Dus, om de beste resultaten te krijgen, zult u de beweging van de joystick meten vanaf één digitale invoerpin en twee analoge invoeren. Dan zal de Arduino de impact op uw monitor weergeven.
Hier is het beste deel:
U hebt geen bibliotheek nodig om dit programma te coderen. Het leest simpelweg de analoge invoer en toont de waarden die het eruit krijgt. Bovendien toont het ook de uitgang van de knopdruk.
Hier is de ruwe schets van de code:
#define joyX A0
#define joyY A1
void setup() {
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
xValue = analogRead(joyX);
yValue = analogRead(joyY);
//print the values with to plot or view
Serial.print(xValue);
Serial.print("\t");
Serial.println(yValue);
}
Afbeelding die de Arduino code toont
Mapping
Soms gaat het niet alleen om het lezen van analoge waarden, en er kan een behoefte zijn om uw module toe te wijzen aan een display of andere interfaces. Om u te helpen, laten we u zien hoe u de waarden van de bovenstaande code kunt toewijzen aan een 8x8 LED-matrix.
Arduino Mapping
Het resultaat van dit proces is om de pixels op het display te verplaatsen met de joystick. Ook is het gemakkelijk om de code te wijzigen om het toe te wijzen aan een OLED of grafisch display.
#include "LedControl.h"
#define joyX A0
#define joyY A1
int xMap, yMap, xValue, yValue;
LedControl lc = LedControl(12, 11, 10, 1);
void setup() {
Serial.begin(115200);
lc.shutdown(0, false);
/* Set the brightness to a medium values */
lc.setIntensity(0, 8);
/* and clear the display */
lc.clearDisplay(0);
}
void loop() {
// put your main code here, to run repeatedly:
xValue = analogRead(joyX);
yValue = analogRead(joyY);
xMap = map(xValue, 0, 1023, 0, 7);
yMap = map(yValue, 0, 1023, 7, 0);
lc.setLed(0, xMap, yMap, true);
lc.clearDisplay(0);
}
Afbeelding van code vereist om de Arduino toe te wijzen aan een OLED of grafisch display
Opmerking: de bovenstaande code toont dat u de map() functie kunt gebruiken om de bereiken aan uw voorkeuren aan te passen.
Als u alles goed doet, zou de uitgang op uw seriële monitor er als volgt uit moeten zien:
Toepassingen
Hier zijn enkele toepassingen van de Arduino Joystick module:
- U kunt de joystick module in robotica gebruiken
Robot Drone
- U kunt ook de beweging van een bewegende camera controleren
Bewegende Camera
- Een breed scala aan bewegingsapplicaties
Afsluiting
Wanneer u het woord Joystick hoort, is het eerste wat u misschien in gedachten komt spelcontrollers. Er zijn echter zoveel spannende toepassingen van de joystick module als het aankomt op DIY elektronica.
Spelcontrollers
Bovendien werken deze modules voornamelijk voor DIY-projecten gebaseerd op Arduino en robotbesturing. Zoals we eerder bespraken, geeft de joystick module eerst analoge uitgang om de analoge invoer te voeden afhankelijk van de horizontale of verticale beweging van de stok.
Nou, dat sluit dit artikel af. Als u vragen of suggesties heeft, neem dan gerust contact met ons op. We helpen u graag.
Industriële technologie
- Maak een Aangepaste 'Punchable' Toetsenbordknop met Arduino: Stap-voor-Stap Handleiding
- Arduino Mega koppelen aan een NEO‑6M GPS-module: stapsgewijze handleiding
- Bouw een Aangepaste Arduino Joystick Stuurwiel voor Gaming
- Maak Muzikale Tonen met Arduino: Stapsgewijze Handleiding
- Automatische deur met Arduino en ultrasone sensor bouwen
- Bouw een Bluetooth-gecontroleerde Arduino Auto: Complete DIY Handleiding
- Zelf een mini‑oscilloscoop bouwen met Arduino Nano – Stap‑voor‑stap handleiding
- Bouw JARVIS v1 Thuisautomatisering met Arduino Nano – Stap-voor-stap handleiding
- Arduino Due Project Kit: TFT, GPS, RTC, Sensoren, Bluetooth & Joystick – Complete Componentenlijst
- Bouw een gebaren-gestuurde robot thuis met Arduino en MPU-6050
- Bouw een Grote 3D-Printer Thuis met Arduino: Stap-voor-Stap Handleiding
