Arduino è una piattaforma di prototipazione open source che offre molte possibilità di progettazione elettronica, grazie alla quale è possibile realizzare dispositivi di controllo di vario tipo. Uno dei sensori più utilizzati è il joystick analogico, in grado di fornire una varietà di informazioni a seconda del tipo di progetto in cui viene utilizzato.
In questo articolo, vedremo come utilizzare un joystick analogico con Arduino, e in particolare come leggere le informazioni analogiche che il sensore fornisce.
Il joystick analogico è un dispositivo di input che utilizza due potenziometri per misurare la posizione dell’asse X e dell’asse Y. In base alla posizione dei potenziometri, il joystick fornisce due segnali analogici che possono essere letti da Arduino. Inoltre, il joystick può essere premuto come un pulsante per fornire un terzo segnale digitale.
Per cominciare, abbiamo bisogno di un joystick analogico, un Arduino e un po’ di cavi di collegamento. Dopo aver collegato il joystick all’Arduino, possiamo procedere alla lettura dei valori analogici.
Il codice seguente mostra come leggere i valori dell’asse X e Y del joystick analogico:
const int xPin = A0; // definisce la porta analogica per l'asse X
const int yPin = A1; // definisce la porta analogica per l'asse Y
void setup() {
Serial.begin(9600); // inizializza la comunicazione seriale
}
void loop() {
int xVal = analogRead(xPin); // legge il valore analogico dell'asse X
int yVal = analogRead(yPin); // legge il valore analogico dell'asse Y
Serial.print("x = ");
Serial.print(xVal);
Serial.print(", y = ");
Serial.println(yVal);
delay(100); // ritarda di 100 millisecondi
}
In questo codice, utilizziamo la funzione analogRead()
per leggere i valori analogici dell’asse X e Y. Successivamente, inviamo questi valori alla console seriale utilizzando la funzione Serial.print()
.
Dopo aver caricato il codice sull’Arduino, apriamo la console seriale dal menu Strumenti dell’IDE di Arduino. Qui, dovremmo vedere i valori dell’asse X e Y che cambiano in base alla posizione del joystick.