Mesurer la température avec Esptop 10 en utilisant Arduino IDE

Mesurer la température avec Esptop 10 en utilisant Arduino IDE
ESP32 est un tableau IoT basé sur le microcontrôleur. En utilisant ESP32, nous pouvons interfacer différents modules et télécharger ces données sur n'importe quel serveur pour une meilleure surveillance des appareils. Tout comme Arduino, ESP32 est capable d'interfacer avec une grande gamme de matériel grâce à ses broches GPIO. Aujourd'hui, nous discuterons de la façon dont ESP32 peut servir son objectif dans l'observation des changements de température en utilisant le capteur de température LM35.

ESP32 avec LM35

Pour commencer à mesurer la température avec ESP32, nous avons besoin d'un capteur externe. Nous utiliserons donc LM35, un capteur de température largement utilisé avec des cartes de microcontrôleur. Une plage de température maximale de 55 ° C à 150 ° C peut être mesurée par elle. Il suffit de l'alimenter et il lira instantanément le niveau de tension sur le terminal de sortie. La broche Vout mappera la température de sortie sur la broche ESP32.

Voici quelques spécifications techniques de LM35:

  • Facteur d'échelle linéaire + 10 mv / ° C
  • 0.5 ° C a assuré la précision (à 25 ° C)
  • Plage de température de -55 ° C à 150 ° C
  • Plage de tension de 4 V à 30 V
  • Moins de 60 μa de drain de courant
  • Non-linéarité seulement ± ¼ ° C typique

Pinout LM35

Le capteur LM35 a trois épingles différentes:

Code PIN Nom de broche Description
1 VCC Cette broche peut prendre une tension d'entrée de 5V
2 Analogique Pour une augmentation de 1C, une augmentation de tension de 10 mV sera observée. La plage typique est de -1V (-55 ° C) à 6V (150 ° C)
3 Sol Connecté à GND de ESP32

Circuit

Connectez LM35 à ESP32 en utilisant les trois bornes sur le capteur. Deux des jambes latérales seront connectées à la broche GND et VIN de ESP32 tandis que la broche centrale sera connectée à la broche GPIO de ESP32. L'image suivante illustre les connexions des cartes ESP32 avec LM35:

Ci-dessous Tableau Expliquez la broche de connexion pour le capteur de température LM35:

Broche LM35 Broche ESP32
Broche 1 vs Vin
Pin 2 Vout D35
Broche 3 GND GND

Matériel

Pour faire le circuit d'ESP32 avec un capteur de température LM35 suivant la liste des composants sera nécessaire.

  • Capteur de température LM35
  • Conseil ESP32
  • Fils de cavalier
  • Planche à pain
  • Câble micro USB

Code

Open IDE Write Code ci-dessous dans l'éditeur. Sélectionnez la carte ESP32 et cliquez sur Télécharger.

#include "ESP_ADC_CAL.H "/ * ESP32 Fichier d'étalonnage ADC * /
#define lm35_gpio_pin 35 / * La broche numérique 35 est définie * /
int lm35_input = 0;
float tempc = 0.0; / * la température variable est initialisée * /
float tempf = 0.0; / * la variable tempf est initialisée * /
tension flottante = 0.0; / * La tension variable est initialisée * /
void setup()

En série.commencer (115200); / * La communication série commence * /

VOID LOOP ()

Lm35_input = analograad (lm35_gpio_pin); / * Lire LM35_GPIO_PIN PIN ADC * /
Tension = readadc_cal (lm35_input); / * Calibrer ADC & Get Tentage (en MV) * ​​/
Tempc = tension / 10; / * Tempc = tension (mv) / 10 * /
Tempf = (tempc * 1.8) + 32; / * Imprimez les lectures * /
En série.imprimer ("température dans ° C =");
En série.imprimer (tempc); / * Imprimer la température en c * /
En série.imprimer (", température en ° f =");
En série.println (tempf); / * Imprimer la température en f * /
retard (1000);

/ * Code pour l'étalonnage numérique pour obtenir des lectures précises * /
uint32_t readadc_cal (int adc_raw)

ESP_ADC_CAL_CHARACTERISTISTISS_T ADC_CHARS;
ESP_ADC_CAL_CHARACTERRIE (ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12, 1100, & ADC_CHARS);
return (esp_adc_cal_raw_to_voltage (adc_raw, & adc_chars));

Pour commencer à mesurer la température en utilisant ESP32, nous devons inclure un fichier d'étalonnage ADC dans le code. En utilisant cela, nous pouvons augmenter la sensibilité à la température LM35.

#include "ESP_ADC_CAL.H "

Définissez la broche LM35 à laquelle il est lié à ESP32. Cette broche GPIO sera utilisée comme canal d'entrée analogique ADC.

#define lm35_gpio_pin 35

Créez maintenant quatre variables, l'une des int et 3 flotter Types de données qui maintiendront l'entrée LM35 et liront la tension du capteur pour convertir les valeurs en degrés et Celsius. Voici les quatre variables:

int lm35_input = 0;
float tempc = 0.0;
float tempf = 0.0;
tension flottante = 0.0;

Dans installation partie du code initialisé la communication série en définissant le taux de bauds.

void setup()

En série.commencer (115200);

Dans le boucle Une partie de l'esquisse Lire les valeurs analogiques et les stocker en variables de tension.

Lm35_input = analograad (lm35_gpio_pin);
Tension = readadc_cal (lm35_input);

Imprimez ensuite la température en ° C et ° F.

Tempc = tension / 10;
Tempf = (tempc * 1.8) + 32;
En série.imprimer ("température dans ° C =");
En série.imprimer (tempc);
En série.imprimer (", température en ° f =");
En série.println (tempf);

Ajoutez ce code à votre croquis.

uint32_t readadc_cal (int adc_raw)

ESP_ADC_CAL_CHARACTERISTISTISS_T ADC_CHARS;
ESP_ADC_CAL_CHARACTERRIE (ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12, 1100, & ADC_CHARS);
return (esp_adc_cal_raw_to_voltage (adc_raw, & adc_chars));

Sortir

En utilisant la communication série, nous pouvons imprimer la sortie sur un moniteur série. Deux températures différentes seront montrées, l'une représentera en C et une autre en F.

Après avoir appliqué de la chaleur sur le capteur à l'aide d'un plus léger de gaz, un changement progressif de température sera observé.

Conclusion

ESP32 est facile à utiliser et exploite une carte de microcontrôleur conviviale qui peut s'interfacer avec une large gamme de capteurs. Ici, dans cette écriture, nous mettons en évidence toutes les étapes nécessaires pour commencer à mesurer la température à l'aide de la carte ESP32. Un capteur de température LM35 est utilisé qui imprimera la température mesurée sur le moniteur en série. Plusieurs autres capteurs de température sont également disponibles avec plus de précision que LM35 pour les savoir cliquez ici.