Arduino - enseignement en chimie
Aperçu des sections
-
Dans cet exemple, la fonction MoyenneSignalNombre(PinMesure, DureeLecturePourMoyenne) renvoie la moyenne du signal sur un pin, après avoir effectué des mesures successives pendant la durée DureeLecturePourMoyenne (exprimée en millisecondes)
Exemple : MoyenneSignalNombre(A0, 500) renvoie la moyenne du signal sur le pin A0 après avoir réalisé des mesures pendant 500 ms.
Dans cet exemple, environ 4140 mesures sont réalisées en 500 ms !
void setup() {
pinMode(A0, INPUT);
Serial.begin(9600);
}
//-----------------------------------------------------------------------------
void loop() {
Serial.print(millis() / 1000.0);
Serial.print(" ");
Serial.println(MoyenneSignalDuree(A0, 500)); // Broche de lecture et durée en ms
}
//-----------------------------------------------------------------------------
float MoyenneSignalDuree (int PinMesure, int DureeLecturePourMoyenne) {
int NombreLecture = 0;
float Signal = 0.0;
int TempsFinal = millis() + DureeLecturePourMoyenne;
do {
Signal = Signal + analogRead(PinMesure);
NombreLecture = NombreLecture + 1;
}
while (millis() < TempsFinal );
//Serial.print(NombreLecture); Serial.print(" -> ");
return (Signal / NombreLecture);
}