树莓派使用DHT11温湿度传感器(C语言)
硬件:
树莓派 2.0
DHT模块 接树莓派5V GND GPIO1
功能:读取传感器数据并打印出来

- //
- //mydht11.c
- //
- #include <wiringPi.h>
- #include <stdio.h>
- #include <stdlib.h>
- typedef unsigned char uint8;
- typedef unsigned int uint16;
- typedef unsigned long uint32;
- #define HIGH_TIME 32
- int pinNumber =1; //use gpio1 to read data
- uint32 databuf;
- uint8 readSensorData(void)
- {
- uint8 crc;
- uint8 i;
- pinMode(pinNumber,OUTPUT); // set mode to output
- digitalWrite(pinNumber, 0); // output a high level
- delay(25);
- digitalWrite(pinNumber, 1); // output a low level
- pinMode(pinNumber, INPUT); // set mode to input
- pullUpDnControl(pinNumber,PUD_UP);
- delayMicroseconds(27);
- if(digitalRead(pinNumber)==0) //SENSOR ANS
- {
- while(!digitalRead(pinNumber)); //wait to high
- for(i=0;i<32;i++)
- {
- while(digitalRead(pinNumber)); //data clock start
- while(!digitalRead(pinNumber)); //data start
- delayMicroseconds(HIGH_TIME);
- databuf*=2;
- if(digitalRead(pinNumber)==1) //1
- {
- databuf++;
- }
- }
- for(i=0;i<8;i++)
- {
- while(digitalRead(pinNumber)); //data clock start
- while(!digitalRead(pinNumber)); //data start
- delayMicroseconds(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 output
- digitalWrite(pinNumber, 1); // output a high level
- printf("Enter OS-------\n");
- while(1) {
- pinMode(pinNumber,OUTPUT); // set mode to output
- digitalWrite(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;
- }
树莓派使用DHT11温湿度传感器(C语言)的更多相关文章
- 树莓派使用DHT11温湿度传感器
一.相关介绍 DHT11介绍: DHT11是一款比较便宜的温湿度传感器模块.读取数据只需要占用一个IO口.能够同时测量温度和相对湿度. DHT11的数据手册可以看这里:http://wenku.bai ...
- 树莓派使用DHT11温湿度传感器(C语言程序)
pi4j是基于wiringpi开发的通过java来控制树莓派GPIO口的库文件.在java程序中引入相关类就可以使用已经封装好的方法控制树莓派GPIO口. pi4j官网:http://pi4j.com ...
- 树莓派连接DHT11温湿度传感器(python)
介绍 DHT11作为一个廉价配件,同时包含了温度.湿度传感器,而且,编码使用也非常简单. 本文介绍如果在树莓派中使用 DHT11,代码是Python.如果有任何疑问,欢迎在下面留言. 接线 VCC接5 ...
- 在树莓派上读取DHT11温湿度传感器-python代码实现及常见问题(全面简单易懂)
最近由于自己的课题需要,想要用在树莓派上使用DHT11温湿度传感器来读取空气中温湿度,遇到了几个问题,解决之后也对之前的知识进行了回顾,总结,特整理如下,希望能给也在学习树莓派的小伙伴们带来一些帮助. ...
- Arduino和C51开发DHT11温湿度传感器
技术:51单片机.Arduino.DHT11.温湿度传感器.传感器 概述 学习单片机离不开对传感器的学习,本文主要介绍DHT11温湿度传感器的使用方法,同学也可以了解更多的传感器,这对你以后开发产 ...
- DHT11温湿度传感器编程思路以及代码的实现(转载)
源自:https://blog.csdn.net/qq_34952376/article/details/81193938 在我们刚开始进入单片机的学习中,练习写传感器的时序是必不可少的,其实我比较推 ...
- STC15系列通用-STC15F2K60S2/STCW4K32S4读取DHT11温湿度传感器数据串口输出代码实例工程免费下载
//为了方便大家调试,另附程序工程共大家下载,下载地址:https://www.90pan.com/b1908750 //************************** //程序说明:stc ...
- DHT11温湿度传感器模块使用方法和驱动代码实现
DHT11模块简介 DHT11是一款价格便宜,易于使用的温度湿度测量二合一传感器.它具有超小体积.极低功耗的特点.它使用单根总线与单片机进行双向的串行数据传输,信号传输距离可达20米以上.非常适用于对 ...
- 玩转X-CTR100 l STM32F4 l DHT11温湿度传感器
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] DHT11数字温湿度传感器是一款含有已校准数字信号输 ...
随机推荐
- Swoole系列(二):安装
Window是没办法安装的,服务器版本建议用linux的centos7 Php版本5.4 安装步骤: 1.更新你的yum yum update 2.安装php相关扩展 2.yum install ph ...
- java String去除两端的空格和空字符
java中String有个trim()能够去掉一个字符串的前后空格.但是trim()只能去掉字符串中前后的半角空格,而无法去掉全角空格.去掉全角空格需要在trim()方法的基础上加上一些判断.Stri ...
- hadoop之WordCount源代码分析
//近期在研究hadoop.第一个想要要開始研究的必然是wordcount程序了.看了<hadoop应用开发实战解说>结合自己的理解,对wordcount的源代码进行分析. <pre ...
- 微信 oauth授权2
2.前面请求成功后 会在跳转url后得到 ?code=00b788e3b42043c8459a57a8d8ab5d9f&state=1 3.之后 使用code换取access_token 换取 ...
- azure绑定ssl,godaddy的ssl证书
域名是godaddy 申请的,证书也是godaddy 购买的,DV证书. godaddy购买证书后,申请ssl,需要输入,csr.网上找的csr生成工具,我使用 https://myssl.com/ ...
- 【BZOJ4403】序列统计 Lucas定理
[BZOJ4403]序列统计 Description 给定三个正整数N.L和R,统计长度在1到N之间,元素大小都在L到R之间的单调不降序列的数量.输出答案对10^6+3取模的结果. Input 输入第 ...
- 巨蟒python全栈开发django10:ajax&&登录认证
通过题目进行知识点回顾: 聚合查询 From django.db.models import Avg,Min,Max,F,Q,Count,Sum #查询书籍的平均值 Ret= Models.Book. ...
- coursera 《现代操作系统》 -- 第五周 同步机制(2)
分清紧急等待队列与条件等待队列(c 链) 条件等待队列:但是进入管程的这个进程可能由于对资源的操作的过程中发现条件不成熟, 那么它就不能够继续对资源进行相应的操作. 我们以生产者. 消费者为例. 如果 ...
- 使用GUID作为数据表主键的好处(转)
http://blog.itpub.net/3875/viewspace-789520/ 分类: 数据库开发技术 使用GUID作为数据表主键的好处 [@more@] 使用GUID作为数据表主键的好处 ...
- [IOI2018]狼人
[IOI2018]狼人 luogu UOJ 对人形和狼形分别建克鲁斯卡尔重构树 每次询问就是对于两棵树dfs序的一个二维数点,主席树维护 #include<bits/stdc++.h> u ...