当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]正如这篇文章所描述的,我设计并制造了一个基于pocketbeagle的植物状况监视器,它可以测量土壤湿度和温度等环境条件,并将它们显示在LCD屏幕上,并通过led提供视觉反馈。该系统旨在帮助防止常见的植物护理错误,如浇水过多或疏忽,这是我过去一直感到内疚的。我想在我的植物枯萎和死亡之前找到一种方法来跟踪和改善它的状况。

这个项目是为莱斯大学的EDES 301:实用电气工程导论而开发的。

正如这篇文章所描述的,我设计并制造了一个基于pocketbeagle的植物状况监视器,它可以测量土壤湿度和温度等环境条件,并将它们显示在LCD屏幕上,并通过led提供视觉反馈。该系统旨在帮助防止常见的植物护理错误,如浇水过多或疏忽,这是我过去一直感到内疚的。我想在我的植物枯萎和死亡之前找到一种方法来跟踪和改善它的状况。

设备概述

这是一个嵌入式系统,旨在帮助用户通过持续监测环境条件来保持室内植物的健康。该设备使用PocketBeagle微控制器,测量土壤湿度和温度,在LCD屏幕上显示实时数据,并通过led提供视觉反馈。按钮控制的界面允许用户在显示模式之间循环。该设备以自动启动方式运行,被设计为嵌入式系统和电气工程概念的实用和简单应用。

对于我的系统,土壤湿度以百分比测量,我将这种情况分为四类:土壤湿润(≥70%),最佳(40-69%),干燥(20-39%)和非常干燥(<20%)。温度以摄氏度为单位监测,以确保安全的操作条件并提供环境背景,帮助我了解热量如何影响土壤干燥/植物健康。

硬件

在我的项目中,我使用了PocketBeagle作为微控制器。下面是它的引脚图。

所有PocketBeagle引脚(P1和P2)到组件引脚(无论是在组件上还是在面包板上)都被捕获在下面以方便参考。当我测试我的系统时,这些pin是根据PocketBeagle的响应情况决定的。

我开始这个项目首先连接3.3 V从PB (P1_14)到我的面包板的正电源轨。我还将GND从PB (P1_15)连接到负电源轨。这样所有的传感器,led,按钮,电位器和其他组件都可以共享一个共同点,并且都提供3.3 V。

LCD显示屏(HD44780, 16x2)

我使用图2所示的连接将LCD屏幕连接到PB。我使用GPIO引脚以4位模式连接:RS, Enable (E)和数据线(D4-D7)连接到PB GPIO (P2_24, P2_22, P2_18, P2_20, P2_17, P2_10)。然后我将BLK, RW和接地引脚连接到地(接地面包板导轨)。在VO引脚上使用电位器来控制对比度。LCD屏幕本身(VDD)使用5v供电(来自USB的5v, P1_5)。此外,背光(BLA)连接到5v使用220欧姆电阻。

我使用电位器作为分压器来控制LCD对比度,中间引脚连接到LCD的VO引脚,一侧连接到3.3 V,另一侧连接到地。然后我通过转动锅手动调整对比度,而液晶显示器是用我的电脑供电的。布线类似于下面的图3(注意,由于初始引脚连接无响应,在此迭代之后,布线发生了变化,但是为了方便视觉,插入了图像)。

土壤湿度传感器(STEMMA I2C)

参考图2并使用随附的JST PH 2mm 4针到公头电缆,我将传感器SDA连接到P1_26,将SCL连接到P1_28。GND接地,VIN接3.3 V电源轨。这些连接如图4所示。

土壤湿度传感器与我设备中PB上的I2C总线2(地址0x36)通信。

温度传感器(BMP280)

使用公对公跳线,我将SDA连接到P2_11, SCL连接到P2_09, GND和SDO连接到地,VCC连接到3.3 V。温度传感器与I2C总线1(地址0x76)通信。我最初打算使用BME280温度和湿度传感器,但bmp280(温度和压力)是我油炸原始BME280后唯一可用的传感器。

发光二极管

每个LED使用一个220欧姆电阻串联阳极(长腿)。然后,从电阻器,红色LED连接到P2_19,黄色LED连接到P2_25,绿色LED连接到P2_29。led的阴极(短腿)接地。布线如下图5所示。

按钮

使用公对公跳线,我在下拉配置中连接了一个瞬时按钮。按钮一端接P2_27 (GPIO输入),另一端接3.3 V导轨。同一个GPIO节点(P2_27)通过一个10 Kohms的下拉电阻连接到地,以确保在未按下按钮时处于定义的LOW状态。当按下时,按钮驱动P2_27 HIGH,允许PocketBeagle检测到屏幕切换的干净上升边缘输入。

代码

为了实现系统的功能,我为LCD、土壤湿度传感器、BMP280、led和按钮编写了python驱动程序。然后,主驱动程序读取土壤湿度,计算状态+干燥程度(使用简单的计算器),更新led(基于湿度),读取温度并更新LCD屏幕。按钮代码的编写允许在4个显示屏幕之间切换/循环:

•屏幕0 -显示土壤水分百分比和整体状态。

•屏幕1 -显示一个简化的干燥水平和状态。

•屏幕2 -提供一个简短的项目标题和用户提示按下一个屏幕。

•屏幕3 -显示温度和土壤湿度的组合监测。

我首先使用自定义configure_pins.sh脚本配置了PocketBeagle引脚,以便在启动时将所有GPIO、I2C和外设引脚设置为正确的模式。然后,我创建了一个run.sh脚本,该脚本将更改为项目目录,运行引脚配置,等待电源和I2C设备稳定,然后启动主python程序。最后,我通过创建一个在启动时调用run.sh的systemd服务启用了自动引导,确保在PocketBeagle开机时(使用5伏特USB充电适配器)工厂监视器自动运行,而不需要连接计算机。或者,您可以使用日志和cronlog文件设置自动引导,并使用命令sudo crontab -e编辑cron。

实现

只需使用Micro USB转USB- a电缆和5伏USB充电适配器将PocketBeagle连接到5V电源即可。

未来的工作

还有很多改进的空间,包括修复LCD的电气稳定性和初始化,以消除长时间运行后偶尔出现的显示故障。我还想增加一个操纵杆输入来取代单一的按钮,让屏幕之间的导航更流畅、更直观。扩展传感器套件,包括湿度、环境光和额外的温度探头,也将提供一个更完整的植物健康图景。通过增加一个Wi-Fi模块,当环境变得不利时,该系统可以向手机发送实时警报或通知。最后,我会激光切割或3d打印一个外壳,以提高耐用性,组织和设备的整体呈现。

本文编译自hackster.io

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭