
Arduino DHT11编程
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本教程介绍如何使用Arduino平台进行DHT11温湿度传感器的基本编程,包括硬件连接、代码编写及数据读取等步骤。
Arduino DHT11程序
```cpp
int temp; // 温度
int humi; // 湿度
int tol; // 校对码
int j;
unsigned int loopCnt;
int chr[40] = {0}; // 创建数字数组,用来存放40个bit
unsigned long time;
#define pin 2
void setup() {
Serial.begin(9600);
}
void loop() {
bgn:
delay(2000); // 设置2号接口模式为输出,并输出低电平20ms(>18ms)
pinMode(pin, OUTPUT);
digitalWrite(pin, LOW);
delay(20);
digitalWrite(pin, HIGH);
delayMicroseconds(40);
digitalWrite(pin, LOW); // 设置2号接口模式:输入
pinMode(pin, INPUT);
// 高电平响应信号
loopCnt = 10000;
while (digitalRead(pin) != HIGH)
if (--loopCnt == 0) {
Serial.println(HIGH);
goto bgn;
}
// 低电平响应信号
loopCnt = 30000;
while (digitalRead(pin) != LOW)
if (--loopCnt == 0) {
Serial.println(LOW);
goto bgn;
}
// 开始读取bit1-40的数值
for(int i=0; i<40; ++i) {
while(digitalRead(pin) == LOW){} // 当出现高电平时,记下时间“time”
time = micros();
while(digitalRead(pin) == HIGH){}
if (micros() - time > 50)
chr[i] = 1;
else
chr[i] = 0;
}
```
全部评论 (0)


