|
7#
樓主 |
發表於 2015-6-14 12:24:05
|
只看該作者
回復 6# BlackJa
int A0Pin=0; //雨滴感測器 A0腳位int D0Pin =2; //雨滴感測器 D0腳位
int ledPin=13; //定義LED腳位
int D0Status; //宣告雨滴感測器狀態暫存器
int val=0; //雨滴感測器的電壓參數
int D0_T=0;
int noD0_T=0;
boolean Enable = true;
boolean ledStatus = true; //宣告LED狀態暫存器
void setup()
{
pinMode(ledPin,OUTPUT); //定義I/O腳位13為輸出
pinMode(D0Pin,INPUT); //
Serial.begin(9600); //設定鮑率為9600
}
void loop()
{
//---------analog output---------
val=analogRead(A0Pin); //讀取ADC腳位變化
Serial.println(val); //顯示val值
//---------digital output---------
delay(1); //delay 1ms
D0Status = digitalRead(D0Pin); //擷取D0Pin目前的狀態(HIGH或LOW)
if(D0Status == LOW)
{
noD0_T = 0; //清除無雨滴感測計時器
D0_T++; //計時雨滴感測計時器
if((D0_T >= 10) && (Enable == true)) //若雨滴感測啟動的時間超過一個時間範圍並且土壤濕度感測判別感測功能被啟動時
{
Enable = false; //關閉雨滴感測功能
digitalWrite(ledPin,HIGH); //LED亮起,表雨水濕度超過範
D0_T = 0;
}
}
else
{
if(D0_T > 0) //若雨滴感測器的數值大於0,表示剛有一定的濕度標準,但是一下子就乾了
{
if(++noD0_T >= 10) //若雨滴感測器的計時時間超過一個時間範圍則
{
digitalWrite(ledPin,LOW); //LED熄滅,表濕度低於範圍
Enable = true; //啟動雨滴感測功能
D0_T = 0; //清除雨滴感測計時器
noD0_T = 0; //清除雨滴感測計時器
}
}
}
}
不知到這組程式行不行改...
我試過接法了,我用電池跟超小馬達測試過 可以用
不過現在是卡到程式... |
|