资源简介
设备和环境:
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
相关资源
- 树莓派B+_入门手册().pdf
- x264源码及其配置文件,用于配置树莓
-
Jli
nkV622c_ARM驱动 - 基于树莓派的可视化可远程遥控网络
- 树莓派运用CV摄像头、视觉巡线.zip
- MT7601(小度wifi360wifimiwif) staap linux驱
- 树莓派3b+学习使用教程
- 树莓派3b+装mate启动文件
- 婴幼儿监护系统的设计与实现
- wiringPi用户手册.pdf
- 最新树莓派开源原理图汇总
- 在树莓派上实现神经计算棒中
- 树莓派3B+原理图
- 树莓派底层驱动WiringPi代码 .rar
- opencv-3.4.0编译失败需要的boostdesc_bgm
- 树莓派基础.pdf
- 树莓派麦克风模块—Adafruit I2S MEMS M
- 树莓派开源原理图汇总
- h5py-树莓派4B.zip
- 内存卡修复工具SDFormatter4.0树莓派玩家
- paho.mqtt.c 树莓派交叉编译版本SDK
- 支持科大讯飞语音识别的树莓派版本
- 树莓派3B+使用手册
- BCM2837- 树莓派3B 芯片手册.pdf
- 安卓端遥控树莓派小车APP
- Xware1.0.31_armel_v5te_glibc.zip
- 树莓派3b+Ubuntumate16.04彩虹屏解决办法
- Onboard SDK开发流程202006111606.pdf
- 2711_1p0- 树莓派4B 芯片手册.pdf
- Ubuntu mate 树莓派引导root文件
评论
共有 条评论