CONTENUTO ►
Collegare un joystick alla scheda Arduino vi permetterà di controllare a distanza un’auto o un robot sul microcontrollore Arduino utilizzando un modulo joystick ky-023. Nell’articolo vedremo come collegare il modulo joystick e come controllare i LED con un joystick su Arduino Uno. Presenteremo diversi programmi per il controllo dei LED e dei servomotori con uno schema per collegare un joystick ky-023 a un microcontrollore Arduino.
Per questa attività sono necessari:
- Arduino Uno / Arduino Nano / Arduino Mega
- modulo joystick ky-023
- LED e resistenze
- servomotore
- breadboard
- cavi di collegamento
Modulo joystick ky-023 datasheet, pinout
Il joystick analogico è costituito da una manopola montata su una cerniera con due potenziometri che determinano la posizione del joystick sugli assi X e Y e un pulsante Z. Inclinando la manopola si ruotano i potenziometri e si modifica la tensione di uscita sui contatti del modulo, consentendo di monitorare il grado di deflessione della manopola. Quando la manopola del joystick viene rilasciata, ritorna dolcemente alla posizione centrale.
Caratteristiche del modulo potenziometro Arduino:
- Tensione di alimentazione: 5 V
- Numero di assi di controllo: 2 assi – X/Y
- Rotazione della maniglia: 360°
- Dimensioni: 34 x 26 x 34 mm
Il modulo joystick KY-023 ha i suoi svantaggi. L’impugnatura del joystick non torna sempre esattamente nella posizione centrale, pertanto nel programma si deve considerare la posizione centrale dell’impugnatura del joystick come un intervallo di valori piuttosto che come un valore esatto. Ad esempio, quando l’impugnatura del joystick si trova in posizione centrale, le coordinate X e Y possono essere comprese nell’intervallo 490-530 invece che 512.
Collegamento un modulo joystick ky-023 ad Arduino
In questo esempio, i dati del joystick verranno visualizzati sul monitor e, quando si preme il pulsante, il LED sulla scheda si spegnerà. Il programma utilizzerà la funzione map per convertire le variabili X e Y da un intervallo di numeri compreso tra 0 e 1023 a un intervallo di numeri compreso tra 0 e 255. Collegare i LED tramite una resistenza alle uscite analogiche 10 e 11 del microcontrollore Arduino Uno e caricare il seguente programma.
Programma Arduino per controllo LED da un joystick ky-023
#define pinX A2 #define pinY A1 #define swPin 2 #define ledPin 13 #define ledX 11 #define ledY 10 void setup() { Serial.begin(9600); pinMode(ledX, OUTPUT); pinMode(ledY, OUTPUT); pinMode(ledPin, OUTPUT); pinMode(pinX, INPUT); pinMode(pinY, INPUT); pinMode(swPin, INPUT); digitalWrite(swPin, HIGH); } void loop() { boolean ledState = digitalRead(swPin); digitalWrite(ledPin, ledState); int X = analogRead(pinX); int Y = analogRead(pinY); X = map(X, 0, 1023, 0, 255); Y = map(Y, 0, 1023, 0, 255); Serial.print(X); Serial.print("\t"); Serial.println(Y); analogWrite(ledX, X); analogWrite(ledY, Y); }
Spiegazione del codice per controllo LED da un joystick Arduino:
- con la funzione map() è possibile specificare qualsiasi numero, compreso l’intervallo inverso. È possibile utilizzare anche valori negativi.
Collegamento un joystick e servomotore Arduino
Il joystick è costituito da due potenziometri che cambiano resistenza quando viene modificata la posizione della manopola. Per controllare il servo con il joystick, la prima cosa da fare è collegare il modulo agli ingressi analogici di Arduino. Questo è necessario affinché l’ADC del microcontrollore riceva i dati di posizione del joystick alle coordinate X e Y. Quindi, mediante righe di codice, convertiremo questi dati nella posizione corrispondente del servo.
Programma Arduino per controllo servo da un joystick
#define pinX A1 #include "Servo.h" Servo servo1; void setup() { pinMode(pinX, INPUT); servo1.attach(12); } void loop() { int X = analogRead(pinX); X = map(X, 0, 1023, 0, 180); servo1.write(X); }
Spiegazione del codice per controllo servo da un joystick Arduino:
- si prega di notare che i diversi produttori possono avere una piedinatura del joystick diversa da quella riportata nello schema sopra.
Conclusioni. Abbiamo esaminato in dettaglio come il joystick di Arduino viene utilizzato per controllare i LED e i microservi. Potete utilizzare queste informazioni per creare semplici mini robot su Arduino o automobili con controllo remoto dal joystick ky-023. Questo modulo può essere utilizzato in molti interessanti progetti Arduino fai-da-te. Se avete ancora domande su questo argomento, potete lasciarle nei commenti sotto questo post.
Lascia un commento