# ArduAquarium **Repository Path**: xukejing/ardu-aquarium ## Basic Information - **Project Name**: ArduAquarium - **Description**: 鱼缸控制 - **Primary Language**: C - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2021-10-06 - **Last Updated**: 2024-06-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ArduAquarium #### 介绍 ArduAquarium使用arduino编程,基于esp32的鱼缸控制,支持Onenet,支持网页更新。温控部分使用的是PID算法,周期10秒,可以兼容固态继电器或机械继电器。 micropython版本其实是先做好的(已提供),micropython适合调试算法,但某些子函数报错会导致main函数也跳出,对于鱼缸控制是很危险的。比如,当控制加热棒的gpio导通后,如果某个子模块报错,将会导致main函数也被跳出,然后gpio就再也不会动了,除非你及时发现并手动执行一次ti.main()。这会导致水煮活鱼的惨案,因此后来改成arduino版本。 #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. 打开ArduAquarium.ino,把路由器和OneNet信息填入 2. 编译后直接烧写或把得到的bin通过OTA网页更新 3. data_stream_value_rw[9]的值正常1~100控制PWM灯光。data_stream_value_rw[9] == 101时,OTAtrig = 1,触发webOTA()。data_stream_value_rw[9] == 102时,触发重启 4. v_to_TMP(float vo, float vi)是NTC 10K热敏电阻的温度拟合公式(拟合系数可修改),vi是分压电路输入电压(可以不是严格5.00V),vo是分压电路输出电压。 4. v_to_PH(float vi)的vi是ph模块输出电压。float v700是ph7.00输出电压,校准到3.000V。float v401是ph4.01时的输出电压,需要测量实际输出电压填入,一般探头是60~70mV每PH,然后信号放大模块是10k和20k电阻组运放,放大倍数是(10+20)/10=3倍。我的ph探头是59.532mv每PH。 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)