Une led allumée à l'aide d'un capteur de lumière

Code Arduino

1
//Objectif = allumer une Led à l'aide d'un capteur de luminosité si elle est trop faible
2
3
const int PinLum = A6;   
4
const int PinLed = 4;    
5
6
int EtatLum = 0;   
7
int LimiteLum = 400;    
8
9
void setup() 
10
{
11
  pinMode(PinLed,OUTPUT);
12
  pinMode(PinLum,INPUT);
13
  Serial.begin(9600);
14
}
15
16
void loop() 
17
{     
18
  EtatLum = analogRead(PinLum);
19
  Serial.println(EtatLum);
20
21
  if (EtatLum < LimiteLum) 
22
        {
23
          digitalWrite(PinLed, HIGH); 
24
        }
25
  
26
  else  
27
        {
28
          digitalWrite(PinLed, LOW); 
29
        }
30
 
31
  delay(200);
32
}

ComplémentCode Arduino commenté

1
//Objectif = allumer une Led à l'aide d'un capteur de luminosité si elle est trop faible
2
//PIN = Personal Identification Number, adresse utilisée pour identifier un module
3
//LED = Light-Emitting Diode (Diode ElectroLuminescente = DEL)
4
5
6
//Constantes : la valeur ne changera pas pendant l'exécution du programme 
7
const int PinLum = A6;   // J'utilise l'adresse Analogique n°A6, relié à un capteur de luminosité, pour associer le nom PinLum
8
const int PinLed = 4;    // J'utilise l'adresse numérique n°4, reliée à une LED, pour associer le nom PinLed
9
10
// variables : la valeur peut changer pendant l'exécution du programme
11
int EtatLum;         // Je crée une variable, appelée EtatLum, pour lire la valeur du capteur lumière
12
int LimiteLum = 400; // Je crée une variable, appelée LimiteLum, pour comparer l'ambiance lumineuse à un seuil   
13
14
// Configuration de départ----------------------------------
15
void setup() 
16
{
17
  // Initilisation du module de PIN n° 4 (PinLed) comme une SORTIE 
18
  // = le programme peut envoyer des informations vers la LED
19
  pinMode(PinLed,OUTPUT);
20
21
  // Initilisation du module de PIN n° A6 (PinLum) comme une ENTREE 
22
  // = le programme peut recevoir des informations du capteur de luminosité  
23
  pinMode(PinLum,INPUT);
24
25
  //Serial.begin est utilisé pour définir la vitesse de communication utiliése 
26
  //en bauds = nombre d'éléments du signal transmis en une seconde
27
  Serial.begin(9600);
28
}
29
30
// Exécution de la boucle-----------------------------------
31
void loop() 
32
{     //Début de boucle
33
34
  // Récupérer les informations depuis l'entrée Analogique n°A6 et les affecter à EtatLum
35
  EtatLum = analogRead(PinLum);
36
37
  //Afficher le graphique des données sons recueillies dans EtatLum
38
  //Pour les voir : Menu Outils > Traceur série (courbe de valeurs) ou Menu Outils > Moniteur série (valeurs)
39
  Serial.println(EtatLum);
40
41
   // est-ce que le capteur enregistre un signal inférieur à LimiteLum ?
42
  if (EtatLum < LimiteLum) 
43
44
         // Si oui, alors 
45
        {
46
          digitalWrite(PinLed, HIGH); // allumer la LED = envoyer l'information mettre la LED en mode HIGH
47
        }
48
  
49
  else   // Sinon
50
        {
51
          digitalWrite(PinLed, LOW); // éteindre la LED = envoyer l'information mettre la LED en mode LOW
52
        }
53
 
54
  delay(200);
55
}