项目简介
本项目是基于Arduino框架开发的湿度控制器系统,其固件能驱动两个电磁阀以实现湿度控制。该固件可在多种Arduino兼容板上使用,已在Arduino Uno、Teensy LC和Teensy 4.0上完成开发与测试。此外,项目还有一个用Python编写的实时监控与日志记录工具,可通过串口和微控制器通信。
项目的主要特性和功能
- 模块化设计:代码模块化编写,兼容多种微控制器、传感器、控制器类型和用户界面,使用单一共享代码库,避免代码重复。
- 多种PID控制器:提供单回路PID控制器(
SingleHumidistat
)和级联PID控制器(CascadeHumidistat
),级联控制可提升稳定性和性能,需流量传感器反馈。 - 多类型湿度传感器支持:支持DHT22/AM2302和Sensirion SHT85两种湿度传感器,满足不同应用场景。
- 不同输入设备支持:支持Keyestudio Ks0256 LCD1602扩展屏蔽集成键盘和Keyestudio Ks0466按钮模块。
- 多样用户界面:有适用于16x2字符显示的
CharDisplayUI
和适用于128x64图形显示的GraphicalDisplayUI
,后者针对不同控制器类型有不同变体。 - 实时监控与记录:借助Python脚本,通过串口对设备实时监控并记录数据。
安装使用步骤
硬件连接
根据项目硬件需求,连接Arduino板、传感器、按钮模块和显示设备。
代码配置
编辑src/config.h
文件,根据实际使用的硬件和传感器类型配置,包括选择控制器类型、湿度传感器类型、键盘类型、用户界面类型等,同时检查并可能修改其中的编译时常量。
编译上传
使用USB连接MCU板,用以下命令编译固件并上传到MCU:
console
~/OpenHumidistat/ $ platformio run --target upload
运行监控工具(可选)
若需实时监控和记录数据,按以下步骤操作:
1. 安装依赖:
console
~/OpenHumidistat/ $ pipenv install
~/OpenHumidistat/ $ pipenv shell
(OpenHumidistat) ~/OpenHumidistat/ $
若没有Pipenv,使用pip install pipenv
安装。
2. 运行脚本:
console
~/OpenHumidistat/ $ pipenv shell
(OpenHumidistat) ~/OpenHumidistat/ $ utils/monitor.py
打开串口时Arduino会重置,连接建立后会弹出窗口实时绘制数据。关闭串口监控时,数据将以(压缩)CSV格式保存到文件中。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】