0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于STM32的植物浇水系统开发

机智云 2024-01-18 08:09 次阅读

1功能实现

2 系统软硬件设计

3 系统测试

4 结论

1.总体功能实现

本文设计的一款基于STM32的植物浇水系统,主要由STM32单片机、土壤湿度传感器、温湿度传感器、Wi-Fi模块、水泵系统、继电器以及OLED液晶显示屏等构成,实现手动或自动浇水和远程监控。当土壤湿度传感器检测到土壤中的湿度较低时,自动启动浇水系统浇水,直到土壤湿度达标。同时,用户可以通过手机App实时查看土壤湿度数据与空气温湿度数据、设置浇水模式等。该系统硬件电路成本低,运行稳定,实现了智能浇水。

机智云物联网平台

在技术高速发展的今天,物联网系统开发模式已经发生了大幅度的转变。在传统物联网系统开发模式中,需要搭建一台高性能服务器,在服务器上搭建物联网后台,把相关项目以及数据部署在服务器上,通过服务器向用户提供相关服务。但是该模式存在很多问题:首先是成本问题,主要包含购买服务器、服务器的运营等费用,导致系统价格上升,难以推广;其次是安全问题,服务器要预防网络攻击、停电等各种异常问题,一旦服务器出现问题,产品可能会死机。本文选取机智云物联网平台,其是致力于物联网、智能硬件云服务的开放平台。平台提供了从产品定义、设备端开发调试、应用开发、产品测试、运营管理等覆盖智能硬件接入到运营管理全生命周期服务的能力。目前,机智云针对esp8266提供基本的MCU开发方案以及SDK开发方案,能够满足用户的实际需求,使用简单灵活。

2.总体硬件系统结构

系统硬件设计

系统总体设计如图1所示。由图1可知,整个系统由数据获取层、数据处理及控制层和数据显示层组成。数据获取层由土壤湿度传感器、温湿度传感器构成,其中,土壤湿度传感器能够采集土壤湿度,温湿度传感器能够采集环境温湿度数据。数据处理及控制层包括STM32单片机、继电器、水泵,其中,STM32为系统核心部分,用于数据处理,并向继电器发送控制信号,启动或停止水泵出水。


数据显示层包括OLED液晶显示屏、Wi-Fi模块、机智云物联网平台和手机App, 其中,OLED液晶显示屏用于显示STM32获取的传感器数据信息,STM32通过Wi-Fi模块向机智云物联网平台传输数据,并将数据显示在手机App上,同时借助手机App向STM32单片机发送控制信号。

ea32ee4a-b595-11ee-aa22-92fbcf53809c.jpg

2.1土壤湿度传感器硬件电路设计

选用YL-69土壤湿度传感器检测土壤湿度,将土壤湿度转换成模拟电压信号,单片机借助内部自带的模/数转换模块将模拟信号转换成数字信号,从而获取土壤湿度数据[7]。该传感器利用土壤水分对电容值的影响来检测土壤湿度:数值越大,说明土壤越干燥;数值越小,土壤越湿润。在硬件电路连接时需要将土壤湿度传感器的AO引脚与单片机的ADC输入引脚(PA1)相连,土壤湿度传感器的GND引脚连接到单片机的GND引脚,土壤湿度传感器的VCC引脚连接到单片机的VCC引脚。

2.2 环境温湿度传感器硬件电路设计


选用DHT11温湿度传感器监测环境温湿度信息。该传感器是一款含有已校准数字信号输出的温湿度复合传感器,使用专用的数字模块采集技术和温湿度传感技术,单线型串行接口,使用时需要在数据口连接一个上拉电阻(连线长度短于20 m时用5 kΩ上拉电阻,大于20 m时根据实际情况选择合适的上拉电阻)[8-9]。上电后,温湿度传感器接收到单片机发送的相关命令,并根据接收到的不同命令反馈相关数据。在硬件电路连接时,将温湿度传感器的数据输出引脚与单片机的通信引脚(PB9引脚)进行连接。

2.3 继电器硬件电路设计

继电器被用来控制水泵。水泵启动需要较大的电压及电流,如果使用单片机直接驱动,将影响单片机工作的稳定性,因此采用弱电控制强电原理,借助继电器进行控制。继电器相当于一个开关,其中VCC表示电源正极、GND表示电源负极、IN表示信号输入脚、COM表示公共端、NC(normal close)表示常闭端、NO(normal open)表示常开端,一般情况下是常闭状态。在硬件电路连接时,继电器连接单片机的PB13引脚。

2.4 数据显示与系统通信硬件设计

2.4.1 ESP8266通信模块硬件电路设计

ESP8266是一个成本较低的无线设备,内置TCP/IP协议,可以与任何Wi-Fi网络连接,是目前比较常用的一种无线通信模块[10]。本系统中的通信模块通过串口与单片机相连,将单片机与机智云服务器连接,进行数据传输。在硬件电路连接时,将Wi-Fi模块的LRXD引脚连接单片机串口TX(PB10),UTXD引脚连接单片机串口RX(PB11),从而实现两者之间的数据通信,如图2所示。

ea55c56e-b595-11ee-aa22-92fbcf53809c.jpg

2.4.2

OLED液晶显示屏硬件电路设计

有机发光二极管(OLED),又称有机电激光显示。OLED具备自发光、使用温度范围广、构造简单等特点,被认为是下一代的平面显示器新兴应用技术。虽然OLED的尺寸难以大型化,但是分辨率很高。

SSD1306是0.96英寸OLED液晶屏,满足本系统需求。STM32单片机将获取到的温湿度信息显示到OLED液晶显示屏,方便用户查看。在硬件电路连接上,STM32使用IIC通信协议连接OLED液晶显示屏,分别连接单片机对应的PB6(作为IIC的SCL引脚)和PB7引脚(作为IIC的SDA引脚)。

2.5 STM32单片机程序下载电路设计


选用的STM32F103C8T6单片机是一款基于Cortex-M3内核STM32系统的32位微控制器。该单片机支持的程序下载方式包括串口下载和下载器下载。串口下载需要先更改硬件boot引脚连接方式,然后修改单片机的启动地址,即可通过串口下载程序,而下载器下载需要借助单片机的下载引脚SWD和SCLK,再使用下载器下载程序。采用串口下载方式,借助FlyMcu软件,通过串口完成程序的下载。

3.系统软件设计

3.1主程序设计

ea5ec524-b595-11ee-aa22-92fbcf53809c.jpgSTM32作为主控芯片,负责程序初始化、控制及数据显示。单片机首先获取传感器数据,将数据显示在液晶屏,使用通信模块连接机智云平台与手机进行通信,再根据获取的数据实施相应控制。当土壤湿度传感器检测到土壤湿度较低时,启动浇水系统,当土壤湿度达标后停止浇水系统,其中浇水系统的启动方式包括手动和自动2种。具体流程如图3所示。

3.2土壤湿度传感器程序设计

土壤湿度传感器的数据获取是通过单片机的ADC引脚获取传感器的电压值,然后将获取到的模拟电压进行模数转换得到土壤湿度信息。首先初始化ADC功能,然后打开相关ADC通道进行数据循环采样,流程如图4所示。ea75f6f4-b595-11ee-aa22-92fbcf53809c.jpg

3.3环境温湿度传感器程序设计

环境温湿度传感器通过单片机的IO口进行命令的发送及数据的获取。首先初始化与温湿度传感器连接的数据引脚,然后分别输出一段时间的高低电平命令,获取GPIO的电平信号并获取温湿度传感器传输的数据。程序设计流程如图5所示。3.4 ESP8266通信模块程序设计
ESP8266通信模块通过串口与单片机进行通信,因此将该程序设计转换成单片机串口数据收发程序。首先对串口初始化,设置标志位,判断串口是否产生中断:如果产生中断,接收数据并将数据解析存储;如果没有中断,继续等待。程序设计流程如图6所示。4 系统测试与应用在进行系统硬件调试前,需要确保传感器和单片机电源、传感器与单片机的引脚连接正确。经过硬件焊接连接的实物图如图7所示

ea926172-b595-11ee-aa22-92fbcf53809c.jpg

eaa3ed34-b595-11ee-aa22-92fbcf53809c.jpgeaac90e2-b595-11ee-aa22-92fbcf53809c.jpg

4.云平台传输调试

eab99fd0-b595-11ee-aa22-92fbcf53809c.jpg将系统获取的数据上传至机智云物联网平台,并针对Wi-Fi模块、数据上传和命令过程下发进行调试。调试程序如图8所示。

5.测试结果与分析

eac5bcb6-b595-11ee-aa22-92fbcf53809c.jpg在自动模式下,将土壤湿度传感器放置在干燥缺水的土壤中,通过手机App可监测到环境温度值为26,环境湿度值为32,土壤湿度值为4036,此时自动启动水泵浇水,如图9所示。

结论

本文以STM32F103C8T6作为主控芯片,以及使用温湿度传感器、土壤湿度传感器、继电器、水泵、Wi-Fi模块、OLED等器件,设计了一款能够实时采集土壤湿度信息,并在土壤干涸时及时浇水的智能浇水系统。
该系统能够满足实时监测土壤环境的湿度,并且能定时将采集到的数据上传到机智云物联网平台,使用户能够实时了解环境状况,同时用户能够根据环境温湿度以及土壤湿度信息,决定是否远程打开水泵进行手动浇水操作。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2549

    文章

    50817

    浏览量

    752403
  • OLED
    +关注

    关注

    119

    文章

    6184

    浏览量

    223918
  • 物联网
    +关注

    关注

    2905

    文章

    44361

    浏览量

    371841
  • STM32
    +关注

    关注

    2266

    文章

    10880

    浏览量

    355080
收藏 人收藏

    评论

    相关推荐

    迅为RK3588开发板Android系统开发笔记-使用ADB工具

    工具在网盘资料“iTOP-3588 开发板\\\\02_【iTOP-RK3588 开发板】开发资料\\\\ 07_Android 系统开发配套资料\\\\01_ADB 工具配套资料”
    发表于 11-27 10:39

    智慧园区系统开发对智慧城市建设发展的促进

    智慧园区 系统开发作为数字化技术在园区管理和运营中的应用,不仅有助于提升园区的智能化水平,还对整个智慧城市建设发展起到积极推动作用。通过引入先进的信息技术、数据分析和智能化系统,智慧园区解决方案为
    的头像 发表于 09-03 11:21 275次阅读

    恩智浦MBDT加速汽车电机控制系统开发

    汽车电气化的推进,也在推动汽车电机控制应用的拓展。因此,找到一种更高效的方案,加速汽车电机控制系统开发的进程,工程师们对此总是抱有浓厚的兴趣。
    的头像 发表于 08-27 09:59 964次阅读

    第一篇:V1.5-STM32f103c8t6智能小车笔记 标准库开发 6612电机驱动新手入门项目

    这是全网最详细、性价比最高的STM32实战项目入门教程,通过合理的硬件设计和详细的视频笔记介绍,硬件使用STM32F103主控资料多方便学习,通过3万字笔记、12多个小时视频、20多章节代码手把手教会你如何开发和调试。让你更快掌
    的头像 发表于 08-12 18:25 1528次阅读
    第一篇:V1.5-<b class='flag-5'>STM32</b>f103c8t6智能小车笔记 标准库<b class='flag-5'>开发</b> 6612电机驱动新手入门项目

    中央空调水系统常见问题及故障分析

    中央空调水系统是现代建筑中常见的一种空调系统,它通过水循环来调节室内温度,具有节能、舒适、环保等优点。然而,在实际使用过程中,中央空调水系统也会出现各种问题和故障。 一、中央空调水系统
    的头像 发表于 07-17 16:37 660次阅读

    STM32单片机有哪几种常见的开发环境?

    STM32单片机是一款广泛应用于嵌入式系统开发的单片机,针对其开发,有以下几种常见的方式:STM32单片机有哪几种常见的开发环境?KeilM
    的头像 发表于 05-18 08:04 2960次阅读
    <b class='flag-5'>STM32</b>单片机有哪几种常见的<b class='flag-5'>开发</b>环境?

    智慧城市供水系统:讯维数字孪生可视化系统助力实时监控与优化

    在智慧城市的建设中,供水系统作为城市基础设施的重要组成部分,其安全性和稳定性直接关系到市民的日常生活质量。为了确保供水系统的顺畅运行,讯维数字孪生可视化系统凭借其独特的技术优势,为供水系统
    的头像 发表于 05-06 16:48 379次阅读

    ARM嵌入式Linux 系统开发从入门到精通

    ARM嵌入式Linux 系统开发从入门到精通
    发表于 03-10 18:44

    分享一个简单的自动植物浇水系统电路

    如果您是那些想在舒适的山地度假胜地度过来之不易的暑假,但又担心您家中的盆栽同伴的人之一,那么植物浇水系统就是您所需要的。“自动植物浇水系统回路”项目在土壤变干后立即给
    的头像 发表于 02-25 16:53 1642次阅读
    分享一个简单的自动<b class='flag-5'>植物</b><b class='flag-5'>浇水系统</b>电路

    【工作准备】OpenHarmony鸿蒙操作系统开发——基础必备软件

    、去问。 软件列表如下: 一、OpenHarmony 内核及子系统开发软件列表 1. DevEco Studio 【作用】HarmonyOS 应用集成开发环境,开发各种应用。 【其他】HAP 应用
    的头像 发表于 02-23 15:51 1690次阅读
    【工作准备】OpenHarmony鸿蒙操作<b class='flag-5'>系统开发</b>——基础必备软件

    珠海盈致科技在MES系统开发方面有哪些优势?

    珠海盈致科技在MES系统开发方面具有丰富的经验和技术实力。他们自主研发的SiMDA-MOM智能制造运营管理体系,是一套全面的制造执行管理系统,涵盖了SiMDA-SCADA数据采集系统
    的头像 发表于 01-22 16:29 544次阅读

    康谋方案 | 加速自动驾驶系统开发的技术解决方案

    ADTF(AUTOMOTIVE DATA & TIME-TRIGGERED FRAMEWORK)是一款专为自动驾驶系统开发人员设计的软件,提供多种功能和工具,加速系统开发和测试
    的头像 发表于 01-19 15:57 390次阅读
    康谋方案 | 加速自动驾驶<b class='flag-5'>系统开发</b>的技术解决方案

    ALVA中标智能工厂AR远程协助系统开发项目

    近日,ALVA Systems 中标上海中臣烟草数控技术有限公司(上海烟草机械有限责任公司下属企业)智能工厂 AR 远程协助系统开发项目。
    的头像 发表于 01-12 11:35 791次阅读

    使用STM32 HAL库进行GPIO控制的实例

    在基于STM32微控制器的嵌入式系统开发中,GPIO(GeneralPurposeInput/Output)控制是其中最基本、最常见的操作之一。通过使用STM32的HAL库,可以轻松地对GPIO进行配置和控制。本文将演示如何使用
    的头像 发表于 12-21 15:22 3220次阅读

    QE for AFE嵌入式系统开发的评估工具说明

    电子发烧友网站提供《QE for AFE嵌入式系统开发的评估工具说明.pdf》资料免费下载
    发表于 12-21 10:27 0次下载
    QE for AFE嵌入式<b class='flag-5'>系统开发</b>的评估工具说明