Recensisci!
Diventa un recensore per ricevere prodotti gratuiti o scontati!
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» Recensione Umidigi A3 Pro - Smartphone sotto i 100€
Da Admin Gio Apr 04, 2019 12:22 pm

» [Arduino] aiuto programma
Da Glak Mar Mar 12, 2019 9:30 am

» ERRORE NELLA COMPILAZIONE NEXTION
Da papat Mar Feb 26, 2019 7:11 am

» Comandare la Smart TV con Alexa senza broadlink (gratis)
Da Admin Mar Feb 19, 2019 4:31 pm

» Google Home diventa un traduttore simultaneo
Da Admin Mar Feb 19, 2019 4:27 pm

» Recensione Xiaomi Redmi 5 - Edizione 2019
Da Admin Mar Feb 19, 2019 4:24 pm

» Guadagnare lavorando per Google Street View
Da Admin Mar Feb 19, 2019 4:20 pm

» UMIDIGI F1 - Specifiche tecniche
Da Admin Mar Feb 19, 2019 4:14 pm

» display oled 168x64
Da fulvio Dom Feb 10, 2019 9:47 am

I postatori più attivi del mese

Come controllare un joystick con Arduino - Codice & Circuito

Andare in basso

Come controllare un joystick con Arduino - Codice & Circuito Empty Come controllare un joystick con Arduino - Codice & Circuito

Messaggio Da Admin il Dom Dic 24, 2017 11:29 am


La guida del progetto

In questo articolo verrà mostrato il codice per il progetto mostrato nel tutorial del joystick con Arduino. Consiste nell'accedere quattro led, posizionati corrispettivamente a nord, sud, ovest e est. Il compito del joystick è accenderli, in base al suo posizionamento dell'asse.

Il joystick ha le seguenti proprietà: Ha due assi X e Y. In base alla posizione della leve restituisce diversi valori analogici. Solitamente, come quello del video, hanno anche un bottone che si può premere. In questo progetto farà accendere tutti e quattro i led velocemente in 5 millisecondi.

Il circuito

Il circuito è molto semplice, trattandosi di un modulo. In base al modello potrebbe cambiare quindi consiglio sempre la visione del datasheet del componente che si possiede.
Come controllare un joystick con Arduino - Codice & Circuito Joysti10
Per il collegamento dei LED il circuito è sempre lo stesso, collegati nei PIN digitali 2, 3, 4 e 5.

Il codice

Il codice Wiring è quanto segue:
Codice:
int nord = 2;
int ovest = 3;
int sud = 4;
int est = 5;
int bottone = 6;
int X = A1;
int Y = A0;
int X_let = 0;
int Y_let = 0;
int bottone_let = 0;

void setup() {
    pinMode(nord, OUTPUT);  
    pinMode(ovest, OUTPUT);
    pinMode(sud, OUTPUT);
    pinMode(est, OUTPUT);
    pinMode(bottone, INPUT);
    pinMode(X, INPUT);
    pinMode(Y, INPUT);
    digitalWrite(bottone, HIGH);
    Serial.begin(9600);
}

void loop() {
  //monitor seriale
    Serial.print("Bottone:  ");
    Serial.print(digitalRead(bottone));
    Serial.print("\n");
    Serial.print("Asse X: ");
    Serial.print(analogRead(X));
    Serial.print("\n");
    Serial.print("Asse Y: ");
    Serial.println(analogRead(Y));
    Serial.print("\n\n");
    delay(100);
  
  
  //codice programma
  
    X_let = analogRead(X);
    Y_let = analogRead(Y);
    bottone_let = digitalRead(bottone);
    
    if (Y_let<270) {
      digitalWrite(nord, HIGH);
      digitalWrite(ovest, LOW);
      digitalWrite(sud, LOW);
      digitalWrite(est, LOW);
    }
    
    if (Y_let>1000) {
      digitalWrite(nord, LOW);
      digitalWrite(ovest, LOW);
      digitalWrite(sud, HIGH);
      digitalWrite(est, LOW);
    }
    
    if (X_let<270) {
      digitalWrite(nord, LOW);
      digitalWrite(ovest, LOW);
      digitalWrite(sud, LOW);
      digitalWrite(est, HIGH);
    }
    
    if (X_let>1000) {
      digitalWrite(nord, LOW);
      digitalWrite(ovest, HIGH);
      digitalWrite(sud, LOW);
      digitalWrite(est, LOW);
    }
    
    if ((X_let>=400 && X_let<=600) && (Y_let>=400 && Y_let<=600)) {
      digitalWrite(nord, LOW);
      digitalWrite(ovest, LOW);
      digitalWrite(sud, LOW);
      digitalWrite(est, LOW);
    }
    
    if (bottone_let == 0) {
        for (int i=0; i<5; i++) {
          digitalWrite(nord, HIGH);
          digitalWrite(ovest, HIGH);
          digitalWrite(sud, HIGH);
          digitalWrite(est, HIGH);
          delay(50);
          digitalWrite(nord, LOW);
          digitalWrite(ovest, LOW);
          digitalWrite(sud, LOW);
          digitalWrite(est, LOW);
          delay(50);
        }
    }
    
    
}

Cosa acquistare

Per la realizzazione di questo progetto, oltre alla breadboard ed ai cavi, sono necessari i seguenti componenti.

➞ Trovi i componenti su Amazon.it:
- Joystick Arduino: http://amzn.to/2BtOPHx
- Arduino Uno: http://amzn.to/2prHIO4
Admin
Admin
♔ Amministratore

Messaggi Messaggi : 4364
Crediti Crediti : 12158
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 21
Località Località : Brescia

https://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Torna in alto


 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum