项目简介
本项目基于Arduino平台,借助ATtiny85微控制器和DS18B20温度传感器构建恒温控制系统。该系统可监测环境温度,依据预设温度阈值控制输出设备,实现恒温调节,具备稳定性与可靠性,还能通过LED灯闪烁显示温度值。
项目的主要特性和功能
- 启用2s看门狗定时器保障系统稳定运行。
- 平均计算温度读数以减少误差。
- 温度显示不影响温度读取操作。
- 传感器通讯失败时尝试重新建立连接。
- 可配置温度阈值,根据温度高低激活或关闭输出。
- 输出激活时有交替警告输出用于连接蜂鸣器。
- 通讯失败5次后自动激活输出。
- 输出更新时间取决于平均读数数量和读取精度。
- 通过LED灯闪烁显示温度值,不同数值闪烁模式有别。
安装使用步骤
- 确保已安装以下依赖:从Arduino官网下载并安装Arduino IDE(本项目使用1.8.13版本编译)。
- 打开Arduino IDE,导入下载的项目源码。
- 进行烧录引导程序操作:在Arduino IDE中选择“工具” - “烧录引导程序”,选择合适的ISP编程器(如Arduino as ISP或USBasp),参考项目中提供的烧录引导程序设置图进行设置。
- 编译并上传代码到ATtiny85微控制器,参考项目中的IDE设置图和上传程序图进行配置。
- 连接硬件:将DS18B20温度传感器、LED灯、蜂鸣器等按项目提供的电路图进行连接。
- 根据硬件连接情况,在代码中配置相关参数,如温度阈值、端口号、传感器精度等。
- 运行项目并测试,根据实际情况调整参数。
注意事项
- 更改时钟源、BOD设置或是否保存EEPROM后,需用ISP编程器进行“烧录引导程序”操作。芯片空白或已预装引导程序时也需如此。
- 若使用USBasp编程器遇到权限问题,可按以下步骤解决:
- 以root权限编辑
/etc/udev/rules.d/99-USBasp.rules
文件,添加SUBSYSTEM=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="dialout"
。 - 将当前用户添加到
dialout
用户组:sudo usermod -aG dialout $USER
。 - 注销并重新登录系统,拔掉USBasp设备,然后重启udev服务:
sudo /etc/init.d/udev restart
。
- 以root权限编辑
许可协议
- 软件部分遵循GNU Lesser General Public License 2.1及以后版本。
- 硬件部分遵循CERN OHL 1.2许可协议。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】