ESP32 - LM35 Temperatuursensor

Deze handleiding legt uit hoe u de ESP32 gebruikt om temperatuurswaarden te lezen van een LM35 temperatuursensor en deze vervolgens af te drukken op de Serial Monitor.

Hardware Benodigdheden

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×LM35 Temperatuursensor
1×Breadboard (experimenteerprint)
1×Jumperdraden
1×(Optioneel) DC Power Jack
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor ESP32
1×(Aanbevolen) Breakout Expansion Board for ESP32
1×(Aanbevolen) Stromsplitter voor ESP32

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over de LM35 Temperatuursensor

LM35 Temperatuursensor Pinout

De LM35 temperatuursensor heeft drie pinnen:

  • VCC pin: sluit deze pin aan op VCC (5V)
  • GND pin: sluit deze pin aan op GND (0V)
  • OUT pin: deze pin geeft een spanning uit die evenredig is aan de temperatuurwaarde.
LM35 temperature sensor Pinout

Hoe werkt de LM35 Temperatuursensor?

De LM35 sensor geeft een uitgangsspanning die lineair evenredig is met de temperatuur in graden Celsius. De schaalfactor van de LM35 is 10 mV/°C. Door de spanning op de OUT pin van de LM35 te meten, kunnen we de temperatuurwaarde berekenen.

Bedradingsschema tussen LM35 Temperatuursensor en ESP32

Het bedradingsschema met voeding via USB-kabel

ESP32 LM35 temperature sensor Wiring Diagram

This image is created using Fritzing. Click to enlarge image

Het bedradingsschema met voeding via 5V adapter

ESP32 LM35 temperature sensor Wiring Diagram

This image is created using Fritzing. Click to enlarge image

ESP32 Code

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-lm35-temperature-sensor */ #define ADC_VREF_mV 3300.0 // in millivolt #define ADC_RESOLUTION 4096.0 #define PIN_LM35 36 // ESP32 pin GPIO36 (ADC0) connected to LM35 void setup() { Serial.begin(9600); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { // read the ADC value from the temperature sensor int adcVal = analogRead(PIN_LM35); // convert the ADC value to voltage in millivolt float milliVolt = adcVal * (ADC_VREF_mV / ADC_RESOLUTION); // convert the voltage to the temperature in °C float tempC = milliVolt / 10; // convert the °C to °F float tempF = tempC * 9 / 5 + 32; // print the temperature in the Serial Monitor: Serial.print("Temperature: "); Serial.print(tempC); // print the temperature in °C Serial.print("°C"); Serial.print(" ~ "); // separator between °C and °F Serial.print(tempF); // print the temperature in °F Serial.println("°F"); delay(500); }

Snelle Stappen

  • Als u ESP32 voor het eerst gebruikt, zie dan hoe de omgeving voor ESP32 in Arduino IDE in te stellen.
  • Kopieer bovenstaande code en plak deze in Arduino IDE.
  • Compileer en upload de code naar het ESP32-board door op de Upload knop in Arduino IDE te klikken.
  • Maak de sensor kouder of warmer. Bijvoorbeeld door de sensor dicht bij een ijsbakje te plaatsen.
  • Bekijk het resultaat in de Serial Monitor. Dit ziet er ongeveer zo uit:
COM6
Send
Temperature: 26.31°C ~ 79.36°F Temperature: 26.44°C ~ 79.59°F Temperature: 26.50°C ~ 79.70°F Temperature: 26.56°C ~ 79.81°F Temperature: 27.06°C ~ 80.71°F Temperature: 27.75°C ~ 81.95°F Temperature: 28.37°C ~ 83.07°F Temperature: 29.00°C ~ 84.20°F Temperature: 29.56°C ~ 85.21°F Temperature: 30.00°C ~ 86.00°F Temperature: 30.31°C ~ 86.56°F Temperature: 30.62°C ~ 87.12°F Temperature: 30.87°C ~ 87.57°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

Deze handleiding maakt gebruik van de functie analogRead() om waarden te lezen van een ADC (Analog-to-Digital Converter) verbonden met een LM35 sensor. De ADC van de ESP32 is geschikt voor projecten waarbij geen hoge nauwkeurigheid vereist is. Echter, voor projecten die precieze metingen nodig hebben, let op:

  • De ADC van de ESP32 is niet perfect nauwkeurig en kan kalibratie vereisen voor correcte resultaten. Elke ESP32 kan iets verschillen, dus u moet de ADC per bord kalibreren.
  • Kalibratie kan lastig zijn, vooral voor beginners, en geeft mogelijk niet altijd de exacte gewenste resultaten.

Voor projecten die hoge precisie vereisen, overweeg het gebruik van een externe ADC (bijvoorbeeld ADS1115) met de ESP32 of het gebruik van een Arduino, die een betrouwbaardere ADC heeft. Als u toch de ESP32 ADC wilt kalibreren, raadpleeg dan de ESP32 ADC Kalibratie Driver

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!