资源简介
设备和环境:
1、树莓派3b;
2、ubuntu mate系统 linux内核是4.4.38;
3、DHT11传感器;
4、Qt 5.5.1。
实现的功能:
1、读取DHT11传感器的数据,并将温湿度显示在窗口中。
代码片段和文件信息
#include “dth11.h“
#include “ui_dth11.h“
#include
#include
DTH11::DTH11(QWidget *parent) :
QWidget(parent)
ui(new Ui::DTH11)
{
ui->setupUi(this);
qtimer = new QTimer(this);
connect(qtimer SIGNAL(timeout()) this SLOT(data_display()));
}
DTH11::~DTH11()
{
delete ui;
}
void DTH11::dht11_init()
{
printf(“Use GPIO1 to read data!\n“);
if (-1 == wiringPiSetup()) {
printf(“Setup wiringPi failed!“);
return;
}
pinMode(pinNumber OUTPUT); // set mode to output
digitalWrite(pinNumber 1); // output a high level
printf(“Enter OS-------\n“);
qtimer->start(100);
}
uint8 DTH11::read_dht11_dat()
{
uint8 crc;
uint8 i;
pinMode(pinNumberOUTPUT); // 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(pinNumberPUD_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;
}
}
void DTH11::data_display()
{
pinMode(pinNumberOUTPUT); // set mode to output
digitalWrite(pinNumber 1); // output a high level
delay(3000);
if(read_dht11_dat())
{
QString tmp = QString::number((databuf>>8)&0xff 10);
QString rh = QString::number((databuf>>24)&0xff 10);
ui->lb_tmpdisplay->setText(tmp);
ui->lb_rhdisplay->setText(rh);
// 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)&0xffdatabuf&0xff);
databuf=0;
}
else
{
ui->lb_tmpdisplay->setText(“Sorry! Sensor dosent ans!“);
// printf(“Sorry! Sensor dosent ans!\n“);
databuf=0;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2606 2018-01-03 08:02 dth11.cpp
文件 630 2018-01-03 08:02 dth11.h
文件 367 2018-01-03 08:02 DTH11.pro
文件 18706 2018-01-03 08:02 DTH11.pro.user
文件 1404 2018-01-03 08:02 dth11.ui
文件 182 2018-01-03 08:02 main.cpp
目录 0 2018-01-03 16:21 output\
文件 643016 2018-01-03 08:02 output\DTH11
文件 416004 2018-01-03 08:02 output\dth11.o
文件 435040 2018-01-03 08:02 output\main.o
文件 17387 2018-01-03 08:02 output\Makefile
文件 3208 2018-01-03 08:02 output\moc_dth11.cpp
文件 241240 2018-01-03 08:02 output\moc_dth11.o
文件 2856 2018-01-03 08:02 output\ui_dth11.h
相关资源
- 树莓派电路原理图 首发
- 树莓派串口设置
- 树莓派无刷电机控制器调速和PID控制
- 树莓派3B原理图
- 树莓派3b+资料合集百度网盘.docx
- 树莓派智能家居开题报告
- 树莓派无刷电机控制器调速和 PID 控制
- 微信小程序-树莓派照片监控有后台
- 树莓派智能小车 循迹 超声波避障 红
- 创乐博树莓派全套入门资料.txt
- 树莓派人脸识别门禁教程.docx
- wiringPi.tar
- miniprogram-2-wx-require.rar
- 树莓派3B+ 网页控制GPIOWebOPirpi3-webiop
- 树莓派+OpenCV+Arduino实现二维码颜色识
- zw_qq_30893653-10990571-树莓派人脸识别门
- 树莓派智能小车教程 树莓派底板功能
- 树莓派学习资料视频
- 树莓派个人开发资料整理
- 树莓派SPI从机主机代码
- 基于树莓派的人脸识别考勤系统的开
- TL-WN725N 1.0 Linux驱动补丁
- 基于树莓派的物联网应用论文
- 树莓派3b+的openwrt 驱动程序
- 爱普生L380/L360 Linux CUPS PPD驱动文件
- 树莓派游戏模拟器系统lakka游戏列表生
- 树莓派教程资源工具大合集
- 树莓派缩小备份镜像终极方法简单易
- 树莓派上使用sigar必需的本地库linux
- 树莓派入门指南.pdf
评论
共有 条评论