Le capteur de température tmp36 est un capteur qui génère un signal digital en sortie codant une valeur de température mesurée en temps réel.
On a fait un cours sur un autre capteur de température, le dht11 qui lui permet aussi de mesurer l’humidité en plus de la température.
Le capteur de température et d’humidité peut-être utilisé dans plein de domaine, que ça soit pour savoir la température extérieur, pour gérer l’arrosage d’une petite serre autonome… C’est pour cela que nous avons fait un petit tableau récapitulatif des caractéristiques du capteur :
TMP36 | Plage de tension | Valeur de fonctionnement | Précision | Linéarité | Facteur d’échelle |
---|---|---|---|---|---|
Caractéristique | [2,7V – 5,5V] | [-40°C – 125°C] | +/- 2°c | +/- 0,5°C | 10 mv/°C |
Ce tableau nous indique différentes caractéristiques qui sont intéréssante à détailler :
Vcc : permet d’alimenter le capteur. A brancher sur le Vcc de la carte Arduino
Signal : Permet de récupérer la température. A brancher sur une broche analogique de la carte Arduino.
Ground : La masse du capteur tmp36. A brancher sur le GND de la carte Arduino
On va maitenant voir comment afficher la température sur le moniteur série.
Voici le schéma du circuit :
int Capteur = 0 ; // Corresponds à la broche A0 ou est connecté le capteur de température
void setup() {
Serial.begin(9600); // Permet d'initialiser le moniteur série
}
void loop () {
int lecture = analogRead(Capteur); // On lit la valeure du capteur
float voltage = 5.0 /1024 * lecture ; // On transforme cette valeur en tension
float temperature = voltage * 100 -50 ; // On transforme cette tension en température en degrée
Serial.print("La temperature est : "); // On affiche la température
Serial.print (temperature);
Serial.println(" degrees");
delay(500); // On fait une pause entre chaque mesure
}
Voici le résultat sur le moniteur série :
On va maintenant voir comment allumer différente led en fonction de la température mesuré par le capteur. On va pour cela utiliser 4 leds qui seront allumés en fonction de la température :
LED | Température |
---|---|
Led Rouge | Supérieur à 27 °C |
Led Orange | Compris entre 17°C et 27°C |
Led Verte | Compris entre 17°C et 5°C |
Led Bleu | Inférieur à 5°C |
Voici le schéma du circuit :
int Capteur = 0 ; // Corresponds à la broche A0 ou est connecté le capteur de température
int led_bleu_broche = 8; // On assigne la LED bleu à la broche 8.
int led_verte_broche = 11; // On assigne la LED verte à la broche 11.
int led_orange_broche = 12; // On assigne la LED bleu à la broche 12.
int led_rouge_broche = 13; // On assigne la LED bleu à la broche 13.
void setup() {
pinMode(led_bleu_broche, OUTPUT); // On assigne la LED bleu en sortie
pinMode(led_verte_broche, OUTPUT); // On assigne la LED verte en sortie
pinMode(led_orange_broche, OUTPUT); // On assigne la LED orange en sortie
pinMode(led_rouge_broche, OUTPUT); // On assigne la LED rouge en sortie
}
void loop (){
int lecture = analogRead(Capteur); // On lit la valeure du capteur
float voltage = 5.0 /1024 * lecture ; // On transforme cette valeur en tension
float temperature = voltage * 100 -50 ; // On transforme cette tension en température en degrée
if (temperature <5) {
digitalWrite(led_bleu_broche,HIGH); // On allume la LED bleu
digitalWrite(led_verte_broche,LOW); // On éteint les autres leds
digitalWrite(led_orange_broche,LOW);
digitalWrite(led_rouge_broche,LOW);
}
if (5<temperature && temperature <17) {
digitalWrite(led_verte_broche,HIGH); // On allume la LED vert
digitalWrite(led_bleu_broche,LOW); // On éteint les autres leds
digitalWrite(led_orange_broche,LOW);
digitalWrite(led_rouge_broche,LOW);
}
if (17<temperature && temperature <27) {
digitalWrite(led_orange_broche,HIGH); // On allume la LED orange
digitalWrite(led_verte_broche,LOW); // On éteint les autres leds
digitalWrite(led_bleu_broche,LOW);
digitalWrite(led_rouge_broche,LOW);
}
if (27<temperature) {
digitalWrite(led_rouge_broche,HIGH); // On allume la LED rouge
digitalWrite(led_verte_broche,LOW); // On éteint les autres leds
digitalWrite(led_orange_broche,LOW);
digitalWrite(led_bleu_broche,LOW);
}
}
Vous pouvez aussi contrôler votre capteur de température avec python. On a fait un cours où l’on affiche la température sur la console python.