Exemple Arduino LM35 (avec analogReference)

par skywodd | | Langue : C++ | Licence : GPLv3

Description :

Code d'exemple d'utilisation d'un capteur LM35 avec une carte Arduino et analogReference() pour améliorer la précision de la mesure.

N.B. Code valable uniquement pour la mesure de températures positives.

Code source :

Voir le code source brut | Télécharger lm35_precision.ino | Télécharger lm35_precision.ino.zip

/*
 * Code d'exemple pour le capteur LM35 (2°C ~ +110°C) avec une meilleure précision.
 */

// Fonction setup(), appelée au démarrage de la carte Arduino
void setup() {

  // Initialise la communication avec le PC
  Serial.begin(9600);
  
  // Améliore la précision de la mesure en réduisant la plage de mesure
  analogReference(INTERNAL); // Pour Arduino UNO
  // analogReference(INTERNAL1V1); // Pour Arduino Mega2560
}

// Fonction loop(), appelée continuellement en boucle tant que la carte Arduino est alimentée
void loop() {
  
  // Mesure la tension sur la broche A0
  int valeur_brute = analogRead(A0);
  
  // Transforme la mesure (nombre entier) en température via un produit en croix
  float temperature_celcius = valeur_brute * (1.1 / 1023.0 * 100.0);
  
  // Envoi la mesure au PC pour affichage et attends 250ms
  Serial.println(temperature_celcius);
  delay(250);
}