Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/LocalSettings.php on line 193

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/LocalSettings.php on line 197

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338
[ Wikidébrouillard ] Vu-mètre avec bar-graphe et photo-resistance

Vu-mètre avec bar-graphe et photo-resistance

De Wikidebrouillard.

(Schéma Fritzing)
(Code)
Ligne 26 : Ligne 26 :
===Code===
===Code===
<pre>
<pre>
-
mettre le code entre ces deux balises
+
 
-
//attention à bien documenter le code !
+
#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() {
 +
 
 +
  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){             
 +
      digitalWrite(LED1, HIGH); 
 +
    }
 +
    else{                     
 +
      digitalWrite(LED1, LOW);
 +
     
 +
    }
 +
 
 +
 
 +
    if (average > 50){             
 +
      digitalWrite(LED2, HIGH);
 +
    }
 +
    else{
 +
      digitalWrite(LED2, LOW);
 +
   
 +
    }
 +
 
 +
    if (average > 90){
 +
      digitalWrite(LED3, HIGH);
 +
    }
 +
    else{
 +
      digitalWrite(LED3, LOW);
 +
       
 +
    }
 +
 
 +
    if (average > 140){
 +
      digitalWrite(LED4, HIGH);
 +
    }
 +
    else{
 +
      digitalWrite(LED4, LOW);
 +
           
 +
    }
 +
 
 +
    if (average > 200){
 +
      digitalWrite(LED5, HIGH);
 +
    }
 +
    else{
 +
      digitalWrite(LED5, LOW);
 +
           
 +
    }
 +
 
 +
    if (average > 250){
 +
      digitalWrite(LED6, HIGH);
 +
    }
 +
    else{
 +
      digitalWrite(LED6, LOW);
 +
         
 +
    }
 +
 
 +
    if (average > 300){
 +
      digitalWrite(LED7, HIGH);
 +
    }
 +
    else{
 +
      digitalWrite(LED7, LOW);
 +
         
 +
    }
 +
 
 +
    if (average > 340){
 +
      digitalWrite(LED8, HIGH);
 +
    }
 +
    else{
 +
      digitalWrite(LED8, LOW);
 +
         
 +
    }
 +
 
 +
    if (average > 400){
 +
      digitalWrite(LED9, HIGH);
 +
    }
 +
    else{
 +
      digitalWrite(LED9, LOW);
 +
       
 +
    }
 +
 
 +
    if (average > 500){
 +
      digitalWrite(LED10, HIGH);
 +
    }
 +
    else{
 +
      digitalWrite(LED10, LOW);
 +
         
 +
    }
 +
 
 +
 
 +
    Serial.println(val);
 +
  }
 +
}
</pre>
</pre>

Version du 20 janvier 2014 à 01:47

Article incomplet en cours de rédaction
Modèle:Vidéo

Sommaire

Présentation du projet

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 .

Liste du matériel

réalisation du projet

Explication

Schéma Fritzing

Code


#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() {

  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){               
      digitalWrite(LED1, HIGH);  
    }
    else{                       
      digitalWrite(LED1, LOW);
      
    }


    if (average > 50){               
      digitalWrite(LED2, HIGH);
    }
    else{
      digitalWrite(LED2, LOW);
    
    }

    if (average > 90){
      digitalWrite(LED3, HIGH);
    }
    else{
      digitalWrite(LED3, LOW);
         
    }

    if (average > 140){
      digitalWrite(LED4, HIGH);
    }
    else{
      digitalWrite(LED4, LOW);
            
    }

    if (average > 200){
      digitalWrite(LED5, HIGH);
    }
    else{
      digitalWrite(LED5, LOW);
            
    }

    if (average > 250){
      digitalWrite(LED6, HIGH);
    }
    else{
      digitalWrite(LED6, LOW);
           
    }

    if (average > 300){
      digitalWrite(LED7, HIGH);
    }
    else{
      digitalWrite(LED7, LOW);
           
    }

    if (average > 340){
      digitalWrite(LED8, HIGH);
    }
    else{
      digitalWrite(LED8, LOW);
          
    }

    if (average > 400){
      digitalWrite(LED9, HIGH);
    }
    else{
      digitalWrite(LED9, LOW);
         
    }

    if (average > 500){
      digitalWrite(LED10, HIGH);
    }
    else{
      digitalWrite(LED10, LOW);
           
    }


    Serial.println(val); 
  }
} 

Liens avec d'autres projets arduino

chercher ici : http://wikidebrouillard.org/index.php/Catégorie:Arduino

Pour aller plus loin

Liens avec le quotidien

quelles peuvent être les applications technologiques de ce montage, ou est-ce qu'on retrouve des programmes qui y ressemble ?
Portail des ExplorateursWikidébrouillardLéon DitFLOGPhoto mystèreJ'ai FaitPortraits
AR
CO

Vu-mètre avec bar-graphe et photo-resistance

Rechercher

Page Discussion Historique
Powered by MediaWiki
Creative Commons - Paternite Partage a l

© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique