技术热线: 4007-888-234

单片机方案:基于8051单片机开发的自动灌溉系统

更新时间: 2019-11-13
阅读量:4078

自动灌溉系统主要应用在农林方面,在本文中,英锐恩单片机开发工程师们分享了基于8051单片机开发的自动灌溉系统方案。该单片机方案是使用8051单片机与湿度感应模块组成的自动植物浇水系统,为了演示,仅检测湿度功能,并在湿度低于设定极限时打开灌溉泵。当水分上升到设定点以上时,系统关闭泵。湿度水平阈值可以使用系统上的调节罐设置。泵的状态(无论是打开还是关闭)都显示在16×2 LCD显示屏上。

QQ截图20191113183748.png

一、什么是YL-69湿度传感器?

YL-69湿度传感器用于感应此处的湿度。它只是一个叉形PCB,其在腿的两侧都有走线。只需将探头插入要感测水分的土壤即可。YL-69湿度传感器的图像如下:

yl-69-moisture-sensor.png

二、什么是YL-38比较器?

本方案使用YL-38比较器模块。它是基于L393 IC的单通道运算放大器比较器。该模块仅将传感探头的输出电压与参考电压进行比较,并适当地切换其电压以供单片机读取。YL-38比较器模块的电路图如下所示:

yl-38-circuit-diagram.png

感测探针的输出电压连接到运算放大器的反相输入。当水分含量高时,更多的电流流经传感探头,因此反相引脚上的电压将高于参考电压。可以使用微调电位器R2设置参考值。在这种情况下,运算放大器的输出变低,并使LED D1发光以使其发光。当湿度低于设定点时,情况相反。因此,简单来说,运算放大器的LOW输出表示高湿度,而运算放大器的HIGH输出表示低湿度。运算放大器的输出在传感器YL-38模块上标记为D0引脚。该引脚连接到单片机以进行进一步处理。LED D2只是电源指示灯。电容器C1和C2是噪声滤波器。

三、单片机与电路图

单片机部分感测比较器模块的状态并适当切换灌溉电机。它还在LCD屏幕上显示泵的状态。本节中包含电源单元和电动机驱动器单元。该方案的完整电路图如下:

automatic-plant-watering-system.png

比较器模块(D0)的输出引脚连接到8051单片机的P3.5引脚。单片机通过查询比较器输出的P3.5引脚的状态来监控水分含量。

四、源代码

RS EQU P2.7
RW EQU P2.6
E  EQU P2.5
ORG 00H
SETB P3.5
MOV TMOD,#00000001B 
MAIN:ACALL DINT
     ACALL TEXT1
     JB P3.5, NEXT
     ACALL LINE2
     ACALL TEXT2
     CLR P2.0
     SJMP EXIT
NEXT:ACALL LINE2
     ACALL TEXT3
     SETB P2.0
     EXIT:ACALL DELAY1
SJMP MAIN
DELAY1:MOV R0,#15D
BACK1: MOV TH0,#00000000B   
       MOV TL0,#00000000B   
       SETB TR0             
HERE2: JNB TF0,HERE2         
       CLR TR0             
       CLR TF0             
       DJNZ R0,BACK1
       RET
TEXT1: MOV A,#"M"
    ACALL DISPLAY
    MOV A,#"o"
    ACALL DISPLAY
    MOV A,#"i"
    ACALL DISPLAY
    MOV A,#"s"
    ACALL DISPLAY
    MOV A,#"t"
    ACALL DISPLAY
    MOV A,#"u"
    ACALL DISPLAY
    MOV A,#"r"
    ACALL DISPLAY
    MOV A,#"e"
    ACALL DISPLAY
    MOV A,#" "
    ACALL DISPLAY
    MOV A,#"C"
    ACALL DISPLAY
    MOV A,#"o"
    ACALL DISPLAY
    MOV A,#"n"
    ACALL DISPLAY
    MOV A,#"t"
    ACALL DISPLAY
    MOV A,#"r"
    ACALL DISPLAY
    MOV A,#"o"
    ACALL DISPLAY
    MOV A,#"l"
    ACALL DISPLAY
    RET 
    
TEXT2: MOV A,#"["
    ACALL DISPLAY
     MOV A,#"O"
    ACALL DISPLAY
    MOV A,#"K"
    ACALL DISPLAY
    MOV A,#"]"
    ACALL DISPLAY
    MOV A,#" "
    ACALL DISPLAY
    MOV A,#"P"
    ACALL DISPLAY
    MOV A,#"u"
    ACALL DISPLAY
    MOV A,#"m"
    ACALL DISPLAY
    MOV A,#"p"
    ACALL DISPLAY
    MOV A,#" "
    ACALL DISPLAY
    MOV A,#"O"
    ACALL DISPLAY
    MOV A,#"F"
    ACALL DISPLAY
    MOV A,#"F"
    ACALL DISPLAY
    RET 
    
TEXT3: MOV A,#"["
    ACALL DISPLAY
    MOV A,#"L"
    ACALL DISPLAY
    MOV A,#"o"
    ACALL DISPLAY
    MOV A,#"w"
    ACALL DISPLAY
    MOV A,#"]"
    ACALL DISPLAY
    MOV A,#" "
    ACALL DISPLAY
    MOV A,#"P"
    ACALL DISPLAY
    MOV A,#"u"
    ACALL DISPLAY
    MOV A,#"m"
    ACALL DISPLAY
    MOV A,#"p"
    ACALL DISPLAY
    MOV A,#" "
    ACALL DISPLAY
    MOV A,#"O"
    ACALL DISPLAY
    MOV A,#"N"
    ACALL DISPLAY
    RET        
    
 DINT:MOV A,#0CH 
    ACALL CMD
    MOV A,#01H 
    ACALL CMD
    MOV A,#06H 
    ACALL CMD
    MOV A,#80H 
    ACALL CMD
    MOV A,#3CH 
    ACALL CMD
    RET
LINE2:MOV A,#0C0H 
    ACALL CMD
    RET   
CMD: MOV P0,A
    CLR RS
    CLR RW
    SETB E
    CLR E
    ACALL DELAY
    RET
DISPLAY:MOV P0,A
    SETB RS
    CLR RW
    SETB E
    CLR E
    ACALL DELAY
    RET
DELAY: CLR E
    CLR RS
    SETB RW
    MOV P0,#0FFH
    SETB E
    MOV A,P0
    JB ACC.7,DELAY
    CLR E·
    CLR RW
    RET
END


以上就是英锐恩单片机开发工程师分享的基于8051单片机开发的自动灌溉系统。英锐恩专注单片机应用方案设计与开发,提供8位单片机、16位单片机、32位单片机