Les projets
Fournisseurs
Webmaster - Infos
Lettre d'information
Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
NMNz
Recopier le code :
Abonné
( personne )
Snif !!!
Visites

   visiteurs

   visiteurs en ligne

LM35.gifmontages_LM35.jpg

Le LM35 est un capteur de température.

Alimenté entre 2.7V et 5V, il délivre une tension proportionnelle à la température (10mV par °C)

T = Vout * 100 

REMARQUES :

- pour un fonctionnement optimum, une alimentation de plus de 4V est préferable.

- avec le montage simple, il n'est pas possible de traiter des températures négatives

- le second montage permet de traiter les températures négatives (la diode introduit un offset de 0.5V)

La tension de sortie est mesurée par l'entrée analogique A0 de la carte ESP8266, le convertisseur analogique sur 10 bits (1024 points) permet d'obtenir la valeur de la tension par : Vout = analogRead(A0) * 3.3 / 1023

Pour le montage simple, T = Vout * 100

Pour le montage avec la diode, T = (Vout -0.5) * 100

REMARQUE

- dans la pratique, les montages proposés sont sous-alimentés et la tension de seuil de la diode varie avec la température. La valeur 100 doit être ajustée à la baisse pour compensé ces défauts

Concrètement, les valeurs 100 et 3.3

Affichage des valeurs mesurées

Pour tester la mise en œuvre du composant, un affichage est nécessaire, la liaison série entre la carte et le PC sera utilisée.

Après lancement du programme sur la carte, dans l'IDE Arduino, choisir dans "Outils", "Moniteur série" pour voir la valeurs de tension et de température.

Programme à charger dans la carte ESP8266 :

/*
Nom du programme :Test_analogue_input
Montage du LM35 avec la diode 1N4007 et la résistance de 1 kOhm
Lecture de la valeur de l'entrée A0 par potentiomètre
test entrée analogique A0
utilisation de la liaison série  */

//int Vout=0;
float Vout=0;
float T=0;

void setup() {
// on communique avec l'ordinateur
Serial.begin(9600);
//Serial.setDebugOutput(true);
Serial.println("ESP8266 + LM35");
pinMode(A0,INPUT);//inutile
pinMode(D4,OUTPUT);
}

void loop(){
digitalWrite(D4, LOW);// pour signaler la mesure de température
//delay(100); 
analogRead(A0);
delay(10);
Vout=analogRead(A0);
Serial.print("out = ");
Serial.println(Vout);
Vout=Vout * 3.3 /1023.0;
Serial.print("Vout = ");
Serial.println(Vout);
Serial.print("Temp");
char myChar = 233;//caractère "é"
Serial.print(myChar);
Serial.print("rature = ");
T = (Vout -0.5)*97.0;// normalement * 100
Serial.println(T);
digitalWrite(D4, HIGH);   // sets the LED on
delay(1000);//temporisation entre chaque mesure
}


Date de création : 15/02/2017 @ 15:54
Catégorie : - Projet 2
Page lue 7482 fois

Préférences

Se reconnecter :
Votre nom (ou pseudo) :
Votre mot de passe
NMNz
Recopier le code :


  Nombre de membres 5 membres
Connectés :
( personne )
Snif !!!
Recherche
Recherche
Calendrier
Nouvelles des Amis