打印
[其他ST产品]

基于STM32F103C8T6的智能加水(灌溉,浇花,农业)系统 (keil编译+C语言标准库)

[复制链接]
466|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaoqi000|  楼主 | 2023-12-29 13:44 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
简介
本系统适用于智能浇花、智能灌溉、智能加水、智慧农业、智慧养殖场等多个场景下适用。主要采用了超声波传感器来测量剩余水量的水位,并将所测得的水位距离显示在OLED屏上。同时根据实验所需,设定一定的阈值,当测量到水位过低时,此时会驱动水泵工作进行加水功能直到水位达到设定的阈值才停止加水,同时在加水的过程中也不断显示实时的水位距离。
三、成果展示1.图文展示

2.视频展示

可以点击以下链接转置B站观看演示视频


https://www.bilibili.com/video/BV1VM4y1x7ZS/?vd_source=dcdf2ea69047c7b2a74e7f76735cd5da




使用特权

评论回复
沙发
xiaoqi000|  楼主 | 2023-12-29 13:45 | 只看该作者
四、硬件选择

使用特权

评论回复
板凳
xiaoqi000|  楼主 | 2023-12-29 13:45 | 只看该作者
.STM32F103C8T6最小开发板

使用特权

评论回复
地板
xiaoqi000|  楼主 | 2023-12-29 13:46 | 只看该作者
2.0.96OLED屏
OLED (Organic Light-Emitting Diode):有机发光二极管又称为有机电激光显示,OLED 显示技 术具有自发光的特性,采用薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发光, 而且 OLED 显示屏幕可视角度大,功耗低。

使用特权

评论回复
5
xiaoqi000|  楼主 | 2023-12-29 13:47 | 只看该作者
3.HC-SR04 超声波传感器
HC-SR04 超声波距离传感器的核心是两个超声波传感器。一个用作发射器,将电信号 转换为 40 KHz超声波脉冲。接收器监听发送的脉冲。如果接收到它们,它将产生一个输出 脉冲,其宽度可用于确定脉冲传播的距离。
该传感器体积小巧,易于在任何机器人项目中使用,并提供 2 厘米至 400 厘米 (约 1 英寸至 13 英尺) 之间的出色非接触距离检测,精度为 3mm 。由于它的工作电压为 5 伏,因 此可以直接连接到 Arduino 或任何其他 5V 逻辑微控制器。

使用特权

评论回复
6
xiaoqi000|  楼主 | 2023-12-29 13:47 | 只看该作者
4.继电器

使用特权

评论回复
7
xiaoqi000|  楼主 | 2023-12-29 13:48 | 只看该作者
5.水泵

使用特权

评论回复
8
xiaoqi000|  楼主 | 2023-12-29 13:48 | 只看该作者
五、关键代码
3.main.c主函数关键函数
关键函数,通过设定阈值进行判断,是否需要加水操作

if(length>20)   //判断水位
                {relay_on();;//水泵打开加水
                       
                       
         while(1){
                 
                OLED_Clear();
                OLED_ShowCHinese(0,0,25);
                OLED_ShowCHinese(0,15,26);
                OLED_ShowCHinese(0,30,27);
                OLED_ShowCHinese(0,45,28);
                OLED_ShowCHinese(0,60,29);
                OLED_ShowCHinese(0,75,30);
                OLED_ShowCHinese(0,90,31);
               
                OLED_ShowCHinese(2,0,0);
                OLED_ShowCHinese(2,20,1);
                OLED_ShowCHinese(2,40,2);
                OLED_ShowCHinese(2,60,3);
       
          length = Hcsr04GetLength();
          OLED_ShowNum(2, 75, length, 2);
                OLED_ShowString(2,77, "cm");
               
               
                OLED_ShowString(3,73, ">>");
                OLED_ShowCHinese(5,80,11);
                OLED_ShowCHinese(5,95,12);
                delay_ms(500);
               
         if(length<20)   //判断水位
         {relay_off();;//水泵关闭
                 break;}
         }
}

使用特权

评论回复
9
xiaoqi000|  楼主 | 2023-12-29 13:48 | 只看该作者
继电器
设置一个端口来拔高或拉低操作继电器
//jidianqi.c

void relay_on(void)
{
  GPIO_SetBits(GPIOB,GPIO_Pin_5);
}

void relay_off(void)
{
  GPIO_ResetBits(GPIOB,GPIO_Pin_5);
}

使用特权

评论回复
10
真爱吴迪迪| | 2023-12-29 15:43 | 只看该作者
超声波传感器的作用是什么?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

55

主题

755

帖子

0

粉丝