Arduino - enseignement en chimie
Topic outline
-
int PinCapteurpH=A0;
float SMoyGliss=7.; float alpha=0.1;
float Signal4=829,23; float Signal7=728;// valeur initiale par défaut
float pH;
int TempsAffichage = 500; // Affichera toutes les 500ms;
float TempsAncien=millis();//-----------------------------------------------------------------------------
void setup(){
pinMode(PinCapteurpH,INPUT);
Serial.begin(9600);
}//-----------------------------------------------------------------------------
void loop() {
SMoyGliss=alpha*analogRead(PinCapteurpH)+(1-alpha)*SMoyGliss;
if (Serial.available()) { //Teste si un texte arrive via le port série
String ChaineSaisie=Serial.readString(); //Teste la commande et agit sur les valeurs d’étalonnage
if (ChaineSaisie=="4") {Signal4=SMoyGliss; Serial.println("Calibration à pH 4");}
if (ChaineSaisie=="7") {Signal7=SMoyGliss; Serial.println("Calibration à pH 7");}
}if (millis()-TempsAncien>TempsAffichage) {
pH=((7-4)/(Signal7-Signal4))*(SMoyGliss-Signal4)+4;
Serial.println("pH = ");Serial.println(pH);
TempsAncien=millis();
}
}