|
本帖最後由 duop8600 於 2014-5-15 17:22 編輯
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#include <dht11.h>
dht11 DHT11;
#define DHT11PIN 7
const int readdht11 = 7;
const int relayPin = 13;
int relayState = 0;
int val=0;
int b=0;
void switchRelay()
{
if ( relayState = 0)
relayState = 1;
else
relayState = 0;
digitalWrite(relayPin, relayState);
Serial.print("Relay status: ");
Serial.println(relayState);
}
//判斷土壤sender
void anal()
{
if(b< 500)
{
digitalWrite(relayPin, LOW);
return;
}
else
{
digitalWrite(relayPin, HIGH);
return;
}
}
void setup(){
lcd.begin(16, 2);
Serial.begin(9600);
pinMode(readdht11, INPUT);
pinMode(relayPin, OUTPUT);
}
void loop(){
val=analogRead(A4);
Serial.print("Moisture Sensor Value:");
Serial.println(analogRead(4));
delay(100);
lcd.setCursor(0, 0);
lcd.print("mois:");
lcd.print(val);
int chk = DHT11.read(DHT11PIN);
switch (chk) {
case 0:
lcd.setCursor(0,1);
lcd.print("H:");
lcd.print((float)DHT11.humidity, 1);
lcd.print("%");
lcd.setCursor(8,1);
lcd.print("T:");
lcd.print((float)DHT11.temperature, 1);
lcd.print("oC");
break;
}
b=val;
anal();
}
電路是網站修改的http://coopermaa2nd.blogspot.tw/2011/03/lab21-12v.html
紅外線/按鈕 改成溫濕度感測器DHT11
風扇方面換成抽水幫浦RS360SH 一樣外掛電源上去5V/2A的電供
另外由類比腳位A4多接出 土壤感測器
程式方面是濕度小於500 抽水幫浦打開
但問題來了 幫浦沒電源時純粹讓繼電器動作 幫浦接上電源時候,LCD卻出現亂碼
不知道是不是程式問題 還是硬體方面有問題?
麻煩各位大大了
os:windows 7 64bit
arduino uno r3
軟體0022 |
|