树莓派如何实现温湿度传感器DHT11
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要为大家展示了"树莓派如何实现温湿度传感器DHT11",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"树莓派如何实现温湿度传感器DHT11"这篇文章
千家信息网最后更新 2025年12月01日树莓派如何实现温湿度传感器DHT11
这篇文章主要为大家展示了"树莓派如何实现温湿度传感器DHT11",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"树莓派如何实现温湿度传感器DHT11"这篇文章吧。
1、连线
我买的这个DHT11比较郁闷,三根管脚,没有注明哪个是VCC,哪个是GND,网上搜了一堆,为毛别的传感器都标注清楚了,我的只标注了个正负号,后来跟某宝老板咨询了下,确定是+是VCC,-是GND,中间的是Data(或许是因为我是电信专业的小白,不懂这些行话)

1->3.3v 接左边第1个GPIO针脚
2->GPIO 数据接口,可随意连接1个GPIO针脚(第7个针脚对应的是GPIO Pin #4,和下面的代码对应)
3->GND 接地(第6个针脚或其他GND)
2、安装gpio驱动(姑且叫驱动吧,原理还不清楚)
sudo apt-get install wiringpi
3、运行例子(C代码)
#include#include #include #include #define MAX_TIME 100#define DHT11PIN 7 //读取数据引脚#define ATTEMPTS 5 //retry 5 times when no responseint dht11_val[5]={0,0,0,0,0}; int dht11_read_val(){ uint8_t lststate=HIGH; //last state uint8_t counter=0; uint8_t j=0,i; for(i=0;i<5;i++) dht11_val[i]=0; //host send start signal pinMode(DHT11PIN,OUTPUT); //set pin to output digitalWrite(DHT11PIN,LOW); //set to low at least 18ms delay(18); digitalWrite(DHT11PIN,HIGH); //set to high 20-40us delayMicroseconds(30); //start recieve dht response pinMode(DHT11PIN,INPUT); //set pin to input for(i=0;i =4)&&(i%2==0)){ dht11_val[j/8]<<=1; //write 1 bit to 0 by moving left (auto add 0) if(counter>16) //long mean 1 dht11_val[j/8]|=1; //write 1 bit to 1 j++; } } // verify checksum and print the verified data if((j>=40)&&(dht11_val[4]==((dht11_val[0]+dht11_val[1]+dht11_val[2]+dht11_val[3])& 0xFF))){ float f, h; h = dht11_val[0] + dht11_val[1]; f = dht11_val[2] + dht11_val[3]; printf("Temp = %.1f *C, Hum = %.1f \%\n", f, h); return 1; } else return 0;} int main(void){ int attempts=ATTEMPTS; if(wiringPiSetup()==-1) exit(1); while(attempts){ //you have 5 times to retry int success = dht11_read_val(); //get result including printing out if (success) { //if get result, quit program; if not, retry 5 times then quit break; } attempts--; delay(2500); } return 0;}
注意第48,49行,针对DHT11模块的度出来的就是温湿度值,不需要转换,网上其他人给的代码还转换了下,不清楚原因。
编译:
gcc testDHT11.c -o test -lwiringPi
运行
sudo ./test
注意,要使用root权限才能正常运行。
以上是"树莓派如何实现温湿度传感器DHT11"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
传感器
针脚
树莓
清楚
代码
内容
篇文章
运行
数据
学习
帮助
驱动
郁闷
专业
例子
原因
原理
就是
接口
易懂
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全工程师招聘重庆
网络安全工程师在机房工作
人人关服务器
腾讯云怎么找到自己的服务器
SM软件开发资质什么意思
驾驶员网络安全培训
当代网络技术发展
杜绝出现网络安全
小公司使用的数据库软件
独立服务器租金多少
oracle数据库闪回表
校园网络安全培训的现状
走进企业网络安全
csv格式如何导入数据库
软件开发背景介绍怎么写
qq怎么断开远程连接服务器
湖北avr软件开发
软件开发预算说明书
盐城营销软件开发哪家好
对数据库技术这门课的认识
阿里云ecs数据库地址
医院计算机信息网络安全管理制度
原神官方服务器pc版闪退
软件开发项目经理前景
数据库镜像连接错误4
丽江高密度存储服务器生产厂家
江西实用软件开发供应商
网易服务器1.17崩服小技巧
qq怎么断开远程连接服务器
松江区管理软件开发多少钱