7n25gSnP 发表于 2026-3-22 17:11:45

Arduino温度传感器教程 - LM35+LCD1602数字温度计

【Arduino入门教程】用LM35和LCD1602制作数字温度计

所需材料:
- Arduino UNO 开发板 x1
- LM35温度传感器 x1
- LCD1602液晶屏(带I2C转接板)x1
- 面包板 x1
- 杜邦线若干
- 10K电位器 x1(不带I2C时调节对比度用)

总成本:约20-30元

接线说明:

LM35温度传感器:
- VCC 接 Arduino 5V
- GND 接 Arduino GND
- OUT 接 Arduino A0

LCD1602(I2C接口版):
- VCC 接 Arduino 5V
- GND 接 Arduino GND
- SDA 接 Arduino A4
- SCL 接 Arduino A5

完整代码:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Temperature");
lcd.setCursor(0, 1);
lcd.print("Monitor v1.0");
delay(2000);
lcd.clear();
}

void loop() {
int rawValue = analogRead(A0);
float voltage = rawValue * 5.0 / 1024.0;
float tempC = voltage * 100.0;
float tempF = tempC * 9.0 / 5.0 + 32.0;

lcd.setCursor(0, 0);
lcd.print("Temp:");
lcd.print(tempC, 1);
lcd.print((char)223);
lcd.print("C");

lcd.setCursor(0, 1);
lcd.print("   ");
lcd.print(tempF, 1);
lcd.print((char)223);
lcd.print("F");

delay(1000);
}

安装依赖库:
1. 打开Arduino IDE
2. 工具 - 管理库
3. 搜索 "LiquidCrystal I2C"
4. 安装 "LiquidCrystal I2C" by Frank de Brabander

进阶功能代码 - 带最高最低温度记录:

float maxTemp = -999;
float minTemp = 999;

void loop() {
int rawValue = analogRead(A0);
float tempC = rawValue * 5.0 / 1024.0 * 100.0;

if (tempC > maxTemp) maxTemp = tempC;
if (tempC < minTemp) minTemp = tempC;

lcd.setCursor(0, 0);
lcd.print("Now:");
lcd.print(tempC, 1);
lcd.print((char)223);
lcd.print("C");

lcd.setCursor(0, 1);
lcd.print("H:");
lcd.print(maxTemp, 1);
lcd.print(" L:");
lcd.print(minTemp, 1);

delay(1000);
}

项目扩展思路:
1. 加入蜂鸣器,超过设定温度报警
2. 加入DS18B20防水温度传感器测水温
3. 加入SD卡模块记录温度数据
4. 加入ESP8266实现WiFi远程监控
5. 做一个温湿度计(加DHT11传感器)
6. 加上继电器控制风扇自动开关

常见问题解答:
Q: LCD只亮背光不显示字符?
A: 调节I2C板上的蓝色电位器,或者检查I2C地址是否正确(用I2C Scanner扫描)

Q: 温度读数不准?
A: LM35精度约0.5度,如需更高精度建议换DS18B20

Q: LCD显示乱码?
A: 检查I2C地址,常见地址为0x27或0x3F

适合新手练习,代码简单易懂。有问题欢迎回帖交流!
页: [1]
查看完整版本: Arduino温度传感器教程 - LM35+LCD1602数字温度计