C'est parfait dans ce cas,
j'ai la précision en basculant l'ADC en internal pour la mesure de la température puis la possibilité de mesurer la tension avec mon pont résistif en déclarant l'ADC en default pour revenir sur la plage 0 - 5V.
Pour rejeter les premières mesures, je pensais qu'il existait une fonction, il est vrai qu'une boucle est tout aussi vite faite.
ps : Je viens de faire le test, j'ai dû quand même mettre un delay(1) dans la boucle, sinon même en ignorant les 5 valeurs, j'avais des interférences entre les deux entrées analogiques. J'ai pris pour valeur de Aref sans mesurer 1.1V (les mesures sont assez fiables et je ne prends pas de risque à faire un court-circuit en voulant mesurer^^)
voici le code fonctionnel :
// -- mesure température
analogReference(INTERNAL);
for(int i = 0; i < 5; i++)
{
analogRead(THERMO_PIN); // Boucle de rejet des 5 premières valeurs
delay(1);
}
thermo_temp = analogRead(THERMO_PIN) * (1.1 * 1000 / 1024) / 10 ; // conversion en celcius
display.setCursor(0, 0); // affichage -- START
display.setTextSize(1);
display.print(thermo_temp,1);
display.println("'C");
display.setCursor(20, 15);
display.setTextSize(2);
display.print("Celsius"); // affichage -- END
analogReference(DEFAULT);
// -- End
// mesure tension 12V
for(int i = 0; i < 5; i++)
{
analogRead(TENS_12V_PIN); // Boucle de rejet des 5 premières valeurs
delay(1);
}
tension = map(analogRead(TENS_12V_PIN), 0, 1023, 0, 5000); // conversion en mV
tension = tension / 1000; // conversion des mV en V
tension = (tension / (TENSR2_12V /(TENSR1_12V + TENSR2_12V))) / 1.0152; // facteur de correction 1.0152
display.setCursor(0, 35); // affichage -- START
display.setTextSize(1);
display.print(tension);
display.println("V (+12V)"); // affichage -- END
// -- End
à noter que j'ai également mis une boucle pour mon pont résistif, ça ne mange pas de pain et évite de prendre une valeur avec des interférences.
Merci beaucoup pour ton aide et ta réactivité.