树莓派如何实现温湿度传感器DHT11
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要为大家展示了"树莓派如何实现温湿度传感器DHT11",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"树莓派如何实现温湿度传感器DHT11"这篇文章
千家信息网最后更新 2025年01月23日树莓派如何实现温湿度传感器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安全错误
数据库的锁怎样保障安全
安徽想度假网络技术
网维大师怎么重启服务器
哪所军校网络安全专业比较好
初中毕业考数据库工程师可以吗
河南星爵网络技术服务
泰山天气预报软件开发
机务段网络安全通讯报道
低代码软件开发怎么做到的
网络安全与法律法规
vs的数据库怎么建立
东胜软件开发培训
Web页面的数据库技术实验
网络安全慕课答案
无锡新型刀片服务器定制
网络安全怎么防盗
形势与政策网络安全笔记
dayz服务器密码
桓台财务软件开发价格
hana数据库使用说明
青岛网络技术公司收费
如何清空阿里云服务器上的数据
网络安全必须要知道的几个知识
属于安全的服务器登录方式是
银发网络安全
网络安全与法律法规
爬虫点击按钮后数据库
数据库查询改日期格式
访问不同的数据库mybatis
数据库asc从大到小排序
服务器虚拟内存快速增加