arduino 温度调节器_Arduino用温湿度传感器控制继电器,为什么点了串口助手才能运行,拔掉usb线,直接外界9V电源却用不了...
用溫濕度傳感器控制繼電器,為什么點了串口助手才能運行,拔掉usb線,直接外界9V電源卻用不了,以下是程序,目的是在濕度達到40%的時候繼電器吸合,45%后,繼電器斷開,求各位大神指教...
用溫濕度傳感器控制繼電器,為什么點了串口助手才能運行,拔掉usb線,直接外界9V電源卻用不了,以下是程序,目的是在濕度達到40%的時候繼電器吸合,45%后,繼電器斷開,求各位大神指教問題出在哪了,溫濕度傳感器型號DHT11。本人Arduino新手,大家多多包涵。
#define DHT11_PIN 0
int relay=7;
byte read_dht11_dat()
{
byte i = 0;
byte result=0;
for(i=0; i< 8; i++){
while(!(PINC & _BV(DHT11_PIN))); // wait for 50us
delayMicroseconds(30);
if(PINC & _BV(DHT11_PIN))
result |=(1<
while((PINC & _BV(DHT11_PIN)));
}
return result;
}
void setup()
{
DDRC |= _BV(DHT11_PIN);
PORTC |= _BV(DHT11_PIN);
pinMode(relay,OUTPUT);
}
void loop()
{
byte dht11_dat[5];
byte dht11_in;
byte i;
PORTC &= ~_BV(DHT11_PIN);
delay(18);
PORTC |= _BV(DHT11_PIN);
delayMicroseconds(40);
DDRC &= ~_BV(DHT11_PIN);
delayMicroseconds(40);
dht11_in = PINC & _BV(DHT11_PIN);
delayMicroseconds(80);
dht11_in = PINC & _BV(DHT11_PIN);
delayMicroseconds(80);
for (i=0; i<5; i++)
dht11_dat[i] = read_dht11_dat();
DDRC |= _BV(DHT11_PIN);
PORTC |= _BV(DHT11_PIN);
if(dht11_dat[0]<=40)
{
digitalWrite(relay,HIGH);
}
else if(dht11_dat[0]>=45)
{
digitalWrite(relay,LOW);
}
delay(2000);
}
展開
總結(jié)
以上是生活随笔為你收集整理的arduino 温度调节器_Arduino用温湿度传感器控制继电器,为什么点了串口助手才能运行,拔掉usb线,直接外界9V电源却用不了...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python发邮件详解_python:利
- 下一篇: visual报表服务器项目,为 Visu