Arduino LCD Thermometer Bouwen met LM35/36 Temperatuursensor
Onderdelen en benodigdheden
| Arduino UNO | 1 |
| Temperatuursensor LM35 of LM36 | 1 |
| 16x2 LCD display (wit op blauw) | 1 |
| 10kΩ potentiometer (voor LCD-contrast) | 1 |
| Breadboard | 1 |
| Jumper wires | ±19 |
Over dit project

Een eenvoudig project voor beginners: een LCD-thermometer met een Arduino UNO en een LM35/36 analoge temperatuursensor. Geen speciale vaardigheden nodig, bouw in <10 minuten als je de onderdelen hebt.




Alle onderdelen zitten ook in de officiële Arduino Starter Kit (verkrijgbaar op store.arduino.cc) of los bij Adafruit, SparkFun, AliExpress, Banggood, etc.
Geen 10k pot? Een 50k werkt ook.
Stap 1: Onderdelen verzamelen
Zie tabel boven.
Stap 2: Thermometer bouwen

Volg het Fritzing-schema: plaats LCD op breadboard, verbind met Arduino. Potentiometer: linkerpoot → GND, rechterpoot → 5V, middenpoot → LCD Vo (pin 3). Sensor: VCC → 5V, GND → GND, OUT → A0. Let op: verkeerde aansluiting van de sensor kan hem beschadigen (oververhitting tot 280 °C).
Stap 3: Arduino programmeren

Upload een van de twee codes via de Arduino IDE. Draai aan de potentiometer tot de tekens scherp zijn. Je meet nu de omgevingstemperatuur in °C en °F.
Code 1 (van Gaige Kerns, werkt voor LM35 en LM36)
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int sensorPin = 0;
int tempC, tempF;
void setup() {
lcd.begin(16, 2);
}
void loop() {
tempC = get_temperature(sensorPin);
tempF = celsius_to_fahrenheit(tempC);
lcd.setCursor(0, 0);
lcd.print(tempF);
lcd.print(" ");
lcd.print((char)223); // graden teken
lcd.print("F");
delay(200);
}
int get_temperature(int pin) {
int temperature = analogRead(pin);
float voltage = temperature * 5.0 / 1024.0;
return (voltage - 0.5) * 100; // LM35/36: 10 mV/°C, 0.5V offset
}
int celsius_to_fahrenheit(int temp) {
return (temp * 9 / 5) + 32;
}
Code 2 (alternatief, directe berekening)
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int inPin = 0; // A0
void setup() {
lcd.begin(16, 2);
}
void loop() {
int value = analogRead(inPin);
float millivolts = (value / 1024.0) * 5000;
float celsius = millivolts / 10; // 10 mV/°C
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(celsius);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print((celsius * 9) / 5 + 32);
lcd.print("F");
delay(1000);
}
Beide codes werken; kies wat je prettiger vindt. Veel plezier met meten!
Productieproces
- Een Snel, Betrouwbare Brandsdetectiesysteem Bouwen met Samsung SAMIIO, Arduino UNO & Raspberry Pi
- Arduino Nano Flight Simulator 2020 Bedieningspaneel – LCD & CDI Display
- Bouw een Arduino Real-Time Clock voor Islamitische Gebedstijden
- Bouw Boeiende LCD Animaties & Games met Arduino UNO
- Afbeeldingen Weergeven op een 1,17-inch TFT LCD met Arduino UNO
- Arduino & MPU6050: Precieze Servomotor Besturing met SG90 & MG996R
- u-blox LEA‑6H GPS Module: Arduino & Python Integratie Handleiding
- Spraakherkenning & Synthese Meesteren op Arduino Due
- Een 8×8 LED-matrix beheersen met Arduino Uno: Stap-voor-stap handleiding
- Bouw een betrouwbare wekker met DS1302 RTC en Arduino UNO
- 25 kHz 4-pins PWM-ventilatorbesturing met Arduino Uno – Bouw, Code & Test