1. 项目背景与需求解析
去年夏天帮邻居调试他的豆芽机时,发现市面上大多数家用豆芽机存在三个通病:湿度控制靠人工喷水、温度波动大导致烂根、采收时间全凭经验估算。这促使我动手开发了一套全自动控制系统,经过三个月的迭代测试,现在这套系统已经能稳定产出根茎粗壮、无黑斑的优质豆芽。
传统豆芽培育的痛点主要集中在环境控制环节。绿豆在发芽过程中需要精确的温湿度管理——温度低于20℃发芽缓慢,高于28℃易滋生细菌;湿度不足会导致表皮干裂,过湿又容易腐烂。人工培育需要每天3-4次喷水,还要根据季节调整容器位置,这对上班族来说几乎不可能实现。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 硬件组成方案
核心控制单元选用ESP32-C3,这款芯片兼具Wi-Fi连接能力和充足的GPIO接口,价格却只有Arduino Uno的三分之二。传感器阵列包含:
- SHT30温湿度传感器(误差±0.2℃)
- 光敏电阻模块(检测豆芽避光状态)
- 称重传感器(监测豆芽生长进度)
执行机构采用:
- 12V微型潜水泵(带过滤网防堵塞)
- PTC陶瓷加热片(50W恒温加热)
- 涡轮风扇(促进空气循环)
2.2 控制逻辑设计
系统工作流程遵循绿豆发芽的生物学特性:
- 浸种阶段:水温25℃浸泡8小时,每2小时换水一次
- 催芽期:保持湿度85%±3%,温度25℃±1℃
- 生长期:根据重量增长自动调整喷水频率
- 采收期:当重量达到初始豆重的6倍时触发警报
关键设计细节:采用增量式PID算法控制喷水量,通过称重传感器反馈实时调整水泵工作时间,避免传统定时喷水导致的积水问题。
3. 核心功能实现
3.1 智能补水系统
开发过程中最大的挑战是防霉变控制。通过实验发现,喷水后立即开启风扇通风5分钟,能降低30%的霉变概率。最终代码实现如下:
cpp复制void waterSupply(){
digitalWrite(PUMP_PIN, HIGH);
delay(calculateWaterTime()); // 根据重量动态计算
digitalWrite(PUMP_PIN, LOW);
digitalWrite(FAN_PIN, HIGH);
delay(300000); // 通风5分钟
digitalWrite(
