• 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();
       }
    }