|
YL-69的資料內(nèi)程序有51單片機(jī)和Arduino的測(cè)試程序,我用的是51的程序。先說我的模塊吧,四線制的,如果你買的是三線制的也沒關(guān)系,看完就懂。
VCC GND的連線就不說了。
DO —— 自己定于一個(gè)IO口,程序定義的是 key1=P0^1 ,
AO —— J9 4 (AIN1) 這個(gè)要對(duì)照單片機(jī)原理圖自己找
模擬量轉(zhuǎn)數(shù)字量,用于LCD1602 顯示準(zhǔn)確數(shù)值(顯示的是電壓值,具體濕度要自己定義)
測(cè)試AO的時(shí)候我發(fā)現(xiàn)如果接上DO,LCD顯示會(huì)出錯(cuò),所以我接了AO線就會(huì)拔掉DO線,其實(shí)就是兩種模式二選一就好了。
3.jpg (124.91 KB, 下載次數(shù): 98)
下載附件
2019-7-18 18:52 上傳
2.jpg (122.89 KB, 下載次數(shù): 100)
下載附件
2019-7-18 18:52 上傳
1.png (205.91 KB, 下載次數(shù): 91)
下載附件
2019-7-18 18:52 上傳
我從賣家那里獲得的資料程序很簡(jiǎn)單,其程序單純用于判斷 干 或 濕。我加了個(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í)用的。 打開程序,把那些檢測(cè)的程序刪除一部分就可以了。然后按照自己的想法修改程序。
二:我自己修改了一下,發(fā)現(xiàn)這個(gè)程序的LCD顯示程序真的是 令人費(fèi)解,你可以去理解,但真的是極其巧妙,我改了挺久的。
改好后的顯示有濕度,原本AD轉(zhuǎn)換后的信號(hào)量我沒有刪去, 5.0v干,對(duì)應(yīng)0%濕度 。 4.0V濕對(duì)應(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è)壓縮包。
(卑微的我黑幣太少,寫一下簡(jiǎn)單的濕度傳感器吧)
單片機(jī)源程序如下:
/******************************************
傳感器觸發(fā)測(cè)試
單片機(jī):STC89C52
波特率:9600
*****************************************/
#include <reg52.h>
unsigned char date;
#define uchar unsigned char
#define uint unsigned int
sbit key1=P0^1; //程序自帶觀察對(duì)象 數(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; // 檢測(cè)到濕 數(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)
2022-10-11 18:01 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|