Wiki Info
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
Ricerca Avanzata
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti attivi
» Comunicazione termine servizio Arduino BT Control
Da Admin Mar Mag 10, 2022 12:55 pm

» Robot aspirapolvere per Alexa: Dreame D9
Da Admin Mar Feb 09, 2021 9:42 am

» Come costruire un robot smart con Arduino
Da Admin Mar Nov 17, 2020 12:15 pm

» TOPPS Trading Cards Match Attax Champsion League/Europa League 2020/21
Da Admin Mar Nov 10, 2020 3:21 pm

» Guida per utilizzare Arduino BT Control v1.2
Da Admin Gio Lug 09, 2020 12:01 pm

» 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

I postatori più attivi del mese
Nessun utente


Come controllare un joystick con Arduino - Codice & Circuito

Andare in basso

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

Messaggio Da Admin 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.
arduino - 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 : 4370
Crediti Crediti : 12173
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 26

https://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Torna in alto

- Argomenti simili

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