Messung der Temperatur mit eSptop 10 mit Arduino IDE

Messung der Temperatur mit eSptop 10 mit Arduino IDE
ESP32 ist ein Mikrocontroller -basierter IoT -Board. Mit ESP32 können wir verschiedene Module interpretieren und diese Daten über jeden Server hochladen, um Geräte besser zu überwachen. Genau wie Arduino kann ESP32 dank seiner GPIO. Heute werden wir diskutieren, wie ESP32 seinen Zweck bei der Beobachtung der Temperaturänderungen mit LM35 -Temperatursensor erfüllen kann.

ESP32 mit LM35

Um die Temperatur mit ESP32 zu messen, benötigen wir einen externen Sensor. Wir werden also LM35 verwenden, einen Temperatursensor, der mit Mikrocontroller -Boards weit verbreitet ist. Ein maximaler Temperaturbereich von 55 ° C bis 150 ° C kann damit gemessen werden. Man muss es nur ausschalten und es wird sofort den Spannungsniveau am Ausgangsanschluss lesen. Vout Pin erstellt die Ausgangstemperatur auf ESP32 -Pin.

Im Folgenden finden Sie einige technische Spezifikationen von LM35:

  • Linearer + 10-mV/° C-Skalierungsfaktor
  • 0.5 ° C sorgte für Genauigkeit (bei 25 ° C)
  • Temperaturbereich von –55 ° C bis 150 ° C
  • Spannungsbereich von 4 V bis 30 V
  • Weniger als 60 μA Stromabfluss
  • Nichtlinearität nur ± ¼ ° C typisch

LM35 Pinout

Der LM35 -Sensor hat drei verschiedene Stifte:

PIN Nummer Pin -Name Beschreibung
1 VCC Dieser Stift kann die Eingangsspannung von 5 V erfolgen
2 Analog Für einen Anstieg von 1C wird eine Spannungsanstimmung von 10 mV beobachtet. Der typische Bereich ist von -55 ° C bis 150 ° C (150 ° C)
3 Boden Mit GND von ESP32 verbunden

Schaltkreis

Verbinden Sie LM35 mit ESP32 mit den drei Klemmen am Sensor. Zwei der Seitenbeine werden mit dem GND- und Vin -Stift von ESP32 verbunden, während der zentrale Stift -Vout mit dem GPIO -Pin von ESP32 angeschlossen wird. Das folgende Bild zeigt Verbindungen von ESP32 -Boards mit LM35:

Nachstehend Tabelle Erläutern Sie den Verbindungsstift für LM35 -Temperatursensor:

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

Hardware

Um den Schaltkreis von ESP32 mit LM35 -Temperatursensor zu machen, ist die Liste der Komponenten erforderlich.

  • LM35 Temperatursensor
  • ESP32 Vorstand
  • Jumperdrähte
  • Brotbrett
  • Mikro -USB -Kabel

Code

Öffnen Sie den IDE -Schreibcode unten im Editor. Wählen Sie die ESP32 -Karte aus und klicken Sie auf Hochladen.

#include "ESP_ADC_CAL.H " /*ESP32 ADC -Kalibrierungsdatei* /
#define lm35_gpio_pin 35 /*Digital Pin 35 ist eingestellt* /
int lm35_input = 0;
float tempc = 0.0; /*Variable tempc wird initialisiert*/
float tempf = 0.0; /*Variable tempf wird initialisiert*/
Schwimmspannung = 0.0; /*Die variable Spannung wird initialisiert*/
void setup ()

Serie.Beginnen Sie (115200); /*Serielle Kommunikation beginnt*/

Hohlraumschleife ()

Lm35_input = analograd (lm35_gpio_pin); /*Lesen Sie LM35_GPIO_PIN ADC PIN*/
Voltage = readadc_cal (LM35_Input); /*Kalibrieren Sie ADC und erhalten Sie Spannung (in MV)*//////
Tempc = spannung / 10; /*Tempc = spannung (mv) / 10* /
Tempf = (tempc * 1.8) + 32; /* Drucken Sie die Messwerte*////
Serie.print ("Temperatur in ° C =");
Serie.print (tempc); /*Temperatur in c*/drucken
Serie.print (", Temperatur in ° F =");
Serie.println (tempf); /*Temperatur in f*/drucken
Verzögerung (1000);

/*Code für die digitale Kalibrierung, um präzise Lesungen zu erhalten*/
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_voltage (adc_raw, adc_chars));

Um die Temperatur mit ESP32 zu messen, müssen wir eine ADC -Kalibrierungsdatei in den Code aufnehmen. Mit diesem können wir die Temperaturempfindlichkeit von LM35 erhöhen.

#include "ESP_ADC_CAL.H"

Definieren Sie den LM35 -Pin, bei dem er mit ESP32 verbunden ist. Dieser GPIO -Pin wird als ADC -Analogeingangskanal verwendet.

#define lm35_gpio_pin 35

Erstellen Sie nun vier Variablen, eine von int und 3 schweben Datentypen, die den LM35 -Eingang enthalten und die Spannung vom Sensor lesen, um Werte in Grad- und Celsius -Temperatur umzuwandeln. Im Folgenden finden Sie die vier Variablen:

int lm35_input = 0;
float tempc = 0.0;
float tempf = 0.0;
Schwimmspannung = 0.0;

In aufstellen Teil des Code -initialisierten seriellen Kommunikation durch Definition der Baud -Rate.

void setup ()

Serie.Beginnen Sie (115200);

Im Schleife Teil der Skizze Lesen Sie analoge Werte und speichern Sie sie in Spannungsvariablen.

Lm35_input = analograd (lm35_gpio_pin);
Voltage = readadc_cal (LM35_Input);

Drucken Sie als nächstes die Temperatur in ° C und ° F aus.

Tempc = spannung / 10;
Tempf = (tempc * 1.8) + 32;
Serie.print ("Temperatur in ° C =");
Serie.print (tempc);
Serie.print (", Temperatur in ° F =");
Serie.println (tempf);

Fügen Sie diesen Code Ihrer Skizze hinzu. Dabei kalibriert dies den Eingangs -ADC -Wert und wandelt sie in die Temperatur ° C und ° F um.

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_voltage (adc_raw, adc_chars));

Ausgang

Mit der seriellen Kommunikation können wir die Ausgabe auf einem seriellen Monitor drucken. Es werden zwei verschiedene Temperaturen gezeigt, einer wird in C und eine andere in f darstellen.

Nach dem Auftragen der Wärme auf den Sensor unter Verwendung eines Gasleichters wird eine allmähliche Temperaturänderung beobachtet.

Abschluss

ESP32 ist einfach zu bedienen und betreibt eine benutzerfreundliche Mikrocontroller-Karte. Hier in diesem Artikel heben wir alle Schritte hervor, die für die Messung der Temperatur mithilfe der ESP32 -Board erforderlich sind. Es wird ein Temperatursensor LM35 verwendet, wodurch die gemessene Temperatur auf dem seriellen Monitor gedruckt wird. Mehrere andere Temperatursensoren sind ebenfalls mehr Präzision als LM35 zur Verfügung, um sie zu wissen. Klicken Sie hier.