Arduino - enseignement en chimie
Résumé de section
-
Réalisation des mesures en lumière ambiante.
Actualisation du "zéro" en saisissant le chiffre 0 dans la barre du moniteur série.
Affichage de la valeur de l'absorbance chaque seconde.int PinLED = 8; // Numéro du pin Alimentation de la LED
int PinPhotoDiode = A0; // Numéro du pin signal photodiodefloat Son; // Signal proportionnel à l'intensité reçue LED allumée
float Soff; // Signal proportionnel à l'intensité reçue LED éteinte (fond parasite)
int Tstab = 10; // temps d'attente pour stabilisation de la LED entre état allumé et eteint
float Smesure; // Smesure= Son-Soff pour s'affranchir du fond parasitefloat S0 = 500.0; // Signal blanc, valeur intiale arbitraire
float alpha = 0.05; // pour calculer la moyenne exponentielle
float A; // Absorbance=-log10(Smesure/S0)int TempsEntreAffichage = 1000;
float TempsAffichageSuivant;//--------------------------------------------------------------------------------------------
void setup() {
Serial.begin(9600); // Communication avec le moniteur série
pinMode(PinLED, OUTPUT); // Définition pin connecté à la LED
pinMode(PinPhotoDiode, INPUT); // Définition pin connecté à la photodiodeTempsAffichageSuivant = millis() + TempsEntreAffichage;
}
//--------------------------------------------------------------------------------------------
void loop() {digitalWrite(PinLED, HIGH); delay(Tstab); //---------- LED allumée -------------
Son = analogRead(PinPhotoDiode);digitalWrite(PinLED, LOW); delay(Tstab); //---------- LED éteinte -------------
Soff = analogRead(PinPhotoDiode);Smesure = alpha * (Son-Soff) + (1 - alpha) * Smesure;
if (millis() > TempsAffichageSuivant) { // Test pour affichage et frappe clavier
Serial.print(Son);Serial.print(" ");
Serial.print(Soff);Serial.print(" > Abs = ");
Serial.println(log10(S0 / Smesure), 3); // Affiche l'absorbanceif (Serial.available()) { // Teste si un caractère arrive du terminal
if (String(Serial.readString()) == "0") { //teste si le caractère est 0
Serial.println("Mémorisation de la valeur de S0 ");
S0 = Smesure;
} // fin de stockageS0
} // fin du test arrivée d'un caractère
TempsAffichageSuivant = TempsAffichageSuivant + TempsEntreAffichage;
} // fin test Affichage
}
Couleur de fond
Couleur de texte
Police
Crénage de la police
Taille de police
Visibilité de l’image
Espacement des lettres
Hauteur de ligne
Surbrillance de lien
Largeur de paragraphe
Alignement du texte