尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
“种菜吧!少年”——智能自主室内温室模拟器
什么你也喜欢种菜我说的不是这些游戏里谁还没有几百亩地了卷起衣袖就是干干不完根本干不完。然而现实生活中, 当我们大多数人面对一株小小植物时:众所周知……穷养不行就不养……不是……就富养那就给他们造个温室吧。硬件工具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自动检测怎么选传感器三档方案对比从入门到全参数都有覆盖。
RELATED

相关推荐

工业相机选型实战:5个关键参数(靶面/像元/接口)决定检测精度与成本

工业相机选型实战:5个关键参数(靶面/像元/接口)决定检测精度与成本

工业相机选型实战:5个关键参数决定检测精度与成本在自动化检测和机器视觉系统中,工业相机的选型直接影响整个系统的性能和成本。与消费级相机不同,工业相机需要在恶劣环境下长时间稳定工作,同时满足高精度、高速度的检测需求。本文…

📅 2026/8/22 20:12:23
FPS游戏瞄准优化:从鼠标设置到系统调优的完整指南

FPS游戏瞄准优化:从鼠标设置到系统调优的完整指南

如果你是一名FPS游戏玩家,最近可能被一个现象困扰:明明换了顶级的游戏鼠标,比如雷蛇、罗技的高端型号,甚至专门为FPS优化的“JS13Pro”这类产品,但游戏里的枪法依然“马”得离谱。压枪压不住,定位定不准&am…

📅 2026/9/10 6:24:22
VirtualBox vs VMware:哪个桌面虚拟机更好?

VirtualBox vs VMware:哪个桌面虚拟机更好?

VirtualBox和VMware Workstation Pro都是免费的桌面虚拟机软件,但它们适用于不同的工作流。在实际工作负载下,两者之间的差距会变得明显。磁盘I/O、图形加速、主机操作系统支持和生态系统集成都存在差异,具体取决于您运行的内容。 本指南从主…

📅 2026/10/6 0:26:00
MORE NEWS

更多资讯

📰

SQL数据库课程设计:工资管理系统表结构设计与核心SQL实现

简介:这份资源是面向高校数据库课程学习者与课程设计实践者的《SQL数据库课程设计工资管理系统》完整报告文档,适合正在完成数据库技术及应用课程设计、需要参考规范选题与实现思路的学生。压缩包内仅含1个doc文件,整体约389KB,内…

📰

财富管理系统设计与实施:核心域建模与数据模型实战

简介:恒生财富管理系统的完整方案文档,面向银行理财业务产品经理、系统设计人员及财富管理相关从业者,重点应对客户资产配置难度大、理财产品同质化等业务痛点。压缩包共1个文件,为docx格式文档,大小约594KB&#xff0…

📰

Java多租户SaaS架构实战:隔离、HTTPS穿透与MyBatis-Plus建表适配

简介:本资源是一份聚焦SaaS架构设计核心方法论与工程实践的系统性学习文档,面向中高级Java/云原生开发者、系统架构师及SaaS产品技术负责人,解决多租户系统设计、成熟度演进、安全隔离与性能调优等关键问题。文档以PDF格式单文件交付&#xf…

📰

ICONICS 2022:OPC UA与WebHMI工业现场级执行引擎解析

简介:本资源为ICONICS公司2022版工业自动化与信息化软件解决方案的官方参考手册,面向自动化工程师、系统集成商、智能制造项目实施人员及高校相关专业师生,聚焦解决多源异构工业系统间数据孤岛、实时互操作性弱、企业级可视化落地难等核心问题…

📰

爬虫工程模板拆解:从Amazon到Confluence的采集链路

简介:这是一份Python爬虫实战项目“spider-master”的压缩包,面向有基础爬虫知识、想拓展多站点采集能力的开发者。资源围绕亚马逊、Confluence等网站的数据抓取展开,同时涵盖贴吧、糗事百科等常见目标,既能了解简单静态页面抓取&…

📰

信创适配实战:国产数据库与Web容器改造避坑指南

简介:这份PPT资料面向正在推进应用系统国产化改造的开发与运维人员,聚焦信创环境下的适配落地问题,系统梳理了国产数据库与国产Web应用容器的迁移改造经验。内容涵盖达梦、瀚高数据库的适配案例,以及东方通、宝兰德等国产中间件的…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬