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

Arduino 无线气象站:DIY 便携式天气监测套件

组件与供应

Arduino 无线气象站:DIY 便携式天气监测套件 Arduino Due(或 Arduino Mega) × 1
Arduino 无线气象站:DIY 便携式天气监测套件 3.2" TFT HX8357C 显示屏 × 1
Arduino 无线气象站:DIY 便携式天气监测套件 DS3231 实时时钟模块 × 1
Arduino 无线气象站:DIY 便携式天气监测套件 DHT22 温湿度传感器 × 1
Arduino 无线气象站:DIY 便携式天气监测套件 SparkFun nRF24L01+ 收发模块 × 1
Arduino 无线气象站:DIY 便携式天气监测套件 面包板 × 1
Arduino 无线气象站:DIY 便携式天气监测套件 公排针 36P 单排(0.1")7 针 × 1
Arduino 无线气象站:DIY 便携式天气监测套件 跳线若干 × 1
Arduino 无线气象站:DIY 便携式天气监测套件 Arduino Nano R3 × 1
Arduino 无线气象站:DIY 便携式天气监测套件 小米移动电源 × 1

关于项目

Arduino 无线气象站:DIY 便携式天气监测套件
Arduino 无线气象站:DIY 便携式天气监测套件
Arduino 无线气象站:DIY 便携式天气监测套件
Arduino 无线气象站:DIY 便携式天气监测套件

构建无线气象站是绝佳的学习体验。完成后你将更理解无线通信、传感器工作原理及 Arduino 平台的强大。以此为基础,未来能轻松构建更复杂的项目。

气象站是利用多种传感器收集天气和环境数据的设备。可测量:

本项目测量两个位置的温湿度,并显示当前日期时间。制作气象站很简单,但能否用开源软硬件打造媲美商用产品的彩色 TFT 显示气象站?答案是肯定的!

项目分两部分:发射端和接收端。

开始构建吧!

步骤 1:获取所有零件

Arduino 无线气象站:DIY 便携式天气监测套件

所需零件:

项目成本约 40 美元。 用 Arduino Mega 替代 Due 可省 5 美元。我选 Due 是因其速度快、内存大,为后续加功能留有余地。

步骤 2:温湿度传感器 - DHT22

Arduino 无线气象站:DIY 便携式天气监测套件

DHT22 是流行的温湿度传感器,便宜、易用、精度好。内部含电容式湿度传感器、热敏电阻和信号处理芯片,输出数字信号,单片机易读取。

DHT22 特性

接线极简:传感器“+”脚接 Arduino 5V 或 3.3V,“-”脚接 GND,OUT 脚接任意数字引脚。

使用需 DHT 库:https://github.com/adafruit/DHT-sensor-library

步骤 3:DS3231 实时时钟模块

Arduino 无线气象站:DIY 便携式天气监测套件

DS3231 是实时时钟,自带电池,极低功耗可走时数年。模块成本极低,约 2 美元(含电池)。本项目用它计时。

步骤 4:NRF24L01+ 无线模块

Arduino 无线气象站:DIY 便携式天气监测套件
Arduino 无线气象站:DIY 便携式天气监测套件

NRF24L01 是低成本双向收发模块,<3 美元。工作在 2.4GHz 频段,速率达 2Mbps。通过 SPI 与 Arduino 通信,易用。需连接模块 8 脚中的 7 脚。

模块不能直接插面包板,需公母线连接。引脚定义:1-GND,2-VCC(接 3.3V,严禁接 5V),3-CE(任意数字脚,例接 D7),4-CSN(任意数字脚,例接 D8),5-SCK(接 D13),6-MOSI(接 D11),7-MISO(接 D12)。

配合库使用:https://github.com/TMRh20/RF24

初次使用建议观看附件视频,通过简单项目理解工作原理。

步骤 5:构建发射端

Arduino 无线气象站:DIY 便携式天气监测套件
Arduino 无线气象站:DIY 便携式天气监测套件
Arduino 无线气象站:DIY 便携式天气监测套件

发射端极简:

传感器 OUT 脚接 Nano D4,电源接 5V/GND。按第三张图连接无线模块。详情见前步骤视频。发射端完成,转接收端。

步骤 6:构建接收端

Arduino 无线气象站:DIY 便携式天气监测套件
Arduino 无线气象站:DIY 便携式天气监测套件
Arduino 无线气象站:DIY 便携式天气监测套件
Arduino 无线气象站:DIY 便携式天气监测套件
Arduino 无线气象站:DIY 便携式天气监测套件
Arduino 无线气象站:DIY 便携式天气监测套件

接收端需:

先弯曲 7 排针插入 Due 对应引脚:1 个 GND、1 个 3.3V、2 个 I2C 引脚、3 个数字引脚 (D6-D8)。另需焊接 3 根线到 Due 硬件 SPI 引脚 (MOSI, MISO, SCK)。仔细核对原理图,连接排针后即可安装显示屏。

连接 DS3231

连接 DHT22

连接 NRF24L01

步骤 7:发射端代码

Arduino 无线气象站:DIY 便携式天气监测套件

需安装 RF24 库(NRF24L01)和 DHT 库(DHT22)。

发射端代码发送包含温度、湿度两个 float 的简单结构体。建立通信需创建“管道”,双方读写同一管道。管道地址设为“0”,通道设为 115(共 126 信道),发射功率设最大以延长距离,数据率设 250kbps(最低)以获更好范围。然后打开管道准备写入。

循环中读取传感器温湿度,存入结构体,写入管道发送。完整代码见附件。 FU361QHIQFCEYSE.ino

步骤 8:接收端代码

Arduino 无线气象站:DIY 便携式天气监测套件
Arduino 无线气象站:DIY 便携式天气监测套件

需 4 个库:

  1. 显示屏库:https://github.com/Bodmer/TFT_HX8357_Due。下载后修改 User_Setup.h:注释第 13 行,取消注释第 14 行(因显示屏用 HX8357C 驱动)。
  2. NRF24L01:https://github.com/TMRh20/RF24
  3. DHT22:https://github.com/adafruit/DHT-sensor-library
  4. DS3231:https://github.com/SodaqMoja/Sodaq_DS3231

代码逻辑:setup 中初始化所有传感器/模块并打印 UI。loop 中持续检查无线数据,有新数据则保存并显示。每分钟读取本地温湿度,仅当值变化时更新显示以减少闪烁。附带华氏度版本代码。 F053BTXIQFCEZ09.ino FNV3X4LIQFCEZ0C.ino

步骤 9:测试项目

Arduino 无线气象站:DIY 便携式天气监测套件
Arduino 无线气象站:DIY 便携式天气监测套件

上电测试。正常时顶部显示日期时间,底部显示远程和本地温湿度。

若远程传感器无数据,靠近发射端——可能超出范围。持续无数据请复查连线。

本项目展示开源软硬件的威力,几小时即可构建如此令人印象深刻的项目!这只是开始,可添加按钮切换图表/模式、更多传感器、数据记录、联网等。Due 内存充足,扩展空间大。欢迎评论区留下你的想法!

更多细节请看简介中的 YouTube 视频或访问我的网站。谢谢观看!

代码

GitHub 仓库

制造工艺

  1. 树莓派 2 搭建户外气象站:接入 ADS‑WS1 串口气象站
  2. 树莓派自制气象站:每日邮件推送温湿雨数据
  3. 高级气象站 v2.0:BME280 实时监测温度/气压/湿度/海拔 (Windows 10 IoT Core)
  4. Arduino 数字骰子:LCD 显示随机点数的电子骰子
  5. DIY 钢铁侠人偶:Arduino 控制超声波触发音效与灯光
  6. Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
  7. 打造功能完整的 Arduino 驱动 3D 打印机械臂:分步指南
  8. DIY Arduino 加湿器控制器:继电器安全控制高压电路
  9. 自制 10 美元便携 Arduino 气象站 - Nano + DHT22 + BMP180 + LCD
  10. eDOT:基于 Arduino 的精密时钟与气象站,内置红外遥控
  11. Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
  12. Arduino + ThingSpeak 实时气象监测站