ESP32 - Temperatuursensor - LCD

Deze tutorial legt uit hoe u de ESP32 gebruikt om de temperatuur uit te lezen van een DS18B20 temperatuursensor en deze te tonen op een LCD I2C 16x2.

Hardware Benodigd

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×LCD I2C
1×DS18B20 Temperatuursensor (MET adapter)
1×DS18B20 Temperatuursensor (ZONDER adapter)
1×Breadboard (experimenteerprint)
1×Jumperdraden
1×(Optioneel) DC voedingsaansluiting
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.

Aankoopadvies: Veel DS18B20-sensoren op de markt zijn van lage kwaliteit. We raden u ten zeerste aan de sensor van het merk DIYables te kopen via de bovenstaande link. We hebben het getest en het werkte goed.

Over de temperatuursensor en LCD

We hebben specifieke tutorials over temperatuursensoren en LCD’s. Elke tutorial bevat gedetailleerde informatie en stapsgewijze instructies over hardware pinout, werkingsprincipe, bedrading naar ESP32, ESP32 code... Leer meer over deze onderwerpen via de volgende links:

Bedradingsschema

ESP32 Temperatuursensor LCD bedrading schema

This image is created using Fritzing. Click to enlarge image

Hoe ESP32 aansluiten op temperatuursensor en LCD

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-temperature-sensor-lcd */ #include <OneWire.h> #include <DallasTemperature.h> #include <LiquidCrystal_I2C.h> #define SENSOR_PIN 23 // ESP32 pin GPIO23 connected to DS18B20 sensor's DQ pin OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows float tempC; // temperature in Celsius float tempF; // temperature in Fahrenheit void setup() { DS18B20.begin(); // initialize the sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures tempC = DS18B20.getTempCByIndex(0); // read temperature in Celsius tempF = tempC * 9 / 5 + 32; // convert Celsius to Fahrenheit lcd.clear(); lcd.setCursor(0, 0); // display position lcd.print(tempC); // display the temperature in Celsius lcd.print((char)223); // display ° character lcd.print("C"); lcd.setCursor(0, 1); // display position lcd.print(tempF); // display the temperature in Fahrenheit lcd.print((char)223); // display ° character lcd.print("F"); delay(500); }

※ Notiz:

Het I2C-adres van het LCD kan per fabrikant verschillen. In de code gebruiken we het adres 0x27, gespecificeerd door de fabrikant DIYables.

Snelle stappen

  • Als dit de eerste keer is dat u een ESP32 gebruikt, lees dan hoe u de omgeving instelt voor ESP32 in de Arduino IDE.
  • Maak de bedrading zoals op bovenstaande afbeelding.
  • Verbind de ESP32 met uw PC via een micro USB-kabel.
  • Open Arduino IDE op uw PC.
  • Selecteer het juiste ESP32 board (bijvoorbeeld ESP32 Dev Module) en de juiste COM-poort.
  • Klik op het Libraries-icoon in de linkerzijbalk van de Arduino IDE.
  • Zoek in het zoekveld naar “DallasTemperature” en zoek de DallasTemperature bibliotheek van Miles Burton.
  • Klik op Installeren om de DallasTemperature-bibliotheek te installeren.
ESP32 Dallas Temperature bibliotheek
  • U wordt gevraagd om een afhankelijkheid te installeren. Klik op Installeer Alles om de OneWire-bibliotheek te installeren.
ESP32 onewire bibliotheek
  • Typ “LiquidCrystal I2C” in het zoekveld en zoek de LiquidCrystal_I2C bibliotheek van Frank de Brabander.
  • Klik op Installeren om de LiquidCrystal_I2C-bibliotheek te installeren.
ESP32 LiquidCrystal I2C bibliotheek
  • Kopieer de bovenstaande code en plak deze in de Arduino IDE.
  • Compileer en upload de code naar de ESP32 door te klikken op de knop Uploaden in de Arduino IDE.
Arduino IDE Code uploaden
  • Maak de sensor warmer of kouder door de DS18B20 temperatuursensor in uw hand te houden of in warm en koud water te plaatsen.
  • Bekijk het resultaat op het LCD.

Indien het LCD niets weergeeft, zie Probleemoplossing bij LCD I2C

Regel-voor-regel Code Uitleg

De bovenstaande ESP32-code bevat een regel-voor-regel uitleg. Lees alstublieft de commentaarregels in de code!

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!