Målingstemperatur med esptop 10 ved bruk av Arduino IDE

Målingstemperatur med esptop 10 ved bruk av Arduino IDE
ESP32 er et mikrokontrollerbasert IoT -brett. Ved hjelp av ESP32 kan vi grensesnitt forskjellige moduler og laste opp disse dataene over enhver server for bedre overvåking av enheter. Akkurat som Arduino, er ESP32 i stand til å grensesnitt med et stort utvalg av maskinvare takket være GPIO -pinnene. I dag vil vi diskutere hvordan ESP32 kan tjene sitt formål med å observere temperaturendringene ved bruk av LM35 temperatursensor.

ESP32 med LM35

For å begynne å måle temperatur med ESP32 trenger vi en ekstern sensor. Så vi bruker LM35, en temperatursensor som er mye brukt med mikrokontrollertavler. Et maksimalt temperaturområde fra 55 ° C til 150 ° C kan måles ved det. Man trenger bare å slå den opp, og den vil øyeblikkelig lese spenningsnivået på utgangsterminalen. Vout -pinne vil kartlegge utgangstemperaturen på ESP32 -pinnen.

Følgende er noen tekniske spesifikasjoner for LM35:

  • Lineær + 10-mV/° C skalafaktor
  • 0.5 ° C sikret nøyaktighet (ved 25 ° C)
  • Temperaturområdet −55 ° C til 150 ° C
  • Spenningsområdet fra 4 V til 30 V
  • Mindre enn 60 μa strømavløp
  • Ikke-linearitet bare ± ¼ ° C typisk

LM35 Pinout

LM35 -sensor har tre forskjellige pinner:

PIN-kode PIN -navn Beskrivelse
1 VCC Denne pinnen kan ta inngangsspenning på 5V
2 Analog ut For en økning på 1C vil en spenningsøkning på 10 mV observeres. Typisk område er fra -1V (-55 ° C) til 6V (150 ° C)
3 Bakke Koblet til GND av ESP32

Krets

Koble LM35 med ESP32 ved å bruke de tre terminalene på sensoren. To av sidebenene vil være koblet til GND og VIN -pinnen til ESP32 mens den sentrale pinnen Vout vil være koblet til GPIO -pinnen til ESP32. Følgende bilde illustrerer tilkoblinger av ESP32 -brett med LM35:

Under tabell Forklar tilkoblingsnål for LM35 temperatursensor:

LM35 PIN ESP32 PIN
PIN 1 vs Vin
PIN 2 VOUT D35
PIN 3 GND GND

Maskinvare

For å lage kretsen til ESP32 med LM35 -temperatursensor vil det være nødvendig.

  • LM35 temperatursensor
  • ESP32 Board
  • Jumper ledninger
  • Brødbrett
  • Micro USB -kabel

Kode

Åpne IDE -skrivekode nedenfor i Editor. Velg ESP32 -tavlen og klikk Last opp.

#include "esp_adc_cal.H " /*ESP32 ADC Kalibreringsfil* /
#Define LM35_GPIO_PIN 35 /*Digital PIN 35 er satt* /
int lm35_input = 0;
flyte tempc = 0.0; /*Variabel tempc er initialisert*/
Float tempf = 0.0; /*Variabel tempf er initialisert*/
Flyte spenning = 0.0; /*Variabel spenning initialiseres*/
ugyldig oppsett ()

Serie.Begin (115200); /*Seriell kommunikasjon begynner*/

ugyldig sløyfe ()

LM35_Input = Analogread (LM35_GPIO_PIN); /*Les LM35_GPIO_PIN ADC PIN*/
Spenning = readadc_cal (lm35_input); /*Kalibrer ADC og få spenning (i MV)*/
Tempc = spenning / 10; /*Tempc = spenning (mv) / 10* /
Tempf = (tempc * 1.8) + 32; /* Skriv ut avlesningene*/
Serie.print ("temperatur i ° C =");
Serie.print (tempc); /*Skriv ut temp i C*/
Serie.print (", temperatur i ° f =");
Serie.println (tempf); /*Skriv ut temp i f*/
forsinkelse (1000);

/*Kode for digital kalibrering for å få presise avlesninger*/
uint32_t readadc_cal (int adc_raw)

esp_adc_cal_characteristics_t adc_chars;
esp_adc_cal_characterize (adc_unit_1, adc_atten_db_11, adc_width_bit_12, 1100, & adc_chars);
return (esp_adc_cal_raw_to_spoltage (adc_raw, & adc_chars));

For å begynne å måle temperatur ved hjelp av ESP32 må vi ta med en ADC -kalibreringsfil i kode. Ved å bruke dette kan vi øke LM35 -temperaturfølsomheten.

#include "esp_adc_cal.h "

Definer LM35 -pinnen som den er koblet til ESP32. Denne GPIO -pinnen vil bli brukt som en ADC -analog inngangskanal.

#Define LM35_GPIO_PIN 35

Lag nå fire variabler, en av int og 3 flyte Datatyper som vil holde LM35 -inngangen og lese spenningen fra sensoren for å konvertere verdier til grad og Celsius -temperatur. Følgende er de fire variablene:

int lm35_input = 0;
flyte tempc = 0.0;
Float tempf = 0.0;
Flyte spenning = 0.0;

I oppsett En del av koden initialisert seriell kommunikasjon ved å definere baudfrekvens.

ugyldig oppsett ()

Serie.Begin (115200);

I Løkke En del av skissen Les analoge verdier og lagrer dem i spenningsvariabler.

LM35_Input = Analogread (LM35_GPIO_PIN);
Spenning = readadc_cal (lm35_input);

Skriv deretter ut temperaturen i ° C og ° F.

Tempc = spenning / 10;
Tempf = (tempc * 1.8) + 32;
Serie.print ("temperatur i ° C =");
Serie.print (tempc);
Serie.print (", temperatur i ° f =");
Serie.println (tempf);

Legg til denne koden i skissen din. Dette vil kalibrere inngangen ADC -avlesningen og konvertere dem til temperatur ° C og ° F.

uint32_t readadc_cal (int adc_raw)

esp_adc_cal_characteristics_t adc_chars;
esp_adc_cal_characterize (adc_unit_1, adc_atten_db_11, adc_width_bit_12, 1100, & adc_chars);
return (esp_adc_cal_raw_to_spoltage (adc_raw, & adc_chars));

Produksjon

Ved hjelp av seriell kommunikasjon kan vi skrive ut utdata på en seriell skjerm. To forskjellige temperaturer vil bli vist, en vil representere i C og annen i f.

Etter påført varme på sensoren ved bruk av en gasslysere vil en gradvis temperaturendring bli observert.

Konklusjon

ESP32 er enkel å bruke og driver et brukervennlig mikrokontrollertavle som kan grensesnitt mot et stort utvalg av sensorer. Her i denne skrivingen fremhever vi alle trinnene som trengs for å begynne å måle temperatur ved hjelp av ESP32 -brettet. En temperatursensor LM35 brukes som vil skrive ut den målte temperaturen på seriemonitoren. Flere andre temperatursensorer er også tilgjengelige med mer presisjon enn LM35 å vite om dem. Klikk her.