Niveau APPRENTISSAGE : ► Intermédiaire
Prérequis :
Matériel :
- 1 x Carte Arduino
- 9 x Résistances 220 ohms
- 9 x Leds
- 1 x Potentiomètre 10 KΩ
- Fils de connexion
- 1 x Breadboard
Schéma de câblage :
Code :
// Déclaration variable valeurPotentiometre qui va servir à stocker une valeur au format int.
int valeurPotentiometre = 0;
// La broche numérique 2 est reliée à la led verte 1. On lui donne le nom ledverte1.
int ledverte1 = 2;
// Etc ...
int ledverte2 = 3;
int ledverte3 = 4;
int ledorange4 = 5;
int ledorange5 = 6;
int ledorange6 = 7;
int ledrouge7 = 8;
int ledrouge8 = 9;
int ledrouge9 = 10;
void setup () {
// Ouvre le port série à 9600 bps.
Serial.begin(9600);
// Définit ledverte1 soit la broche numérique 2 comme sortie.
pinMode (ledverte1, OUTPUT);
// Etc ...
pinMode (ledverte2, OUTPUT);
pinMode (ledverte3, OUTPUT);
pinMode (ledorange4, OUTPUT);
pinMode (ledorange5, OUTPUT);
pinMode (ledorange6, OUTPUT);
pinMode (ledrouge7, OUTPUT);
pinMode (ledrouge8, OUTPUT);
pinMode (ledrouge9, OUTPUT);
}
void loop () {
// Lit la valeur de la broche analogique A0 et stock ça valeur dans valeurPotentiometre.
valeurPotentiometre = analogRead(A0);
// Imprime un message dans le moniteur série
Serial.print("Valeur lue : ");
// Imprime "valeurPotentiometre" dans le moniteur série
// puis ajoute le retour à la ligne avec "println"
Serial.println(valeurPotentiometre);
// Si valeurPotentiometre <= 102.3 on exécute les actions entre {}
if (valeurPotentiometre <= 102.3) {
// Met la broche numérique stockée dans ledverte1 sur OFF
digitalWrite (ledverte1, LOW);
//ETC ...
digitalWrite (ledverte2, LOW);
digitalWrite (ledverte3, LOW);
digitalWrite (ledorange4, LOW);
digitalWrite (ledorange5, LOW);
digitalWrite (ledorange6, LOW);
digitalWrite (ledrouge7, LOW);
digitalWrite (ledrouge8, LOW);
digitalWrite (ledrouge9, LOW);
}
// Sinon si valeurPotentiometre > 102.3 et valeurPotentiometre <= 204.6 on exécute les actions entre {}
else if (valeurPotentiometre > 102.3 && valeurPotentiometre <= 204.6) {
// Met la broche numérique stockée dans ledverte1 sur ON
digitalWrite (ledverte1, HIGH);
// Met la broche numérique stockée dans ledverte2 sur OFF
digitalWrite (ledverte2, LOW);
//ETC ...
digitalWrite (ledverte3, LOW);
digitalWrite (ledorange4, LOW);
digitalWrite (ledorange5, LOW);
digitalWrite (ledorange6, LOW);
digitalWrite (ledrouge7, LOW);
digitalWrite (ledrouge8, LOW);
digitalWrite (ledrouge9, LOW);
}
// Etc ...
else if (valeurPotentiometre > 204.6 && valeurPotentiometre <= 306.9) {
digitalWrite (ledverte1, HIGH);
digitalWrite (ledverte2, HIGH);
digitalWrite (ledverte3, LOW);
digitalWrite (ledorange4, LOW);
digitalWrite (ledorange5, LOW);
digitalWrite (ledorange6, LOW);
digitalWrite (ledrouge7, LOW);
digitalWrite (ledrouge8, LOW);
digitalWrite (ledrouge9, LOW);
}
else if (valeurPotentiometre > 306.9 && valeurPotentiometre <= 409.2) {
digitalWrite (ledverte1, HIGH);
digitalWrite (ledverte2, HIGH);
digitalWrite (ledverte3, HIGH);
digitalWrite (ledorange4, LOW);
digitalWrite (ledorange5, LOW);
digitalWrite (ledorange6, LOW);
digitalWrite (ledrouge7, LOW);
digitalWrite (ledrouge8, LOW);
digitalWrite (ledrouge9, LOW);
}
else if (valeurPotentiometre > 409.2 && valeurPotentiometre <= 511.5) {
digitalWrite (ledverte1, HIGH);
digitalWrite (ledverte2, HIGH);
digitalWrite (ledverte3, HIGH);
digitalWrite (ledorange4, HIGH);
digitalWrite (ledorange5, LOW);
digitalWrite (ledorange6, LOW);
digitalWrite (ledrouge7, LOW);
digitalWrite (ledrouge8, LOW);
digitalWrite (ledrouge9, LOW);
}
else if (valeurPotentiometre > 511.5 && valeurPotentiometre <= 613.8) {
digitalWrite (ledverte1, HIGH);
digitalWrite (ledverte2, HIGH);
digitalWrite (ledverte3, HIGH);
digitalWrite (ledorange4, HIGH);
digitalWrite (ledorange5, HIGH);
digitalWrite (ledorange6, LOW);
digitalWrite (ledrouge7, LOW);
digitalWrite (ledrouge8, LOW);
digitalWrite (ledrouge9, LOW);
}
else if (valeurPotentiometre > 613.8 && valeurPotentiometre <= 716.1) {
digitalWrite (ledverte1, HIGH);
digitalWrite (ledverte2, HIGH);
digitalWrite (ledverte3, HIGH);
digitalWrite (ledorange4, HIGH);
digitalWrite (ledorange5, HIGH);
digitalWrite (ledorange6, HIGH);
digitalWrite (ledrouge7, LOW);
digitalWrite (ledrouge8, LOW);
digitalWrite (ledrouge9, LOW);
}
else if (valeurPotentiometre > 716.1 && valeurPotentiometre <= 818.4) {
digitalWrite (ledverte1, HIGH);
digitalWrite (ledverte2, HIGH);
digitalWrite (ledverte3, HIGH);
digitalWrite (ledorange4, HIGH);
digitalWrite (ledorange5, HIGH);
digitalWrite (ledorange6, HIGH);
digitalWrite (ledrouge7, HIGH);
digitalWrite (ledrouge8, LOW);
digitalWrite (ledrouge9, LOW);
}
else if (valeurPotentiometre > 818.4 && valeurPotentiometre <= 920.7) {
digitalWrite (ledverte1, HIGH);
digitalWrite (ledverte2, HIGH);
digitalWrite (ledverte3, HIGH);
digitalWrite (ledorange4, HIGH);
digitalWrite (ledorange5, HIGH);
digitalWrite (ledorange6, HIGH);
digitalWrite (ledrouge7, HIGH);
digitalWrite (ledrouge8, HIGH);
digitalWrite (ledrouge9, LOW);
}
else if (valeurPotentiometre > 920.7) {
digitalWrite (ledverte1, HIGH);
digitalWrite (ledverte2, HIGH);
digitalWrite (ledverte3, HIGH);
digitalWrite (ledorange4, HIGH);
digitalWrite (ledorange5, HIGH);
digitalWrite (ledorange6, HIGH);
digitalWrite (ledrouge7, HIGH);
digitalWrite (ledrouge8, HIGH);
digitalWrite (ledrouge9, HIGH);
}
}
Simulation TINKERCAD :
+ Infos sur le langage utilisé :
1. Fonctions
2. Variables
3. Stucture
Nombre de vues: 593