littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于Arduino框架的湿度控制器系统

项目简介

本项目是基于Arduino框架开发的湿度控制器系统,其固件能驱动两个电磁阀以实现湿度控制。该固件可在多种Arduino兼容板上使用,已在Arduino Uno、Teensy LC和Teensy 4.0上完成开发与测试。此外,项目还有一个用Python编写的实时监控与日志记录工具,可通过串口和微控制器通信。

项目的主要特性和功能

  1. 模块化设计:代码模块化编写,兼容多种微控制器、传感器、控制器类型和用户界面,使用单一共享代码库,避免代码重复。
  2. 多种PID控制器:提供单回路PID控制器(SingleHumidistat)和级联PID控制器(CascadeHumidistat),级联控制可提升稳定性和性能,需流量传感器反馈。
  3. 多类型湿度传感器支持:支持DHT22/AM2302和Sensirion SHT85两种湿度传感器,满足不同应用场景。
  4. 不同输入设备支持:支持Keyestudio Ks0256 LCD1602扩展屏蔽集成键盘和Keyestudio Ks0466按钮模块。
  5. 多样用户界面:有适用于16x2字符显示的CharDisplayUI和适用于128x64图形显示的GraphicalDisplayUI,后者针对不同控制器类型有不同变体。
  6. 实时监控与记录:借助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】