Comment coder un capteur de température?

Comment coder un capteur de température?

Arduino capteur de température écran lcd

Dans ce tutoriel, nous allons apprendre à lire la température ambiante à l’aide d’un capteur de température. Nous utiliserons ensuite le port série pour informer l’Oméga de la température ambiante actuelle. De plus, nous apprendrons à faire des calculs mathématiques dans notre code et à convertir entre les types.

La résolution d’un capteur est le plus petit changement qu’il peut détecter. C’est une combinaison de la résolution innée du capteur et de la résolution du dispositif de lecture. Dans notre cas, la fonction analogRead() de l’ATmega a une résolution de 10 bits (1024 pas). Si nous utilisons une tension d’entrée de 5V, le plus petit changement de température que nous pouvons détecter est de 4,88mV (5V/1024 pas). En utilisant le facteur d’échelle ci-dessus, cela signifie que nous pouvons détecter des changements de 0,488°C, ou environ 0,87°F !

Pour cette expérience, nous allons utiliser le capteur TMP36 pour mesurer la température ambiante. Nous connecterons le capteur de température à une broche analogique de l’ATmega, et nous le référencerons à Vcc et GND afin de nous assurer que les données sont précises.

Tutoriel Arduino sur les capteurs de température et d’humidité

Ce module contient une thermistance NTC, qui peut mesurer des températures dans la gamme de -55 °C à +125 °C. La valeur de la résistance diminue à des températures plus élevées. La valeur de la résistance diminue à des températures plus élevées. Sur la base de la courbe de résistance obtenue, la température correspondante peut être calculée.

La variation de la résistance peut être approchée mathématiquement, convertie en une courbe linéaire et le coefficient de température (dépendance de la variation de la résistance par rapport à la variation de la température) déterminé. A partir de là, il est possible de calculer la température actuelle.

  Comment faire varier la lumière?

La résistance peut être déterminée à l’aide d’un diviseur de tension, dans lequel une tension connue est répartie sur une résistance connue et une résistance inconnue (variable). La résistance peut alors être calculée à partir de la tension mesurée. Le calcul exact est inclus dans les exemples de code ci-dessous.

L’exemple ci-dessous utilise cette bibliothèque – pour cela, nous vous recommandons de la télécharger sur Github, de la décompresser et de la copier dans le dossier des bibliothèques Arduino qui se trouve par défaut à (C:\User[nom d’utilisateur]\Documents\Arduino\libraries) afin qu’elle soit disponible pour cet exemple de code et les projets suivants. Alternativement, ceci est également inclus dans le paquet de téléchargement ci-dessous.

Code du capteur de température de Tinkercad

Vous devriez voir la sortie suivante dans le moniteur série.Code Explanation:Le sketch commence par définir la broche Arduino à laquelle la broche Vout du capteur est connectée.#define sensorPin A0Dans le setup, nous initialisons la connexion série avec l’ordinateur.void setup() {

Dans la boucle, nous lisons d’abord le signal analogique du LM35 en utilisant la fonction analogRead().int reading = analogRead(sensorPin);Ensuite, nous allons utiliser les formules dont nous avons parlé plus tôt dans l’article pour convertir la lecture analogique en tension et ensuite en température.float voltage = reading * (5.0 / 1024.0) 😉

Serial.print(“C | “);La valeur de température que nous obtenons est en Celsius (°C). Elle est convertie en Fahrenheit (°F) à l’aide d’une formule simple et imprimée sur le moniteur Serial.T(°F) = T(°C) × 9/5 + 32float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0 ;

Serial.println(“F”);Projet Arduino – Thermomètre autonome avec LM35 et un LCDS I2C Parfois, vous avez l’idée d’afficher les mesures de température en temps réel et d’afficher une alerte lorsque la température est en dehors de la plage spécifiée. Dans ce cas, vous aurez probablement besoin d’un écran LCD 16×2 caractères au lieu d’un moniteur série. Dans cet exemple, nous allons connecter l’écran LCD I2C à l’Arduino en même temps que le LM35. Si vous n’êtes pas familier avec les LCDs I2C, pensez à lire (au moins survoler) le tutoriel ci-dessous. Interface d’un LCD I2C avec ArduinoSi vous avez déjà essayé de connecter un écran LCD avec un Arduino, vous avez peut-être remarqué qu’il consomme beaucoup de broches sur… Le schéma suivant vous montre comment tout câbler.Le sketch suivant va imprimer les valeurs de température sur le LCD I2C. Le code est similaire à l’exemple précédent, sauf que les valeurs sont imprimées sur l’écran LCD I2C.// Inclure la bibliothèque LiquidCrystal_I2C

  Comment configurer Arduino?

Capteur de température Arduino i2c

Le premier exemple de code peut être utilisé pour prendre des mesures de température à partir du capteur et afficher les résultats dans le Serial Monitor. Dans le deuxième exemple, je vous montrerai comment utiliser la tension de référence intégrée de 1,1 V de l’Arduino pour obtenir des lectures plus précises. Enfin, nous verrons comment afficher la température sur un LCD I2C pour créer un thermomètre autonome.

Le LM35 est un capteur de température centigrade de précision, peu coûteux, fabriqué par Texas Instruments. Il fournit une tension de sortie qui est linéairement proportionnelle à la température centigrade et est, par conséquent, très facile à utiliser avec l’Arduino.

L’un des inconvénients de ce capteur est qu’il nécessite une tension de polarisation négative pour lire les températures négatives. Si vous en avez besoin pour votre projet, je vous recommande d’utiliser plutôt le DS18B20 ou le TMP36. Le TMP36 d’Analog Devices est très similaire au LM35 et peut lire des températures de -40°C à 125°C sans aucun composant externe.

Comme vous pouvez le voir dans le schéma de câblage ci-dessus, la sortie du LM35 est connectée à l’une des entrées analogiques de l’Arduino. La valeur de cette entrée analogique peut être lue avec la fonction analogRead(). Cependant, cette fonction ne retournera pas réellement la tension de sortie du capteur.