Arduino - Afficher la température du capteur LM35 sur un LCD
Dans ce tutoriel, nous allons apprendre à lire la température à partir du capteur LM35 et à l'afficher sur un écran LCD 16x2 I2C.
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.
À propos du capteur de température LM35 et de l'écran LCD I2C
Si vous ne connaissez pas le capteur de température LM35 et l'écran LCD I2C (brochage, fonctionnement, programmation...), renseignez-vous sur ces derniers dans les tutoriels suivants :
- Arduino - LCD I2C tutorial
- Arduino - LM35 Temperature Sensor tutorial
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Code Arduino - Capteur de température LM35 - LCD I2C
/*
* Ce code Arduino a été développé par newbiely.fr
* Ce code Arduino est mis à disposition du public sans aucune restriction.
* Pour des instructions complètes et des schémas de câblage, veuillez visiter:
* https://newbiely.fr/tutorials/arduino/arduino-display-temperature-from-lm35-sensor-on-lcd
*/
#include <LiquidCrystal_I2C.h> // LCD I2C library
#define ADC_VREF_mV 5000.0 // in millivolt
#define ADC_RESOLUTION 1024.0
#define PIN_LM35 A0 // pin connected to LM35 temperature sensor
LiquidCrystal_I2C lcd(0x27, 16, 2); // LCD I2C address 0x27 (from DIYables LCD), 16 column and 2 rows
void setup() {
Serial.begin(9600);
lcd.init(); // initialize the lcd
lcd.backlight(); // open the backlight
}
void loop() {
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 Celsius
float tempC = milliVolt / 10;
float tempF = tempC * 9 / 5 + 32; // convert Celsius to Fahrenheit
lcd.clear();
lcd.setCursor(0, 0); // start to print at the first row
lcd.print(tempC); // print the temperature in Celsius
lcd.print("°C");
lcd.setCursor(0, 1); // start to print at the second row
lcd.print(tempF); // print the temperature in Fahrenheit
lcd.print("°F");
// print the temperature to Serial Monitor
Serial.print(tempC);
Serial.print("°C ~ ");
Serial.print(tempF);
Serial.println("°F");
delay(500);
}
Étapes rapides
- Ouvrez Arduino IDE sur votre PC.
- Naviguez jusqu'à l'icône Libraries sur la barre gauche de l'Arduino IDE.
- Recherchez "LiquidCrystal I2C", puis trouvez la bibliothèque LiquidCrystal_I2C par Frank de Brabander
- Cliquez sur le bouton Install pour installer la bibliothèque LiquidCrystal_I2C.
- Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
- Cliquez sur le bouton Upload dans Arduino IDE pour téléverser le code vers Arduino
- Placez le capteur dans l'eau chaude et froide, ou saisissez le capteur avec votre main
- Consultez le résultat sur l'écran LCD et le moniteur série
※ NOTE THAT:
L'adresse I2C de l'écran LCD peut varier selon les fabricants. Dans le code, nous avons utilisé 0x27 qui est spécifié par le fabricant DIYables.