蓝牙温度监测仪:Arduino Nano + NTC 热敏电阻 + HC-06 无线传输
项目简介
本教程演示如何构建一款基于 Arduino Nano 的蓝牙温度监测装置,通过 NTC 热敏电阻测温,经 HC-06 蓝牙模块将数据实时发送至 Android 手机 App(基于 MIT App Inventor 2 开发)。适用于液体温度监控、加热曲线记录、远程报警等场景。
硬件清单
- Arduino Nano R3 ×1
- NTC 热敏电阻 ×1(需知 25°C 阻值与 B 值,写入代码)
- 电阻:10kΩ(分压上拉)、1kΩ、2.21kΩ(蓝牙模块电平转换)各 ×1
- HC-06 蓝牙串口模块 ×1
- 面包板与杜邦线若干
- 可选:电烙铁、3D 打印机(制作外壳)
电路原理
1. NTC 分压电路
NTC 与 10kΩ 定值电阻串联跨接 5V-GND,中点接 Arduino A0。通过读取分压电压计算 NTC 瞬时阻值:
raw = analogRead(A0);
Vout = raw * 5.0 / 1024.0;
R_NTC = R_fixed * (5.0 / Vout - 1);
2. Beta 公式换算温度
利用 Steinhart-Hart 简化模型(Beta 公式)将电阻转温度:
Temp_K = Beta / log(R_NTC / (R0 * exp(-Beta / T0)));
Temp_°C = Temp_K - 273.15;
关键参数:Beta、R0 (25°C阻值)、T0 = 298.15K 必须从数据手册获取并填入代码。
3. HC-06 蓝牙接口
模块工作电压 3.3V,Arduino TX 需经 1kΩ/2.21kΩ 分压后接模块 RX;模块 TX 直连 Arduino RX(3.3V 兼容 5V 逻辑)。VCC 接 5V(模块板载 LDO),GND 共地。
Arduino 固件逻辑
- 循环读取温度,每 10 秒发送一次串口数据
- 温度 ≥ 74°C:连续发送“Temperature ≥ 74 °C”共 5 分钟(30 次),随后发送“Heating Complete”
- 温度 ≤ 25°C:发送“Temperature ≤ 25 °C”
- 其余区间:发送实时温度值
Android App 开发 (MIT App Inventor 2)
- UI:蓝牙连接按钮、温度显示标签、状态提示
- Blocks:BluetoothClient 连接、定时器轮询接收文本、解析显示、阈值语音/震动报警
- 现成项目地址:App Inventor Gallery
进阶与注意事项
- 焊接固化:面包板验证后建议焊接万能板并 3D 打印外壳,预留 USB 供电孔与热敏电阻延长线
- 上传代码前断开蓝牙模块,避免串口冲突
- 分压电阻选型:R_fixed 应接近 NTC 在工作区间的阻值,以最大化 ADC 分辨率
- 校准:冰水混合物 (0°C) 与沸水 (100°C) 两点校准可提升精度
完整代码
// Temperature monitor with bluetooth module
int analogPin = 0;
int raw = 0;
int Vin = 5;
float Vout = 0;
float R1 = 10000; // 固定分压电阻
float Ro = 10000; // NTC 25°C 阻值
float R2 = 0;
float ratio = 0;
float Temp = 0;
float Beta = 3694; // NTC B 值
float To = 298.15; // 25°C = 298.15K
void setup() { Serial.begin(9600); }
void loop() {
raw = analogRead(analogPin);
if (raw) {
ratio = raw * Vin;
Vout = ratio / 1024.0;
ratio = (Vin / Vout) - 1;
R2 = R1 * ratio;
Temp = Beta / log(R2 / (Ro * exp(-Beta / To)));
Temp = Temp - 273.15;
if (Temp >= 74) {
for (int i = 0; i <= 30; i++) {
Serial.print("Temperature >= 74 °C");
delay(10000);
}
Serial.print("Heating Complete");
delay(10000);
} else if (Temp <= 26) {
Serial.print("Temperature <= 25 °C");
delay(10000);
} else {
Serial.print("Temperature: ");
Serial.println(Temp);
delay(10000);
}
}
}
原理图
原理图展示 NTC 分压电路、HC-06 电平转换分压、Arduino Nano 引脚映射。注意:R2 需根据实际 NTC 型号调整。
制造工艺
- 树莓派温湿度网络监测站DIY全指南
- 树莓派与 BrickPi 构建 ThingSpeak 温度监测系统
- 树莓派家庭温度监测仪表盘:实时图表展示
- 智能缺水报警器 – DIY植物土壤湿度监测装置
- 意大利语单词时钟:Arduino Nano + NeoPixel 144 灯珠 + LCD + RTC 打造
- 基于Arduino MKR Fox 1200构建可靠Sigfox千瓦时电表
- 非接触手势门锁:APDS-9960 + Arduino 实现安全门禁
- Arduino Nano 多功能伴侣套件 —— 电阻/电容测量、二极管测试、RTC时钟一体化
- Arduino Micro/Leonardo USB MIDI 适配器套件 —— 完整元件清单与固件指南
- 为Arduino构建隔离模拟输入电路
- RGB 32 频段音频频谱可视化器:Arduino Nano 驱动 WS2812B 8×32 LED 矩阵
- Arduino UNO 精准视觉反应时间测试仪