用温湿度传感器控制继电器,为什么点了串口助手才能运...-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4872|回复: 6

用温湿度传感器控制继电器,为什么点了串口助手才能运...

[复制链接]
发表于 2013-1-21 23:20 | 显示全部楼层 |阅读模式
用温湿度传感器控制继电器,为什么点了串口助手才能运行,拔掉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<<(7-i));
               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);
}
发表于 2013-1-22 02:10 | 显示全部楼层
为什么点了串口助手才能运行,拔掉usb线,直接外界9V电源却用不了

dc口外接9V不行?那么你电源有问题,要么你硬件有问题咯
 楼主| 发表于 2013-1-22 11:05 | 显示全部楼层
奈何col 发表于 2013-1-22 02:10
dc口外接9V不行?那么你电源有问题,要么你硬件有问题咯

是啊 用的双鹿方块电池,按理说电流 不应该不够啊
发表于 2013-1-22 11:19 | 显示全部楼层
简单的闪灯呢?

你这个程序我看不懂。很多奇怪的符号例如PINC 和 _BV都不知道是什么。
不过为什么要用0号针呢?
 楼主| 发表于 2013-1-22 14:53 | 显示全部楼层
fanqi 发表于 2013-1-22 11:19
简单的闪灯呢?

你这个程序我看不懂。很多奇怪的符号例如PINC 和 _BV都不知道是什么。

后来改了5号口也一样
发表于 2013-1-22 15:33 | 显示全部楼层
wangican 发表于 2013-1-22 14:53
后来改了5号口也一样

简单闪灯程序能正常运行?只有用到这个传感器的不行?
 楼主| 发表于 2013-1-22 16:51 | 显示全部楼层
fanqi 发表于 2013-1-22 15:33
简单闪灯程序能正常运行?只有用到这个传感器的不行?

对对 我一直以为是程序问题 就是不明白错在哪了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-27 23:09 , Processed in 0.074027 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表