便携温度监测站:TMP36 + LCD1602 双温标显示
项目简介
入门级 Arduino 实战:读取 TMP36 模拟温度传感器,在 16×2 LCD 上同步显示摄氏度与华氏度,每 1.5 秒刷新。适合 Arduino Starter Kit 用户,零额外采购即可完成。
所需元件
- Arduino UNO(或任意 Arduino)×1
- TMP36 温度传感器 ×1
- 16×2 白字蓝底 LCD ×1
- 9V 电池 + 电池扣转 DC 插头 ×1(便携供电)
- 面包板、跳线若干
- 220 Ω 电阻 ×2(LCD 背光限流)
电路接线
参考原理图:
- TMP36 VCC→5V,GND→GND,Vout→A0。
- LCD 标准 4 位模式:RS→D12,E→D11,D4–D7→D5–D2;VSS→GND,VDD→5V,V0→电位器中间脚(或固定分压),A/K→5V/GND 经 220 Ω 限流。
注:原作者未使用对比度电位器,直接固定分压或悬空;建议加装 10 kΩ 电位器以便调节对比度。
核心代码逻辑
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
}
void loop() {
int reading = analogRead(A0);
float voltage = reading * 5.0 / 1024.0;
float tempC = (voltage - 0.5) * 100; // TMP36: 10 mV/°C, 500 mV 偏移
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("Temp: ");
lcd.print(tempF, 1);
lcd.print((char)223);
lcd.print("F ");
delay(1500);
}
效果展示
LCD 第一行显示摄氏度,第二行显示华氏度,数值每 1.5 秒更新一次。配合 9V 电池即成手持温度计。
进阶改进
- 加装 10 kΩ 电位器调节对比度。
- 改用 I2C LCD(PCF8574),节省 6 根 IO。
- 增加 SD 卡模块记录温度日志。
- 外壳 3D 打印,做成专业手持仪表外观。
制造工艺
- 移动厕所:历史、设计与环境影响
- 温度计:从伽利略温度计到现代数字传感器的演进
- 温控风扇DIY:媒体柜散热的继电器驱动方案
- 树莓派 + MCP9808 + InfluxDB + Grafana:家庭温度监测系统
- 高级气象站 v2.0:BME280 实时监测温度/气压/湿度/海拔 (Windows 10 IoT Core)
- 3D RGB Arduclock — 蓝牙控制全彩LED时钟带RTC与闹钟
- Arduino + DHT11 + 以太网盾板温湿度数据记录仪
- MyRiver:基于 Arduino MKR FOX 1200 的河流水质远程监测系统
- Arduino + 模拟摇杆互动游戏:五向 LED 反馈
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- 便携测距仪 DIY 套件:Arduino Nano + HC-SR04 + 18650 电池 + 3D 打印外壳
- 非接触体温筛查闸机:Arduino MKR1000 + 红外测温 + 舵机控制