树莓派3B--DHT11传感器的使用

设备和环境:

1、树莓派3b;

2、ubuntu mate系统 linux内核是4.4.38

3、DHT11传感器。

 

功能需求:

1、读取DHT11传感器的数据,并将温湿度打印出来。

 

功能实现:

1、建立dht11.c文件,然后编写代码,具体如下;

 

//
//
//mydht11.c
//
#include 
#include 
#include typedef unsigned char uint8;
typedef unsigned int  uint16;
typedef unsigned long uint32;#define HIGH_TIME 32int pinNumber =1;  //use gpio1 to read data
uint32 databuf;uint8 readSensorData(void)
{uint8 crc; uint8 i;pinMode(pinNumber,OUTPUT); // set mode to outputdigitalWrite(pinNumber, 0); // output a high level delay(25);digitalWrite(pinNumber, 1); // output a low level pinMode(pinNumber, INPUT); // set mode to inputpullUpDnControl(pinNumber,PUD_UP);delayMicroseconds(27);if(digitalRead(pinNumber)==0) //SENSOR ANS{while(!digitalRead(pinNumber)); //wait to highfor(i=0;i<32;i++){while(digitalRead(pinNumber)); //data clock startwhile(!digitalRead(pinNumber)); //data startdelayMicroseconds(HIGH_TIME);databuf*=2;if(digitalRead(pinNumber)==1) //1{databuf++;}}for(i=0;i<8;i++){while(digitalRead(pinNumber)); //data clock startwhile(!digitalRead(pinNumber)); //data startdelayMicroseconds(HIGH_TIME);crc*=2;  if(digitalRead(pinNumber)==1) //1{crc++;}}return 1;}else{return 0;}
}int main (void)
{printf("Use GPIO1 to read data!\n");if (-1 == wiringPiSetup()) {printf("Setup wiringPi failed!");return 1;}pinMode(pinNumber, OUTPUT); // set mode to outputdigitalWrite(pinNumber, 1); // output a high level printf("Enter OS-------\n");while(1) {pinMode(pinNumber,OUTPUT); // set mode to outputdigitalWrite(pinNumber, 1); // output a high level delay(3000);if(readSensorData()){printf("Congratulations ! Sensor data read ok!\n");printf("RH:%d.%d\n",(databuf>>24)&0xff,(databuf>>16)&0xff); printf("TMP:%d.%d\n",(databuf>>8)&0xff,databuf&0xff);databuf=0;}else{printf("Sorry! Sensor dosent ans!\n");databuf=0;}}return 0;
}
//

2、编译

 

 

//
gcc -Wall -o dht11 dht11.c -lwiringPi
//

 

3、运行

 

//
./dht11
//

 

 

4、结果

 


 

 

致谢:

1、树莓派读取DHT11数据的实践思考

2、DHT11 HUMIDITY & TEMPERATURE SENSOR MODULE

3、树莓派读取温湿度传感器DHT11

4、树莓派读取温湿度传感器DHT11(好)

5、DHT11数字湿温度传感器的原理和应用范例


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部