Arduino - enseignement en chimie
Topic outline
-
Réaliser le montage ci-dessous en utilisant une LED et sa résistance (220 Ohm), et une photodiode et sa résistance (10 kOhm).
Introduire un récipient rempli d'eau entre la LED et la photodiode.
Adapter la résistance de la LED et la résistance de la photodiode de façon à avoir le plus grand signal LED allumée sans dépasser la valeur de 850.Pour pouvoir s'affranchir de la lumière ambiante (parasite), il est possible de réaliser une mesure en trois étapes
- on allume la diode et on mesure le signal reçu Son
- on éteint la diode et on mesure le signal reçu Soff
- Finalement, on fait la différence entre Son et Soff pour retrouver la valeur du signal correspondant à la lumière en provenance de la LED, qui est le signal qui nous intéresse !
Utiliser le traceur Arduino pour visualiser en temps réel les valeurs des trois grandeurs Son, Soff et Son-Soff et mettre en évidence l'intérêt de la modulation de l'allumage de la LED.
Son en violet, Soff en rouge, Son-Soff en vert
Lorsqu'une ombre passe devant le détecteur, la diminution de l'intensité lumineuse reçue par la photodiode est observée à la fois LED allumée et LED éteinte car les deux mesures sont réalisées très rapidement l'une derrière l'autre. La différence Son et Soff est constante.
Code de base modulation intensité LED
int PinLED = 8; // Numéro des pins Alimentation des LEDs
int PinPhotoDiode = A0; // Numéro des pins signal photodiode(s)int Son; // proportionnel à I LED on
int Soff; // proportionnel à I LED off//--------------------------------------------------------------------------------------------
void setup() {
Serial.begin(9600); // Communication avec le moniteur série
pinMode(PinLED, OUTPUT); // Définition broche connectée à la LED
pinMode(PinPhotoDiode, INPUT); // Définition broche connectée à la photodiode
}//--------------------------------------------------------------------------------------------
void loop() {digitalWrite(PinLED, HIGH); delay(10); //---------- LED allumée -------------
Son = analogRead(PinPhotoDiode);
digitalWrite(PinLED, LOW); delay(10); //---------- LED éteinte -------------
Soff = analogRead(PinPhotoDiode);
Serial.print(Son);
Serial.print(" "); Serial.print(Soff);
Serial.print(" "); Serial.println(Son-Soff);
}