“种菜吧!少年”——智能自主室内温室模拟器 什么你也喜欢种菜我说的不是这些游戏里谁还没有几百亩地了卷起衣袖就是干干不完根本干不完。然而现实生活中, 当我们大多数人面对一株小小植物时:众所周知……穷养不行就不养……不是……就富养那就给他们造个温室吧。硬件工具Arduino Nano R3 x1Arduino 4路继电器扩展板 x1超声波传感器 - HC-SR04通用x1PIR 运动传感器通用x1LED 通用x1Adafruit 标准 LCD - 16x2 蓝底白字 (12C 接口焊接在上面) x1DFRobot Gravity : 模拟电容式土壤湿度传感器-耐腐蚀 x2RobotGeek 直流液体泵-大型 x2液体阀x1水箱 x1DHT22 温度传感器 x1烙铁通用主要结构箱柜(按需添加间隔层)下图是一个宜家的便携式衣柜内外包裹着泡沫塑料隔热层。共设三层最低一层主要用于种子开始有一个加热垫另外两层是针对植物的。空气循环、加热以及温湿度测量都是通过一个ABS管道”加热器”来完成的。其中使用DHT22传感器来测量温度和湿度。湿度控制由一个小型 12V “鼠笼式”风扇完成。一块Arduino Nano兼容板作为控制单元的核心。系统配备了一个I2C接口的LCD屏用于显示所有必要的参数和状态。当有人进入区域时红外运动传感器会触发LCD屏的背光。系统中有一个RTC继电器时钟它通过一个数字引脚为整个系统提供”昼夜”参考信号。内部温度设有”夜间”和”白天”两个设定点以模拟真实环境条件。在”白天”时段灯光会持续保持开启状态约15小时。灌溉系统一个雨水雪水桶通过电磁阀和过滤器连接到双泵组。水位由超声波传感器测量。两个电容式土壤湿度传感器分别监测各自区域的湿度并独立触发水泵工作。当桶中水位降至临界点时灌溉会自动停止同时一个LED灯会显示”水位低”警告。代码//GreenHouse sketch created by Victor Onofrei. 2019 #include DHT.h #include Wire.h #include LiquidCrystal_I2C.h #include HCSR04.h #include SandTimer.h #define DHTPIN 2 #define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); LiquidCrystal_I2C lcd(0x27,20,4); HCSR04 watersens(5,6); SandTimer timersensor; SandTimer backlightimer; SandTimer pump1timer; SandTimer pump2timer; const int lowaterled4; const int venthum7; const int irsensor8; const int pump29; const int heaterpin10; const int lightpin11; const int pump112; const int timerpin13; int h0; int t0; int Soil10; //lower soil moisture sensor int Soil20; int settemp; int daytemp26; int nightemp23; int timervalue; int motiondetect; int waterlevel; void setup() { dht.begin(); lcd.init(); timersensor.start(2000); backlightimer.start(30000); pump1timer.start(10000); pump2timer.start(10000); pinMode(heaterpin, OUTPUT); pinMode(timerpin, INPUT); pinMode(lightpin, OUTPUT); pinMode(lowaterled, OUTPUT); pinMode(venthum, OUTPUT); pinMode(irsensor, INPUT); pinMode(pump1, OUTPUT); pinMode(pump2, OUTPUT); digitalWrite(pump1, HIGH); digitalWrite(pump2, HIGH); } void loop() { sensorcheck(); lowater(); settempset(); humidcontrol(); runheat(); runlights(); lcdprint(); lcdbacklight(); watering(); } //Functions void sensorcheck(){ if (timersensor.finished()){ hdht.readHumidity(); tdht.readTemperature(); timervaluedigitalRead(timerpin); Soil1analogRead(6); Soil2analogRead(7); Soil1map(Soil1,560,270,01,99); Soil2map(Soil2,545,270,01,99); motiondetectdigitalRead(irsensor); waterlevelwatersens.dist(); waterlevelmap(waterlevel,3,57,99,01); timersensor.startOver(); } } void lowater(){ if (waterlevel3){ digitalWrite(lowaterled, HIGH); } else{ digitalWrite(lowaterled, LOW); } } void watering(){ if ((waterlevel3)(Soil124)){ digitalWrite(pump1, LOW); // if (pump1timer.finished()){ // digitalWrite(pump1, HIGH); // pump1timer.startOver(); // } } else{ digitalWrite(pump1, HIGH); } if ((waterlevel3)(Soil224)){ digitalWrite(pump2, LOW); // if (pump2timer.finished()){ // digitalWrite(pump2, HIGH); // pump2timer.startOver(); // } } else { digitalWrite(pump2, HIGH); } } void settempset(){ if (timervalueHIGH){ settempdaytemp; } else{ settempnightemp; } } void lcdbacklight(){ if (motiondetect1){ lcd.backlight(); } else if ((motiondetect0)(backlightimer.finished())){ lcd.noBacklight(); backlightimer.startOver(); } } void humidcontrol(){ if(h72){ digitalWrite(venthum, HIGH); } else if (h65){ digitalWrite(venthum, LOW); } } void runheat(){ if(tsettemp){ digitalWrite(heaterpin, HIGH); } else{ digitalWrite(heaterpin, LOW); } } void runlights(){ if (timervalueLOW){ digitalWrite(lightpin, HIGH); } else{ digitalWrite(lightpin, LOW); } } void lcdprint(){ lcd.setCursor(0,0); lcd.print(T/H:); lcd.print(t); lcd.print(/); lcd.print(h); lcd.setCursor(10,0); lcd.print(WL:); lcd.print(waterlevel); lcd.print(%); lcd.setCursor(0,1); lcd.print(Z1:); lcd.print(Soil1); lcd.print(%); lcd.print( ); lcd.print(Z2:); lcd.print(Soil2); lcd.print(%); }快去救救你的植物吧。文章首发于DF创客社区与其每天人工检测pH和EC不如直接上传感器自动监测——水培pH/EC自动检测怎么选传感器三档方案对比从入门到全参数都有覆盖。

相关新闻

最新新闻

KingbaseES V9R1C10 Linux版本安装指南

KingbaseES V9R1C10 Linux版本安装指南

前言 金仓 V9R1C10 版本面向全市场发布,具备 Oracle、MySQL、SQL Server、PostgreSQL 四种兼容模式,在保留 V9R1C2B14 版本能力基础上,持续增强 SQLServer 能力兼容。 该版本全面兼容 SQL Server 的常用数据类型、语法及功能,优…

2026/7/11 13:06:20
2026年国内发酵与生化研究领域中高稳定性淀粉酶的应用技术解析与品牌推荐

2026年国内发酵与生化研究领域中高稳定性淀粉酶的应用技术解析与品牌推荐

目录 1.生物发酵与淀粉降解的行业现状 2.淀粉酶的生化特性与稳定性机制 3.默克旗下不同来源淀粉酶的技术特性对比 4.高标准酶制剂在多场景下的应用表现 5.提升酶系统稳定性的实验策略 6.总结与发酵工艺中酶应用的发展趋势 7.常见问题解答(FAQ) 生物…

2026/7/11 13:06:20
Llama-3.3-70B-Instruct-MXFP4-Preview配置文件详解:从quantization_config到rope_scaling参数调优

Llama-3.3-70B-Instruct-MXFP4-Preview配置文件详解:从quantization_config到rope_scaling参数调优

Llama-3.3-70B-Instruct-MXFP4-Preview配置文件详解:从quantization_config到rope_scaling参数调优 【免费下载链接】Llama-3.3-70B-Instruct-MXFP4-Preview 项目地址: https://ai.gitcode.com/hf_mirrors/amd/Llama-3.3-70B-Instruct-MXFP4-Preview Llama-…

2026/7/11 13:06:20
Lua反编译终极指南:5步掌握LuaDec51完整使用技巧

Lua反编译终极指南:5步掌握LuaDec51完整使用技巧

Lua反编译终极指南:5步掌握LuaDec51完整使用技巧 【免费下载链接】luadec51 Lua Decompiler for Lua version 5.1 项目地址: https://gitcode.com/gh_mirrors/lu/luadec51 LuaDec51是一款专为Lua 5.1版本设计的专业反编译工具,能够将编译后的Lua字…

2026/7/11 13:06:20
【笔记】MSBuild中所有与路径相关的内置属性(宏)

【笔记】MSBuild中所有与路径相关的内置属性(宏)

MSBuild中所有与路径相关的内置属性(宏)。这些属性可以分为几大类,基本覆盖了从项目、解决方案到输出目录等各个方面。 📁 项目与文件自身路径 这些属性用于获取当前项目文件自身的名称、目录和完整路径。宏 (属性)说明示例$(MSBu…

2026/7/11 13:06:20
3步革命:用Playnite构建你的终极游戏库统一中心

3步革命:用Playnite构建你的终极游戏库统一中心

3步革命:用Playnite构建你的终极游戏库统一中心 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games. 项目地址: https://g…

2026/7/11 13:01:20

月新闻