(→Code) |
(→Code) |
||
Ligne 78 : | Ligne 78 : | ||
void loop() { | void loop() { | ||
+ | //On lit la valeur renvoyée par le capteur lumineux | ||
val = analogRead(probePin); | val = analogRead(probePin); | ||
if(val >= 1){ | if(val >= 1){ | ||
Ligne 95 : | Ligne 96 : | ||
- | if (average > 10){ | + | if (average > 10){ |
+ | //On allume la LED | ||
digitalWrite(LED1, HIGH); | digitalWrite(LED1, HIGH); | ||
} | } | ||
- | else{ | + | else{ |
+ | //On éteint la LED | ||
digitalWrite(LED1, LOW); | digitalWrite(LED1, LOW); | ||
Ligne 104 : | Ligne 107 : | ||
- | if (average > 50){ | + | if (average > 50){ |
+ | //On allume la LED | ||
digitalWrite(LED2, HIGH); | digitalWrite(LED2, HIGH); | ||
} | } | ||
else{ | else{ | ||
+ | //On éteint la LED | ||
digitalWrite(LED2, LOW); | digitalWrite(LED2, LOW); | ||
Ligne 113 : | Ligne 118 : | ||
if (average > 90){ | if (average > 90){ | ||
+ | //On allume la LED | ||
digitalWrite(LED3, HIGH); | digitalWrite(LED3, HIGH); | ||
} | } | ||
else{ | else{ | ||
+ | //On éteint la LED | ||
digitalWrite(LED3, LOW); | digitalWrite(LED3, LOW); | ||
Ligne 121 : | Ligne 128 : | ||
if (average > 140){ | if (average > 140){ | ||
+ | //On allume la LED | ||
digitalWrite(LED4, HIGH); | digitalWrite(LED4, HIGH); | ||
} | } | ||
else{ | else{ | ||
+ | //On éteint la LED | ||
digitalWrite(LED4, LOW); | digitalWrite(LED4, LOW); | ||
Ligne 129 : | Ligne 138 : | ||
if (average > 200){ | if (average > 200){ | ||
+ | //On allume la LED | ||
digitalWrite(LED5, HIGH); | digitalWrite(LED5, HIGH); | ||
} | } | ||
else{ | else{ | ||
+ | //On éteint la LED | ||
digitalWrite(LED5, LOW); | digitalWrite(LED5, LOW); | ||
Ligne 137 : | Ligne 148 : | ||
if (average > 250){ | if (average > 250){ | ||
+ | //On allume la LED | ||
digitalWrite(LED6, HIGH); | digitalWrite(LED6, HIGH); | ||
} | } | ||
else{ | else{ | ||
+ | //On éteint la LED | ||
digitalWrite(LED6, LOW); | digitalWrite(LED6, LOW); | ||
Ligne 145 : | Ligne 158 : | ||
if (average > 300){ | if (average > 300){ | ||
+ | //On allume la LED | ||
digitalWrite(LED7, HIGH); | digitalWrite(LED7, HIGH); | ||
} | } | ||
else{ | else{ | ||
+ | //On éteint la LED | ||
digitalWrite(LED7, LOW); | digitalWrite(LED7, LOW); | ||
Ligne 153 : | Ligne 168 : | ||
if (average > 340){ | if (average > 340){ | ||
+ | //On allume la LED | ||
digitalWrite(LED8, HIGH); | digitalWrite(LED8, HIGH); | ||
} | } | ||
else{ | else{ | ||
+ | //On éteint la LED | ||
digitalWrite(LED8, LOW); | digitalWrite(LED8, LOW); | ||
Ligne 161 : | Ligne 178 : | ||
if (average > 400){ | if (average > 400){ | ||
+ | //On allume la LED | ||
digitalWrite(LED9, HIGH); | digitalWrite(LED9, HIGH); | ||
} | } | ||
else{ | else{ | ||
+ | //On éteint la LED | ||
digitalWrite(LED9, LOW); | digitalWrite(LED9, LOW); | ||
Ligne 169 : | Ligne 188 : | ||
if (average > 500){ | if (average > 500){ | ||
+ | //On allume la LED | ||
digitalWrite(LED10, HIGH); | digitalWrite(LED10, HIGH); | ||
} | } | ||
else{ | else{ | ||
+ | //On éteint la LED | ||
digitalWrite(LED10, LOW); | digitalWrite(LED10, LOW); | ||
} | } | ||
- | + | //On affiche val sur le moniteur | |
Serial.println(val); | Serial.println(val); | ||
} | } |
Sommaire |
Dans ce tutoriel on vous montre comment réaliser un Vu-mètre a l'aide d'un bar-graphe ou 10 led et d'une photo-résistance.
Le but du Vu-mètre dans ce tutoriel est de détecter le niveau de la lumière, c'est pour cela qu'on utilise une photo-résistance. Si le niveau de la lumière est élevé, le bar-graphe ou les 10 led ne seront pas tous allumés et tant qu'on baisse le niveau de la lumière les 10 led s’allumeront de plus en plus .
#define NUMREADINGS 15 int senseLimit = 15; int probePin = A0; //Initialisation de la valeur de luminosité initiale int val = 0; //Déclaration des variables correspondant au placement des différents leds int LED1 = 11; int LED2 = 10; int LED3 = 9; int LED4 = 8; int LED5 = 7; int LED6 = 6; int LED7 = 5; int LED8 = 4; int LED9 = 3; int LED10 = 2; int readings[NUMREADINGS]; int index = 0; int total = 0; int average = 0; //Initialisation de la carte void setup() { //Initialisation des entrées/sorties de la carte Arduino pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); //Ouverture du port série pour affichage des données du capteur dans le terminal Serial.begin(9600); for (int i = 0; i < NUMREADINGS; i++) readings[i] = 0; } //Boucle principale void loop() { //On lit la valeur renvoyée par le capteur lumineux val = analogRead(probePin); if(val >= 1){ val = constrain(val, 1, senseLimit); val = map(val, 1, senseLimit, 1, 1023); total -= readings[index]; readings[index] = val; // read from the sensor total += readings[index]; index = (index + 1); if (index >= NUMREADINGS) index = 0; average = total / NUMREADINGS; if (average > 10){ //On allume la LED digitalWrite(LED1, HIGH); } else{ //On éteint la LED digitalWrite(LED1, LOW); } if (average > 50){ //On allume la LED digitalWrite(LED2, HIGH); } else{ //On éteint la LED digitalWrite(LED2, LOW); } if (average > 90){ //On allume la LED digitalWrite(LED3, HIGH); } else{ //On éteint la LED digitalWrite(LED3, LOW); } if (average > 140){ //On allume la LED digitalWrite(LED4, HIGH); } else{ //On éteint la LED digitalWrite(LED4, LOW); } if (average > 200){ //On allume la LED digitalWrite(LED5, HIGH); } else{ //On éteint la LED digitalWrite(LED5, LOW); } if (average > 250){ //On allume la LED digitalWrite(LED6, HIGH); } else{ //On éteint la LED digitalWrite(LED6, LOW); } if (average > 300){ //On allume la LED digitalWrite(LED7, HIGH); } else{ //On éteint la LED digitalWrite(LED7, LOW); } if (average > 340){ //On allume la LED digitalWrite(LED8, HIGH); } else{ //On éteint la LED digitalWrite(LED8, LOW); } if (average > 400){ //On allume la LED digitalWrite(LED9, HIGH); } else{ //On éteint la LED digitalWrite(LED9, LOW); } if (average > 500){ //On allume la LED digitalWrite(LED10, HIGH); } else{ //On éteint la LED digitalWrite(LED10, LOW); } //On affiche val sur le moniteur Serial.println(val); } }
chercher ici : http://wikidebrouillard.org/index.php/Catégorie:Arduino
quelles peuvent être les applications technologiques de ce montage, ou est-ce qu'on retrouve des programmes qui y ressemble ?
© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique