/****************************************************
文件名:温湿度传感器测试实验
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
温湿度传感器-DHT11
最新推荐文章于 2023-12-10 12:54:08 发布