亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino UNO 智能气象站:多传感器融合与红外遥控交互

项目简介

本项目基于 Arduino UNO 构建一款功能完备的桌面级气象站(AWS, Arduino Weather Station),集成 7 类环境传感器与 DS1302 实时时钟,通过 1602 I2C LCD 与红外遥控器实现多页面人机交互。整机采用激光切割亚克力外壳,体积小巧,适合科教演示、家庭环境监测、微型气象科普实验。

传感器套件与测量参数

传感器型号/原理测量范围/精度接口/引脚应用场景
温湿度DHT110-50℃ ±2℃ / 20-90%RH ±5%单总线 D4室内环境基础监测
高精温度LM35-55~150℃ ±0.5℃ (线性 10mV/℃)模拟 A1高精度温度基准校准
光照强度光敏电阻 (LDR) + 10kΩ 分压0-100% 相对黑暗度模拟 A3日照时数/遮阳判断
水/雪位导电式液位探针0-40mm 分辨率 1mm模拟 A0雨量桶/积雪深度监测
实时时钟DS1302年/月/日/时/分/秒,掉电走时3线串口 D5/D6/D7数据时间戳、定时采集
红外接收VS1838B / HS003838kHz 载波,NEC 协议数字 D3遥控切换显示页面

人机交互设计

遥控器按键映射

按键NEC 码值功能显示内容停留时间
00xFF6897时间日期页YYYY-MM-DD WW HH:MM:SS10s
10xFF30CF温湿度页Tem: XX.X°C Hum: XX.X%10s
20xFF18E7光照页Darkness: XX%10s
30xFF7A85液位页Fluid level: XX mm10s
Cycle0xFF9867循环演示依次切换上述 4 页4s/页

主界面动画

上电后 LCD 逐字符滚动显示 "Arduino Weather Station",字符间隔 50ms,形成打字机效果,随后进入待机态等待遥控指令。

硬件实现细节

外壳设计与加工

电源管理

关键电路注意事项

核心代码结构

库依赖


#include 
#include 
#include 
#include 
#include 

关键全局对象


LiquidCrystal_I2C lcd(0x27, 16, 2);
dht DHT;
DS1302 rtc(RST_PIN, SDA_PIN, SCL_PIN);
IRrecv irrecv(IR_PIN);
decode_results results;

主循环逻辑


void loop() {
  // 启动动画(仅首次运行)
  if (firstBoot) { typewriterAnimation(); firstBoot = false; }

  // 红外解码轮询
  if (irrecv.decode(&results)) {
    handleRemoteCommand(results.value);
    irrecv.resume();
  }
}

void handleRemoteCommand(unsigned long code) {
  lcd.clear();
  switch (code) {
    case 0xFF6897: showTime();    delay(10000); break;
    case 0xFF30CF: showTempHum(); delay(10000); break;
    case 0xFF18E7: showLight();   delay(10000); break;
    case 0xFF7A85: showLevel();   delay(10000); break;
    case 0xFF9867: cyclePages();  break;  // 内部含 4s*4 页延时
  }
  lcd.clear();  // 返回主界面等待下一指令
}

校准与维护指南

  1. DHT11 校准:对标精密温湿度计,软件偏移量补偿(通常温度 -1~+1℃,湿度 -5~+5%)。
  2. LM35 线性度验证:冰水混合物 (0℃) 与沸水 (100℃) 两点校准,计算斜率/截距修正系数。
  3. 液位传感器标定:注入已知高度水柱,记录 ADC 值,建立查找表或分段线性拟合。
  4. RTC 时间设定:代码中 Time t(2024,1,1,12,0,0,1); rtc.time(t); 烧录一次后注释掉,依靠备用电池走时。
  5. 定期维护:雨后清空液位管、擦拭 LDR 窗口、检查电池电压、验证 IR 遥控距离 (>5m)。

扩展与进阶

制造工艺

  1. 高级气象站 v2.0:BME280 实时监测温度/气压/湿度/海拔 (Windows 10 IoT Core)
  2. 基于 Edge Impulse 的 TinyML 语言检测器:Arduino Nano 33 BLE Sense 实战
  3. Arduino Nano 与 MPU-6050 构建实时陀螺仪游戏
  4. Arduino驱动的六发鸡尾酒自动调配站 – 打造你的专属智能调酒机
  5. Arduino 数字骰子:LCD 显示随机点数的电子骰子
  6. Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
  7. 声控氛围灯:Arduino Nano + 麦克风模块 + WS2812B 灯珠
  8. 高性能 Arduino 气象气球数据记录器
  9. 自制 10 美元便携 Arduino 气象站 - Nano + DHT22 + BMP180 + LCD
  10. Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
  11. Arduino + ThingSpeak 实时气象监测站
  12. Arduino Nano 多传感器气象站:BMP280 + DHT11 + GUVA-S12SD + DS3231 + OLED