完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
/* How to use the DHT-22 sensor with Arduino uno
Temperature and humidity sensor */ //Libraries #include #define tem_command 0x11 #define hum_command 0x10 //Constants #define DHTPIN 2 // what pin we're connected to #define DHTTYPE DHT22 // DHT 22 (AM2302) DHT dht(DHTPIN, DHTTYPE); //// Initialize DHT sensor for normal 16mhz Arduino byte comdata[3] = {0}; void receive_data(void); //接收串口数据 void test_do_data(void); //测试串口数据是否正确,并执行命令 //Variables int chk; float hum; //Stores humidity value float temp; //Stores temperature value void setup() { Serial.begin(9600); dht.begin(); } void loop() { while (Serial.available() > 0) //不断检查串口是否有数据 { receive_data(); //接收串口数据 test_do_data(); //测试数据是否正确并更新标志位 } } void receive_data(void) { int i; for(i = 0; i < 3; i++) { comdata = Serial.read(); //延时一会,让串口缓存准备好下一个字节,不延时可能会导致数据丢失 delay(2); } } void test_do_data(void) { if(comdata[0] == 0x55) //0x55和0xAA均为命令帧头,用于判断命令是否有效 { if(comdata[1] = 0xAA) { switch (comdata[2]) { case tem_command: //温度采集并发送 temp= dht.readTemperature(); Serial.print(temp,2); break; case hum_command : //湿度采集并发送 hum = dht.readHumidity(); Serial.print(hum,2); break; } } } } 《Arduino与labview开发实践》,沈金鑫,机械工业出版社 做的这个DHT22的例子,没有任何数据输出,这是为什么呢? 真的很急!!!!! |
|
相关推荐
4个回答
|
|
|
|
|
|
求助!!!!
|
|
|
|
你先用串口监视器看看数据
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
111 浏览 0 评论
148 浏览 0 评论
152 浏览 0 评论
1145 浏览 1 评论
Labview在生成安装文件的时候,提示“在本计算机上找不到已选定的某些安装程序”
1314 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-23 21:07 , Processed in 0.448750 second(s), Total 74, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号