本文利用arduino uno时时读取DHT11温湿度传感器的温度和湿度值,并将读取到的数值显示在OLED12864上。

元器件: arduino板

OLED12864显示屏

DHT11温湿度传感器

库文件:  <U8g2lib.h>  此库是用于12864oled显示屏用

<dht11.h>      此库是DHT11温湿度传感器库文件

目录

一、安装U8g2lib库

二、安装dht11库

三、元器件及接线方法

1.DHT11引脚图及定义

2.oled12864引脚及定义

3.本文元器件接线方法

四、程序

五、最终实物图


一、安装U8g2lib库

        1.打开Arduino IDE软件,标题栏找到项目>加载库>管理库,点击打开。

2.打开库管理器之后,等待文件加载完毕,在搜索框内输入u8g2,找到u8g2库文件并完成安装。

二、安装dht11库

dht11库文件安装参考太极创客网站安装方法:   http://www.taichi-maker.com/homepage/iot-development/iot-dev-reference/esp8266-iot-dev-ref/esp8266-sensor-ref/dht11-esp8266-ref/http://www.taichi-maker.com/homepage/iot-development/iot-dev-reference/esp8266-iot-dev-ref/esp8266-sensor-ref/dht11-esp8266-ref/http://www.taichi-maker.com/homepage/iot-development/iot-dev-reference/esp8266-iot-dev-ref/esp8266-sensor-ref/dht11-esp8266-ref/

三、元器件及接线方法

1.DHT11引脚图及定义

VDD 接电源正极,3.3V~5V
DATA 数据引脚,接开发版数字引脚
NC 空脚
GND 接电源负极(必须与开发板共负极)

         2.oled12864引脚及定义 

本文中使用的是以SH1106为控制器的4SPI接口的12864显示屏。

GND 接电源负极
VDD 接电源正极5V
SCK 时钟线
SDA 数据线
RES 复位线
DC 数据/命令
CS 片选信号线

3.本文元器件接线方法

Arduino DHT11 12864OLED
5V脚 VCC VCC
GND GND GND
8脚 DATA
9脚 DC
10脚 CS
11脚 SDA
13脚 SCK
REST REST

四、程序

//此程序中loop函数中的DHT11测试程序引用自太极创客网站:
//http://www.taichi-maker.com/homepage/reference-index/arduino-sensor-index/arduino-dht11-temperature-sensor/#include <U8g2lib.h>
#include <dht11.h>//创建12864OLED初始化构造器
U8G2_SH1106_128X64_NONAME_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9);dht11 DHT11; //创建DHT11对象#define DHT11PIN 8  //将arduino 8脚作为温湿度数据输入脚
float H=0;          //湿度存储
float T=0;          //温度存储void setup(void) {u8g2.begin();     //初始化u8g2库u8g2.enableUTF8Print();   //启用UTF8打印Serial.begin(9600);     //启用串口通讯Serial.println("DHT11 TEST PROGRAM ");Serial.print("LIBRARY VERSION: ");Serial.println(DHT11LIB_VERSION);Serial.println();
}void loop(void) {Serial.println("\n");int chk = DHT11.read(DHT11PIN);Serial.print("Read sensor: ");switch (chk){case DHTLIB_OK: Serial.println("OK"); break;case DHTLIB_ERROR_CHECKSUM: Serial.println("Checksum error"); break;case DHTLIB_ERROR_TIMEOUT: Serial.println("Time out error"); break;default: Serial.println("Unknown error"); break;}H=DHT11.humidity;         //读取湿度值T=DHT11.temperature;      //读取温度值Serial.println(H);Serial.println(T);u8g2.clearBuffer();       // 清除内部缓冲区drawDHT11(H,T);           //调用函数将温湿度值显示在12864OLED上u8g2.sendBuffer();          delay(1000);
}
void drawDHT11(float H,float T){u8g2.setFont(u8g2_font_unifont_t_chinese2); u8g2.drawStr(0,20,"Temp: ");u8g2.setCursor(40, 20);u8g2.print(T);  // u8g2.setCursor(80, 20);u8g2.print(" *C");u8g2.drawStr(0,40,"Humi: ");u8g2.setCursor(40, 40);u8g2.print(H);u8g2.setCursor(80, 40);u8g2.print(" %");
}

五、最终实物图

Arduino+DHT11温湿度传感器+12864oled显示温湿度相关推荐

  1. Arduino使用DHT11温湿度传感器获取环境温湿度

    通过本文,可以了解到以下内容: DHT11 温湿度传感器接线与使用 DHT11 Arduino 测试程序编写 DHT11 温湿度转换显示 DHT11 温湿度传感器接线与使用 DHT11 是一款温湿度传 ...

  2. Esp8266 进阶之路19 【外设篇①】esp8266驱动 ds18b20、dht11 温湿度传感器,采集温湿度传感器到服务器。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  3. 【Proteus仿真】51单片机+SHT11温湿度传感器+LCD1602显示

    [Proteus仿真]51单片机+SHT11温湿度传感器+LCD1602显示 Proteus仿真 主程序代码 /*-------------------------------SHT11湿度测量 -- ...

  4. 51单片机 DHT11温湿度传感器LCD显示+串口打印显示

    第一部分:DHT11详解: DHT11是一款有已校准数字信号输出的温湿度传感器. 精度湿度±5%RH, 温度±2℃,量程湿度20-90%RH, 温度0~50℃. **一.电路连接分析 1.引脚图** ...

  5. STM32小项目之dht11在oled上显示温湿度

    前言: 实现一个简单的功能,最终多个功能合起来,就是一个大项目,也叫模块化编程:本篇文章不在讲述oled的用法和代码,因为代码太多了,粘不过来,需要的可以去看我另一篇文章专门讲解oled的. 本文牵扯 ...

  6. sht20温湿度传感器原理图_温湿度传感器在孵化行业怎么应用

    随着近年来环保力度的加大,畜牧养殖行业逐渐认识到节能减排.环境控制对于畜禽养殖具有重要意义,并且节能环保控制已开始出现在孵化行业. 以前,一些家禽孵化场没有恒温恒湿的概念,他们认为孵化是一个带有孵化设 ...

  7. 传感器:SHT30温湿度传感器检测环境温湿度实验(底部附代码)

    一.导言 SHT30温湿度传感器模块是通过IIC驱动,所以大家使用该模块时,需要具备IIC的基本知识,这篇文章带领大家一起使用SHT30模块进行温湿度的测量,当然DHT10/DHT10原理都一样,好了 ...

  8. Arduino UNO 连接DHT11 通过串口实时显示温湿度

    (一)实验需要准备的硬件材料: 1.一块Arduino UNO板(带数据线) 2.DHT11 温湿度传器 3.杜邦线若干.面包板 (二)需要准备的软件: 1.Arduino安装程序包: 链接:http ...

  9. STC89C52RC 单片机读取DHT22温湿度传感器串口显示程序调试经验总结

    DHT22例程获取到的途径很多,某宝商家那里,本站也可以.附件下载例程代码 例程如下: //****************************************************** ...

最新文章

  1. idea打开web项目之后一直闪烁
  2. 怎么用python处理excel文件-用Python读写Excel文件的方式比较
  3. Android驱动开发之Hello实例(基于高通msm8909)
  4. matlab安装程序无法启动jvm_天呀!JVM居然还有2两种运行模式
  5. [转]图片格式WEBP全面解析
  6. php 数据类型伪类型,PHP之伪类型与变量
  7. HDU - 3790 最短路径问题
  8. pythonscrapy爬虫安装_零基础写python爬虫之爬虫框架Scrapy安装配置
  9. 来几个 9 块 9 好吃零食
  10. 有Excel、Tableau、PowerBI都能做数据分析,为什么还要用Python
  11. 去政府办事,最好事先联系,避免换了地方
  12. excel如何拟合直线(怎样用excel拟合直线)
  13. 计算机怎么清空d盘内容,电脑怎么样清理D盘。
  14. 揭秘无聊程序猿的趣味人生|斑鸠职业
  15. 河南分销系统开发|三级分销跟二级分销的区别是什么?
  16. Verilog语言语句介绍
  17. 台式计算机电源线 规格,台式电脑电源线怎么接
  18. IEduChina2019国际学校展暨国际教育论坛温暖深圳
  19. onkeypress,onkeydown,onkeyup区别
  20. 如何快速在两个服务器之间传送大文件

热门文章

  1. 解决unrecognized relocation (0x2a) in section `.text`
  2. 夜暗心伤! 再见,妹子!
  3. 虚拟机安装与配置<3>---VMware 16.0上调整虚拟电脑的配置
  4. Aspose.Cells的基础用法
  5. C# Aspose.Words 用法
  6. 第七节:通信之WLAN(信道)
  7. P1219 [USACO1.5]八皇后 Checker Challenge 题解
  8. 头像叠加android_Android开发头像挨着叠加效果
  9. android 联系人的收藏,Android QQ通讯录4.2:自动收藏联系人
  10. Spring Cloud 加密encrypt和解密decrypt