Étape 4: Code d’Arduino
Au début, j’ai branché les fils à l’Arduino comme ceci :
-axe 2: sw1
-axe 3: sw2
-axe 4: sw3
-broche 5: sw4
-broche 6: sw5
-Broche 7: sw6
-Broche 8: sw7
-broche 9: gratter vers le haut
-broche 10 : gratter vers le bas
-broche 11 : coup dur
-axe 12 : bouton pour l’évasion
-pin 13 : bouton pour le pouvoir de star
(sw1 est la première case de la frette, sw7 est le septième bouton frette - mais nous utiliserons seulement sw1-sw5)
(Si j’ai voulu faire le pouvoir de star avec l’accéléromètre, j’ai serait ont relié l’axe X, Y et Z pour les entrées analogiques de l’arduino)
Tout d’abord, j’ai eu initialiser le port série et définir les broches comme entrées :
void setup() {}
Serial.Begin(9600) ; Initialiser une classe série avec 9600 bauds/s
pour (int i = 2; i < = 13; i ++) {}
pinMode (i, entrée) ; Définir les broches comme entrées
}
}
Dans la boucle, j’ai lu les entrées et imprimez-les sur le port série :
void loop() {}
while (!. Serial.available()) ;
pour (int i = 2; i < = 13; i ++) {}
Serial.Print(digitalRead(i)) ;
Serial.Print(';') ;
}
Serial.Print('\n') ;
Delay(1) ;
Les valeurs d’entrée sont envoyées en ligne, séparée par un «; ». Donc si vous appuyez sur un bouton, ou grattez vers le bas, seule la valeur de cet indice se tourne vers 1, sinon c’est 0. En Java, une zone tampon est remplie lorsqu’un opérateur « \n » de la ligne nouvelle est reçu. Le while (!. Serial.available()) ; ligne aide à envoyer uniquement les données après que le programme a été lancé.
Le retard de milliseconde un seul est nécessaire pour transférer les données, sans que je me suis lignes étranges dans le moniteur de la série.