標(biāo)題: 51單片機(jī)驅(qū)動(dòng)YL-69土壤濕度傳感器詳解 附源程序資料 [打印本頁]

作者: agsnjack    時(shí)間: 2019-7-18 14:48
標(biāo)題: 51單片機(jī)驅(qū)動(dòng)YL-69土壤濕度傳感器詳解 附源程序資料
YL-69的資料內(nèi)程序有51單片機(jī)和Arduino的測試程序,我用的是51的程序。先說我的模塊吧,四線制的,如果你買的是三線制的也沒關(guān)系,看完就懂。
VCC GND的連線就不說了。

DO —— 自己定于一個(gè)IO口,程序定義的是   key1=P0^1  ,
AO ——  J9  4 (AIN1)  這個(gè)要對照單片機(jī)原理圖自己找                  
模擬量轉(zhuǎn)數(shù)字量,用于LCD1602 顯示準(zhǔn)確數(shù)值(顯示的是電壓值,具體濕度要自己定義)

測試AO的時(shí)候我發(fā)現(xiàn)如果接上DO,LCD顯示會(huì)出錯(cuò),所以我接了AO線就會(huì)拔掉DO線,其實(shí)就是兩種模式二選一就好了。


我從賣家那里獲得的資料程序很簡單,其程序單純用于判斷 干 或 濕。我加了個(gè)LED燈亮滅,也就是 濕就亮燈,干就滅燈。

好了,重點(diǎn)講一下AO的接口,這個(gè)才重要。顯示具體濕度值。
第一次寫帖子啊,代碼直接貼上來會(huì)怎么樣的啊,不知道,是不是要寫在附件里面啊,具體怎么操作不知道了,有懂的說一下哈。

一:接線接好了,直接燒程序(廢話),但是如果你用的單片機(jī)是亞博的51單片機(jī),它的學(xué)習(xí)資料,視頻教程里面就會(huì)有LCD1602顯示AD的程序,亞博 51單片機(jī)開發(fā)板資料A\亞博 51單片機(jī)開發(fā)板光盤資料A\6、單片機(jī)視頻教程\1、配套視頻教程\第19講 AD和DA\2.AD(1602液晶顯示)
就是這個(gè)程序了,AO接線后,單片機(jī)那張圖片,我用濕紙巾包著傳感器, 2.2V 那個(gè)就是AD轉(zhuǎn)換后的數(shù)值,其它數(shù)值嘛,不要管,視頻教程里面有說是什么來的,學(xué)習(xí)用的。 打開程序,把那些檢測的程序刪除一部分就可以了。然后按照自己的想法修改程序。

二:我自己修改了一下,發(fā)現(xiàn)這個(gè)程序的LCD顯示程序真的是 令人費(fèi)解,你可以去理解,但真的是極其巧妙,我改了挺久的。
改好后的顯示有濕度,原本AD轉(zhuǎn)換后的信號(hào)量我沒有刪去, 5.0v干,對應(yīng)0%濕度 。 4.0V濕對應(yīng)25%濕度,1.0V......... 這個(gè)是自己大概范圍的定義。
程序里面有水泵電機(jī)的開關(guān),當(dāng)濕度為25%  也就是4.0V~5.0V之間的時(shí)候,電機(jī)開啟泵水

水泵接線 J11  4、5  (VCC和OUT4)原理圖看。 還要接一條線,J12  IN4接P1^2 這個(gè)1.2是自己定義的,程序里面的 sbit ben=p1^2  。 if ben=0 水泵開啟。

如果要自己研究的話看 一: 給你提供一個(gè)方向,因?yàn)槲议_始的時(shí)候就是AD不會(huì)用。要參照我的程序的話我提供一個(gè)壓縮包。
(卑微的我黑幣太少,寫一下簡單的濕度傳感器吧)
單片機(jī)源程序如下:
/******************************************
傳感器觸發(fā)測試
單片機(jī):STC89C52
波特率:9600
*****************************************/
#include <reg52.h>
unsigned char date;
#define uchar unsigned char
#define uint unsigned int
sbit key1=P0^1;    //程序自帶觀察對象 數(shù)碼管
sbit LED1=P1^2;   //自己定義了一個(gè)LED燈觀察

/* 函數(shù)申明 -----------------------------------------------*/
void delay(uint z);
void Initial_com(void);

/*********************************************************************************
** 函數(shù)名稱 : delay(uint z)
** 函數(shù)功能 : 延時(shí)函數(shù)
*********************************************************************************/
void delay(uint z)
{                                                                                                                                                                                          
    uint i,j;
    for(i=z;i>0;i--)
        for(j=110;j>0;j--);
}
//*****串口初始化函數(shù)***********
void Initial_com(void)
{
EA=1;        //開總中斷
ES=1;        //允許串口中斷
ET1=1;        //允許定時(shí)器T1的中斷
TMOD=0x20;   //定時(shí)器T1,在方式2中斷產(chǎn)生波特率
PCON=0x00;   //SMOD=0
SCON=0x50;   // 方式1 由定時(shí)器控制
TH1=0xfd;    //波特率設(shè)置為9600
TL1=0xfd;
TR1=1;       //開定時(shí)器T1運(yùn)行控制位
}
//**********主函數(shù)*********
main()
{
         Initial_com();
         while(1)
         {
                 LED1=1;            // LED 常閉           
                  if(key1==0)
                {
                        delay(5);          //消抖動(dòng)
                        if(key1==0)          //確認(rèn)觸發(fā)
                        {
                                 SBUF=0X01;                // 檢測到濕 數(shù)碼管開、LED亮
                                 LED1=0;
                                 delay(200);
                        }
                }
                  if(RI)
                  {
                        date=SBUF;    //單片機(jī)接受
                        SBUF=date;    //單片機(jī)發(fā)送
                        RI=0;
                  }               
          }
}

程序與pdf資料51hei下載地址:
土壤濕度傳感器 資料合集.7z (2.08 MB, 下載次數(shù): 680)

作者: hzw854025403    時(shí)間: 2019-7-28 13:09
謝謝樓主分享
作者: wis98    時(shí)間: 2019-8-27 19:14
謝謝樓主分享
作者: yyyyyh    時(shí)間: 2019-11-18 23:34
很有幫助
作者: 51hei..    時(shí)間: 2019-12-4 10:01
可以發(fā)下代碼嗎?
作者: 51hei..    時(shí)間: 2019-12-4 10:15
可以發(fā)下代碼嗎?
作者: 菜鳥1營    時(shí)間: 2019-12-7 22:25
你那個(gè)switch的AD_CHANNEL我咋看不懂
作者: 51hei..    時(shí)間: 2019-12-8 08:43
菜鳥1營 發(fā)表于 2019-12-7 22:25
你那個(gè)switch的AD_CHANNEL我咋看不懂

有完整代碼嗎?

作者: 菜鳥1營    時(shí)間: 2019-12-8 19:53
51hei.. 發(fā)表于 2019-12-8 08:43
有完整代碼嗎?

有,我自己重新實(shí)現(xiàn)了,它的代碼我kingst板子用不了
自己單片機(jī)書上代碼模塊調(diào)用實(shí)現(xiàn)了
作者: 菜鳥1營    時(shí)間: 2019-12-8 20:05
我的主頁有我自己實(shí)現(xiàn)的,第一次寫這網(wǎng)站文章,免費(fèi)的大家可去看看
作者: newworl    時(shí)間: 2019-12-9 11:04
學(xué)習(xí)中
作者: 歸途2020    時(shí)間: 2020-2-10 16:17
謝謝樓主分享
作者: 二十合春秋    時(shí)間: 2020-4-27 22:10
感謝樓主,幫助很大
作者: aie    時(shí)間: 2020-5-6 11:14
謝謝樓主分享
作者: 陌上花開紅顏?zhàn)?nbsp;   時(shí)間: 2020-5-13 13:19
感想樓主分享
作者: danmolu    時(shí)間: 2020-6-13 18:13
可以發(fā)一下完整代碼嘛

作者: timeo    時(shí)間: 2021-12-21 17:50
樓主好,能否詳細(xì)介紹下這個(gè)試讀模塊?
,還有一個(gè)單片機(jī)能帶多少個(gè)模塊?

作者: wangzhizhu    時(shí)間: 2023-4-19 12:10
很好,很有參考價(jià)值
作者: Leo_Lv    時(shí)間: 2023-10-10 22:27
很好,很有價(jià)值
作者: pink-JJLin    時(shí)間: 2024-1-25 18:57
很好,感謝分析
作者: yxyycwwh    時(shí)間: 2025-3-25 14:20
必須支持一下,這個(gè)還是很好用的




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1