標(biāo)題:
arduino濕敏傳感器報警Proteus仿真程序(用于檢測漏液)
[打印本頁]
作者:
xianxianhh
時間:
2019-8-15 11:34
標(biāo)題:
arduino濕敏傳感器報警Proteus仿真程序(用于檢測漏液)
主控芯片arduino
外接三個濕敏傳感器
顯示屏LCD1602
1000ms倒計時,倒計時內(nèi)濕敏電阻觸發(fā)即報警。1000ms用于打吊瓶等類似倒計時操作。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
Arduino源程序如下:
#include <SoftwareSerial.h>
#include <LiquidCrystal.h> //申明1602液晶的函數(shù)庫
#include <MsTimer2.h> //定時器庫的 頭文件
LiquidCrystal lcd(12,11,10,9,8,7,6,5,4,3,2); //申明1602液晶的11個引腳所連接的Arduino數(shù)字端口
int testa = A0; //測試引腳
int led=A4; //有水就亮
int a=0;
int b=0;
int c=0;
int vala=0;
int lll=A5; //外接繼電器IN腳
SoftwareSerial BT(A2, A3);
void flash() //中斷處理函數(shù)
{
a++;
lcd.setCursor(15,2);
lcd.print(a%10);
lcd.setCursor(14,2);
lcd.print(a/10);
if(a>=60)
{
a=0;
b++;
lcd.setCursor(12,2);
lcd.print(b%10);
lcd.setCursor(11,2);
lcd.print(b/10);
if(b>=60)
{
b=0;
c++;
lcd.setCursor(9,2);
lcd.print(c%10);
lcd.setCursor(8,2);
lcd.print(c/10);
}
}
}
void setup()
{
pinMode(led, OUTPUT);//定義小燈接口為輸出接口
pinMode(lll, OUTPUT);
pinMode(testa, INPUT);
BT.begin(9600);//設(shè)置波特率為9600
lcd.begin(16,2); //初始化1602液晶工作模式,定義1602液晶顯示范圍為2行16列字符
MsTimer2::set(1000, flash); // 中斷設(shè)置函數(shù),每 1000ms 進(jìn)入一次中斷
MsTimer2::start(); //開始計時
lcd.setCursor(9,2);
lcd.print("0:00:00");
}
void loop()
{
vala=digitalRead(testa);//讀取傳感器的值并賦值給val
if(vala==1)
{
digitalWrite(led, HIGH); //亮
digitalWrite(lll, HIGH); //亮
delay(1000);
BT.println("Help!!!!!");
lcd.setCursor(5,0);
lcd.print("Help!!!!!");
}
else {
digitalWrite(led,LOW); //滅
digitalWrite(lll,LOW); //滅
delay(1000);
lcd.setCursor(5,0);
lcd.print("no!!!!!");
}
}
復(fù)制代碼
0.png
(8.66 KB, 下載次數(shù): 49)
下載附件
2019-8-15 16:54 上傳
全部資料51hei下載地址:
sketch_apr11a.rar
(62.09 KB, 下載次數(shù): 38)
2019-8-15 11:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1