Atelier 8 - Joystick et Leds
Pour vous aider
Matériel
Branchements joystick
GND
+5V
VRX
VRY
SW
GND
+5V
A2
A1
10
Branchements leds
+ led1
+led2
6
9
Ne pas oublier les résistances à 220 pour leur GND
Branchements complet
Haut
Centre
Bas
Gauche
Centre
Droite
> 514
514
< 514
< 494
494
< 494
Y
X
Lire ce que nous renvoit le joystick
Ce sont les valeurs qu'il m'a renvoyé à moi, attention à bien vous fier à votre moniteur.
Déclaration
On déclare toutes nos variables et le branchement de tous nos composants.
const char axeX = 2;
const char axeY = 1;
const char bouton = 10;
const char ledG = 6;
const char ledD = 9;
//on met les valeurs de X et de Y à 0
unsigned int valeurX = 0;
unsigned int valeurY = 0;
Initialisation
On initialise tous nos composants
pinMode(axeX, INPUT);
pinMode(axeY, INPUT);
pinMode(bouton, INPUT);
pinMode(ledG, OUTPUT);
pinMode(ledD, OUTPUT);
digitalWrite(bouton, HIGH); //par défaut, le bouton = 1, quand on appuie = 0
Serial.begin(9600); // nous permet de voir dans le moniteur les effets du joystick et
//d'établir nos X/Y min et max
Récupérer les valeurs numériques du joystick
Ouvrez votre moniteur et observez
valeurX = analogRead(axeX);
valeurY = analogRead(axeY);
Serial.println(valeurY);
delay(1000); //ne pas hésiter à ajouter un delay pour rendre l'info lisible
Joystick à gauche et à droite
Voici le début du code... à vous de faire la suite ! ;) N'oubliez pas de vous baser sur les valeurs que vous retourne le moniteur.
if(valeurX < 494){
if(valeurX > 400){
analogWrite(ledG, 25);
}
else if((valeurX > 300) && (valeurX < 400)){
analogWrite(ledG, 50);
}
else if((valeurX > 200) && (valeurX < 300)){
analogWrite(ledG, 150);
}
else if((valeurX > 100) && (valeurX < 200)){
analogWrite(ledG, 200);
}
else if(valeurX > 100){
analogWrite(ledG, 255);
}
Joystick en haut et en bas
Voici le début du code... à vous de faire la suite ! ;) N'oubliez pas de vous baser sur les valeurs que vous retourne le moniteur.
if(valeurY > 514){
if(valeurY < 600){
digitalWrite(ledG, HIGH);
delay(200);
digitalWrite(ledG, LOW);
delay(200);
digitalWrite(ledD, HIGH);
delay(200);
digitalWrite(ledD, LOW);
delay(200);
}
Joystick en haut et en bas
Voici le début du code... à vous de faire la suite ! ;) N'oubliez pas de vous baser sur les valeurs que vous retourne le moniteur.
if(valeurY > 514){
if(valeurY < 600){
digitalWrite(ledG, HIGH);
delay(200);
digitalWrite(ledG, LOW);
delay(200);
digitalWrite(ledD, HIGH);
delay(200);
digitalWrite(ledD, LOW);
delay(200);
}
Position centrale du joystick
N'oubliez pas de vous baser sur les valeurs que vous retourne le moniteur.
if((valeurX == 494) && (valeurY == 514)){
digitalWrite(ledG, LOW);
digitalWrite(ledD, LOW);
}
Bouton du joystick
N'oubliez pas de vous baser sur les valeurs que vous retourne le moniteur.
if(!digitalRead(bouton)){
digitalWrite(ledG, HIGH);
digitalWrite(ledD, HIGH);
}
Bien joué ! :)
Atelier 8 - Joystick et Leds
By juliegarnier
Atelier 8 - Joystick et Leds
- 1,005