温湿度传感器-DHT11

/****************************************************
文件名:温湿度传感器测试实验
MCU : Arduino Mega2560
器件:ArduinoMega2560核心板, DHT11传感器, 导线若干
******************************************************/
int DHpin = 40;
byte dat[5];

byte read_data()
{
byte data;
for(int i=0; i<8; i++)
 {
if(digitalRead(DHpin) == LOW)
 {
   while(digitalRead(DHpin) == LOW); //等待50us;
delayMicroseconds(30);
 //判断高电平的持续时间,以判定数据是‘0’还是‘1’;
if(digitalRead(DHpin) == HIGH)
   data |= (1<<(7-i)); //高位在前,低位在后;
   while(digitalRead(DHpin) == HIGH);
 //数据‘1’,等待下一位的接收;
   }
}
return data;
}

void th_test()
{
digitalWrite(DHpin,LOW); //拉低总线,发开始信号;
 delay(30); //延时要大于18ms,以便DHT11 能检测到开始信号;
digitalWrite(DHpin,HIGH);
delayMicroseconds(40); //等待DHT11 响应;
pinMode(DHpin,INPUT);
while(digitalRead(DHpin) == HIGH);
delayMicroseconds(80); //DHT11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值