Arduino+DHT11温湿度传感器+12864oled显示温湿度
本文利用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显示温湿度相关推荐
- Arduino使用DHT11温湿度传感器获取环境温湿度
通过本文,可以了解到以下内容: DHT11 温湿度传感器接线与使用 DHT11 Arduino 测试程序编写 DHT11 温湿度转换显示 DHT11 温湿度传感器接线与使用 DHT11 是一款温湿度传 ...
- Esp8266 进阶之路19 【外设篇①】esp8266驱动 ds18b20、dht11 温湿度传感器,采集温湿度传感器到服务器。(附带Demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...
- 【Proteus仿真】51单片机+SHT11温湿度传感器+LCD1602显示
[Proteus仿真]51单片机+SHT11温湿度传感器+LCD1602显示 Proteus仿真 主程序代码 /*-------------------------------SHT11湿度测量 -- ...
- 51单片机 DHT11温湿度传感器LCD显示+串口打印显示
第一部分:DHT11详解: DHT11是一款有已校准数字信号输出的温湿度传感器. 精度湿度±5%RH, 温度±2℃,量程湿度20-90%RH, 温度0~50℃. **一.电路连接分析 1.引脚图** ...
- STM32小项目之dht11在oled上显示温湿度
前言: 实现一个简单的功能,最终多个功能合起来,就是一个大项目,也叫模块化编程:本篇文章不在讲述oled的用法和代码,因为代码太多了,粘不过来,需要的可以去看我另一篇文章专门讲解oled的. 本文牵扯 ...
- sht20温湿度传感器原理图_温湿度传感器在孵化行业怎么应用
随着近年来环保力度的加大,畜牧养殖行业逐渐认识到节能减排.环境控制对于畜禽养殖具有重要意义,并且节能环保控制已开始出现在孵化行业. 以前,一些家禽孵化场没有恒温恒湿的概念,他们认为孵化是一个带有孵化设 ...
- 传感器:SHT30温湿度传感器检测环境温湿度实验(底部附代码)
一.导言 SHT30温湿度传感器模块是通过IIC驱动,所以大家使用该模块时,需要具备IIC的基本知识,这篇文章带领大家一起使用SHT30模块进行温湿度的测量,当然DHT10/DHT10原理都一样,好了 ...
- Arduino UNO 连接DHT11 通过串口实时显示温湿度
(一)实验需要准备的硬件材料: 1.一块Arduino UNO板(带数据线) 2.DHT11 温湿度传器 3.杜邦线若干.面包板 (二)需要准备的软件: 1.Arduino安装程序包: 链接:http ...
- STC89C52RC 单片机读取DHT22温湿度传感器串口显示程序调试经验总结
DHT22例程获取到的途径很多,某宝商家那里,本站也可以.附件下载例程代码 例程如下: //****************************************************** ...
最新文章
- idea打开web项目之后一直闪烁
- 怎么用python处理excel文件-用Python读写Excel文件的方式比较
- Android驱动开发之Hello实例(基于高通msm8909)
- matlab安装程序无法启动jvm_天呀!JVM居然还有2两种运行模式
- [转]图片格式WEBP全面解析
- php 数据类型伪类型,PHP之伪类型与变量
- HDU - 3790 最短路径问题
- pythonscrapy爬虫安装_零基础写python爬虫之爬虫框架Scrapy安装配置
- 来几个 9 块 9 好吃零食
- 有Excel、Tableau、PowerBI都能做数据分析,为什么还要用Python
- 去政府办事,最好事先联系,避免换了地方
- excel如何拟合直线(怎样用excel拟合直线)
- 计算机怎么清空d盘内容,电脑怎么样清理D盘。
- 揭秘无聊程序猿的趣味人生|斑鸠职业
- 河南分销系统开发|三级分销跟二级分销的区别是什么?
- Verilog语言语句介绍
- 台式计算机电源线 规格,台式电脑电源线怎么接
- IEduChina2019国际学校展暨国际教育论坛温暖深圳
- onkeypress,onkeydown,onkeyup区别
- 如何快速在两个服务器之间传送大文件
热门文章
- 解决unrecognized relocation (0x2a) in section `.text`
- 夜暗心伤! 再见,妹子!
- 虚拟机安装与配置<3>---VMware 16.0上调整虚拟电脑的配置
- Aspose.Cells的基础用法
- C# Aspose.Words 用法
- 第七节:通信之WLAN(信道)
- P1219 [USACO1.5]八皇后 Checker Challenge 题解
- 头像叠加android_Android开发头像挨着叠加效果
- android 联系人的收藏,Android QQ通讯录4.2:自动收藏联系人
- Spring Cloud 加密encrypt和解密decrypt