Arduino Nano - Capteur de température LM35 LCD
Ce tutoriel vous explique comment utiliser un Arduino Nano pour lire la température à partir d'un capteur LM35 puis 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 (y compris le brochage, son fonctionnement et comment le programmer), les tutoriels suivants peuvent vous aider à apprendre :
- Arduino Nano - LCD I2C tutorial
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Code Arduino Nano - Capteur de Température LM35 - LCD I2C
/*
* Ce code Arduino Nano a été développé par newbiely.fr
* Ce code Arduino Nano 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-nano/arduino-nano-lm35-temperature-sensor-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 I2C display
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 temperature_C = milliVolt / 10;
float temperature_F = temperature_C * 9 / 5 + 32; // convert Celsius to Fahrenheit
lcd.clear();
lcd.setCursor(0, 0); // start to print at the first row
lcd.print(temperature_C); // print the temperature in Celsius
lcd.print("°C");
lcd.setCursor(0, 1); // start to print at the second row
lcd.print(temperature_F); // print the temperature in Fahrenheit
lcd.print("°F");
// print the temperature to Serial Monitor
Serial.print(temperature_C);
Serial.print("°C ~ ");
Serial.print(temperature_F);
Serial.println("°F");
delay(500);
}
Étapes rapides
- Cliquez sur l'icône Libraries dans la barre de gauche de l'IDE Arduino.
- Recherchez "LiquidCrystal I2C" et localisez la bibliothèque LiquidCrystal_I2C par Frank de Brabander.
- Ensuite, cliquez sur le bouton Install pour installer la bibliothèque.
- Copiez le code et ouvrez-le dans l'IDE Arduino.
- Cliquez sur le bouton Upload de l'IDE Arduino pour compiler et téléverser le code vers l'Arduino Nano.
- Placez le capteur dans de l'eau chaude et froide, ou tenez-le dans votre main.
- Consultez le résultat sur l'écran LCD et le moniteur série.
※ NOTE THAT:
L'adresse du LCD peut varier selon le fabricant. Dans notre code, nous avons utilisé 0x27 comme spécifié par DIYables.