Arduino - Temperatuursensor - LCD

Hardware Benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×LCD I2C
1×DS18B20 Temperatuursensor (MET adapter)
1×DS18B20 Temperatuursensor (ZONDER adapter)
1×Jumper draden
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

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 Temperatuursensor en LCD

Als u nog niet bekend bent met de temperatuursensor en LCD (pinout, werking, hoe te programmeren ...), leer hierover in de volgende handleidingen:

Bedradingsschema

  • Bedradingsschema
Arduino Temperatuursensor LCD Bedradingsschema

This image is created using Fritzing. Click to enlarge image

  • Werkelijke bedrading
Arduino ds18b20 LCD Bedradingsschema

This image is created using Fritzing. Click to enlarge image

We raden aan een DS18B20 sensor te kopen die met een bedrading adapter wordt geleverd voor een gemakkelijke aansluiting. De adapter heeft een ingebouwde weerstand, waardoor een aparte weerstand in de bedrading niet nodig is.

Arduino Code

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-temperature-sensor-lcd */ #include <OneWire.h> #include <DallasTemperature.h> #include <LiquidCrystal_I2C.h> const int SENSOR_PIN = 13; // Arduino pin connected to DS18B20 sensor's DQ pin OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature sensors(&oneWire); // pass oneWire to DallasTemperature library LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows float tempCelsius; // temperature in Celsius float tempFahrenheit; // temperature in Fahrenheit void setup() { sensors.begin(); // initialize the sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { sensors.requestTemperatures(); // send the command to get temperatures tempCelsius = sensors.getTempCByIndex(0); // read temperature in Celsius tempFahrenheit = tempCelsius * 9 / 5 + 32; // convert Celsius to Fahrenheit lcd.clear(); lcd.setCursor(0, 0); // start to print at the first row lcd.print(tempCelsius); // print the temperature in Celsius lcd.print((char)223); // print ° character lcd.print("C"); lcd.setCursor(0, 1); // start to print at the second row lcd.print(tempFahrenheit); // print the temperature in Fahrenheit lcd.print((char)223); // print ° character lcd.print("F"); delay(500); }

※ Notiz:

Het I2C-adres van de LCD kan variëren afhankelijk van de fabrikant. In de code gebruiken we 0x27, wat is gespecificeerd door de fabrikant DIYables.

Snel aan de slag

  • Verbind de Arduino met uw PC via de USB-kabel
  • Open de Arduino IDE, kies het juiste board en de juiste poort
  • Ga naar het Libraries icoon in de linkerzijbalk van de Arduino IDE.
  • Zoek op “DallasTemperature”, en vind de DallasTemperature library van Miles Burton.
  • Klik op de knop Install om de DallasTemperature library te installeren.
Arduino Dallas Temperature library
  • U wordt gevraagd om ook de library afhankelijkheden te installeren
  • Klik op de knop Install All om de OneWire library te installeren.
Arduino onewire library
  • Zoek op “LiquidCrystal I2C”, en vind de LiquidCrystal_I2C library van Frank de Brabander
  • Klik op de knop Install om de LiquidCrystal_I2C library te installeren.
Arduino LiquidCrystal I2C library
  • Kopieer de bovenstaande code en open deze met de Arduino IDE
  • Klik op de knop Upload in de Arduino IDE om de code naar de Arduino te uploaden
Arduino IDE Upload Code
  • Plaats de sensor in warm en koud water, of houd de sensor in uw hand
  • Bekijk het resultaat op het LCD
Arduino ds18b20 LCD Bedradingsschema

This image is created using Fritzing. Click to enlarge image

Als het LCD niets weergeeft, zie Probleemoplossing LCD I2C

Code Uitleg

Lees de regel-voor-regel uitleg in de commentaarregels van de broncode!

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!