28 Avr2016
Capteur de luminosité
Objectif :
- Interfacer Arduino avec des capteurs analogiques.
Énoncé :
Dans cet exercice on demande de créer un programme permettant d'allumer une LED branchée sur la broche 13. L'intensité lumineuse de la LED sera proportionnelle à la luminosité captée par la photo-résistance branchée sur la broche A0
(notez bien le A0
, le A qui précède le 0 signifie que c'est une entrée Analogique).
- Réaliser le montage électronique,
- Donner le code de programme.
Montage électronique
Pour le réaliser, vous aurez besoin de :
- Un Arduino
- Un câble USB
- Deux résitances de 1kΩ
- Des fils de prototypage
- Une platine de prototypage
- Une photorésistance
- Une LED de votre couleur préférée
Code Source
// Initialisation des constantes : const int analogInPin = A0; // Numéro de la broche à laquelle est connecté la photorésistance const int analogOutPin = 13; // Numéro de la broche à laquelle est connectée la LED int sensorValue = 0; // Valeur lue sur la photorésistance int outputValue = 0; // Valeur envoyée à la LED void setup() { // Initialise la communication avec l'ordinateur Serial.begin(9600); // Indique que la broche analogOutPin est une sortie : pinMode(analogOutPin, OUTPUT); // Indique que la broche analogInPin est une entrée : pinMode(analogInPin, INPUT); } void loop() { // lit la valeur de la photorésistance et // stocke le résultat dans sensorValue : sensorValue = analogRead(analogInPin); // change sensorValue vers une intervalle de 0 à 255 // et stocke le résultat dans outputValue : outputValue = map(sensorValue, 0, 1023, 0, 255); // envoie de cette nouvelle valeur sur la LED analogWrite(analogOutPin, outputValue); // envoie tout ça vers l'ordinateur Serial.print("sensor = " ); Serial.print(sensorValue); Serial.print("\t output = "); Serial.println(outputValue); }