当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]我想要打造一些实用的东西,而且是自己会实际使用的那种。我有个坏习惯,就是总是忘记给植物浇水,于是我就想做一个自动浇水系统,觉得这会是个绝佳的项目。我在网上找到的大多数 DIY 浇水系统只是检测土壤是否干燥,然后启动水泵,这种系统只是简单的阈值控制,既不了解是什么样的植物,也不考虑环境情况。

我想要打造一些实用的东西,而且是自己会实际使用的那种。我有个坏习惯,就是总是忘记给植物浇水,于是我就想做一个自动浇水系统,觉得这会是个绝佳的项目。我在网上找到的大多数 DIY 浇水系统只是检测土壤是否干燥,然后启动水泵,这种系统只是简单的阈值控制,既不了解是什么样的植物,也不考虑环境情况。

我想要做得更进一步。不同的植物对水分的需求间隔完全不同。仙人掌和热带植物的养护方式不能一概而论。我还希望这个系统能够根据土壤实际的干燥程度来做出反应,而不仅仅是判断是否超过了某个阈值,而是要考虑到超出阈值的程度,这样就能在植物真正处于极度缺水状态时更及时地为其浇水。

除了电子设备之外,我还设计了一个定制的 3D 打印外壳,将整个系统整合成一个独立的单元。该结构顶部设有花盆,内部嵌入了水箱,为面包板和 PocketBeagle 设定了一个封闭的隔间,并配有密封盖以保护电子设备。底部有一个专用的排水区域,以防止多余的水在电子设备周围积聚。所有部件都整合成一个整体,没有松散的电线或单独的盒子散落在周围。

其结果是一个系统,该系统能够识别所照料的植物种类,每两秒读取一次土壤湿度,监测温度和湿度以发出环境警报,跟踪蓄水池水位,并将所有信息显示在一块小的液晶显示屏上,同时还会显示下一次预定浇水的倒计时时间。该系统在通电时会自动启动,并且无需用户干预即可运行。

该系统通过一个 Adafruit Stemma 电容式传感器读取土壤湿度,通过一个 BME280 传感器读取温度和湿度,并通过一个模拟水位传感器读取蓄水池水位。它根据植物种类选择灌溉参数,为多肉植物、花卉、蔬菜、热带植物和仙人掌等提供了不同的配置方案。当土壤湿度低于植物设定阈值时,系统会自动启动水泵,并采用动态冷却机制,即如果土壤极度干燥,则每 15 分钟灌溉一次,而不是等待完整的灌溉周期。水分百分比、蓄水池水位和下一次灌溉计时会在一个 16x2 液晶显示屏上显示,显示屏上还会出现超出范围的温度、湿度、过度浇水和低蓄水池水位等警报信息。

使用说明

第 1 步.连接电平转换器。口袋贝格尔的模拟引脚最大电压为 1.8V,而水传感器输出电压为 3.3V。TXS0108E 电平转换器可实现两者之间的转换,并且还将 3.3V 的 GPIO 信号提升至 5V 以供 MOSFET 栅极使用。将 VA 连接到 P1.18,VB 连接到 P1.14,GND 连接到 P1.16,OE 连接到 P1.14,A1 连接到 P1.02,B1 连接到水传感器信号引脚,A2 连接到 P1.34,B2 通过 100 欧姆电阻连接到 MOSFET 栅极。

第 2 步.将 MOSFET 和泵线连接好。MTP3055VL TO-220 封装有三个引脚,从左至右依次为:栅极、漏极、源极。将栅极连接到 TXS0108E B2 上的 100 欧姆电阻器上。将源极连接到 P1.16 处的 GND(地)。将漏极连接到泵的负极线。在栅极和源极之间添加一个 10k 欧姆电阻。在泵的两端之间添加一个 1N4007 二极管,阴极连接到泵的正极,阳极连接到泵的负极。将泵的正极连接到 P1.24。

第 3 步。连接 I2C 传感器。这三款 I2C 设备共用 P1.26 作为 SDA 引脚,共用 P1.28 作为 SCL 引脚。对于 Stemma 土壤传感器,JST 电缆的颜色分别为:SCL 至 P1.28 为棕色,SDA 至 P1.26 为红色,VIN 至 P1.14 为橙色,GND 至 P1.16 为黄色。对于 BME280,将 VCC 连接到 P1.14,GND 连接到 P1.16,SDA 连接到 P1.26,SCL 连接到 P1.28,而 CSB 和 SDO 则不连接。对于 LCD,将 VCC 连接到 P1.14,GND 连接到 P1.16,SDA 连接到 P1.26,SCL 连接到 P1.28。

第 4 步:连接水传感器。将 VCC 端连接至 P1.14,GND 端连接至 P1.16,信号端连接至 TXS0108E 的 B1 端。

第 5 步:检查线路连接。使用 SSH 连接到 PocketBeagle 并运行以下命令:sudo i2cdetect -y -r 2 。您应该能看到三个地址:用于液晶显示屏的地址为 0x27,用于土壤传感器的地址为 0x36,用于 BME280 的地址为 0x76。如果缺少任何一个地址,请检查该设备的 SDA 和 SCL 是否未被错误地互换。

第 6 步:安装软件。在 PocketBeagle 上运行以下命令:sudo python3.11 -m pip install --no-index --find-links=/home/debian/packages smbus2 RPLCD。然后从源代码构建 Adafruit BBIO:cd /opt/source/adafruit-beaglebone-io-python 并执行 sudo python3.11 setup.py install。

第 7 步。复制并运行该代码。运行步骤如下:使用 scp 将 irrigation.py 文件传输至 192.168.7.2 服务器的 /var/lib/cloud9/python/ 目录下,然后通过 ssh 连接到该服务器,接着进入 /var/lib/cloud9/python 目录,最后使用 sudo 命令以 python3.11 的版本运行 irrigation.py 文件。

第 8 步:设置自动启动。运行“sudo nano /etc/systemd/system/irrigation.service”,并将来自 GitHub 说明文档中的服务文件粘贴到该文件中。然后运行“sudo systemctl daemon-reload”、“sudo systemctl enable irrigation.service”以及“sudo systemctl start irrigation.service”。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

随着基于语音的工作流程逐渐成为主流,我想要打造一款小巧且具有前瞻性的语音键盘,以顺应这一趋势。Vibe 编程近来发展迅猛,使得自然语言编程比以往任何时候都更加普及易用。

关键字: 3D 打印 人工智能 OLED

其灵感源自那个同样令人痛苦的清晨挣扎时刻——总是太容易就按下“继续睡眠”按钮。这款产品是一款定制的 3D 打印闹钟,需要在键盘上输入一个简短的密码来关闭闹钟声。再也不用费力地乱按按钮了!它使用了与 Arduino 兼容的...

关键字: 3D 打印 RTC 模块 液晶显示屏

这是我自行设计并用 3D 打印技术制造的五轴机器人手臂,我制作它是为了研究正运动学和逆运动学背后的数学原理,了解通信协议,同时也因为它是一个有趣的设计挑战!

关键字: 机器人 3D 打印 伺服电机

配备扩展工作范围的定制型数控机床,采用坚固框架和 GRBL 控制系统,专为灵活制造而设计。

关键字: 数控机床 3D 打印 嵌入式

这个想法源于设计一款能够从地面上收集发绳的探测器。我有一只猫,她非常喜欢玩发绳。

关键字: 探测器 3D 打印 机器人

智能园艺不仅仅是为了监测土壤湿度——更重要的是要清晰地呈现数据,以便您能够迅速采取行动。在本教程中,我们将不再局限于简单的传感器读数,而是构建一个基于浏览器的仪表盘,能够展示实时值、趋势、警报以及历史图表。

关键字: 湿度传感器 ESP32 3D 打印

你是否曾无意间购买了 360 度伺服电机,或者恰好自己就有多两个?那么这个项目就是为你准备的!它使用了一个 ESP32 微控制器、两个 360 度 sg90 伺服电机、两个 18650 电池、MP1504en 芯片、一个...

关键字: 伺服电机 ESP32 微控制器 3D 打印

在市场中,您可以购买布雷瑟的气象站,它们可以直接与“天气地下地图”连接,并将您当地的环境数据发布给全世界。所以,如果您愿意的话,根本无需做任何工作。但实际上,据我所知,所有型号都可以用于我们的项目,比如我的这个(7 个接...

关键字: 蜂鸣器 BME280 湿度传感器

气压计是一种用于测量大气压力的科学仪器。气压上升通常预示着天气好转,气压下降则通常意味着即将有风和降雨。气压稳定则表示天气状况平稳。在这个项目中,我将介绍一种非常简单的制作气动式气压计模拟器的方法。实际上,现代数字电子技...

关键字: 气压计 ESP32 BME280

所以,一旦你完成了,让我们开始吧。打开Blynk应用程序,点击创建一个新项目。将打开一个新窗口,在那里键入您的项目名称(例如。“水泵开/关”)。从设备列表中选择ESP32 dev.board,并将连接类型设置为Wi-Fi...

关键字: ESP32 Blynk 水泵
关闭