Arduino 与HDT11和0.98寸OLED握手

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: Arduino 与HDT11和0.98寸OLED握手

1.0 简介

  • 温湿度传感器:温湿度传感器是一种装有湿敏和热敏元件,能够用来测量温度和湿度的传感器装置,有的带有现场显示,有的不带有现场显示。
  • 有机发光二极管(OrganicLight-Emitting Diode,OLED),又称为有机电激光显示、有机发光半导体(OrganicElectroluminesence Display,OLED),是指有机半导体材料和发光材料在电场驱动下,通过载流子注入和复合导致发光的现象。本篇通过HDT11采样得到温湿度,再通过串口和0.98寸OLED将电压数据打印显示。

相对湿度的学习

1.RH是相对湿度的缩写,55RH%指的是当前相对湿度为55%。

2.相对湿度是指单位体积空气中,实际水蒸气的分压与相同温度和体积下水饱和蒸气压的百分比。用百分数表达。也就是绝对湿度与最高湿度之间的比,它的值显示水蒸气的饱和度有多高。**

3.相对湿度是单位体积空气内实际所含的水气密度(用d1 表示)和同温度下饱和水气密度(用d2 表示)的百分比,即RH(%)= d1/ d2 x 100%;另一种计算方法是:实际的空气水气压强(用p1 表示)和同温度下饱和水气压强(用p2表示)的百分比,即RH(%)= p1/ p2 x 100%。

4.绝对湿度

“绝对湿度”指一定体积的空气中含有的水蒸气的质量,一般其单位是公克/立方米。绝对湿度的最大限度是饱和状态下的最高湿度。


  • 工作原理:

传感器采用DHT11温湿度传感器,可以检测温湿度的信息;输出元件有OLED。首先传感器将获取环境的温湿度信息,并将其传输至Arduino,Arduino获得数据后进行数据解析,将解析出的温湿度信息进行OLED显示器的显示,接着展示OLED字幕“Happy new year”,最后展示一个爱心💕,希望大家有所收获😊😊😊。

  • DHT11相关参数如下:

温度测量范围:0℃~ 50℃

温度测量误差:±2度

湿度测量范围:20% ~ 95%(0℃ ~ 50℃)

湿度测量误差:±5%

产品尺寸:29.0mm * 18.0mm

固定孔尺寸:2.0mm


2.0 实验材料

  • Arduino Uno R3开发板
  • DHT11温湿度传感器
  • 0.98寸OLED
  • 七根公母线
  • USB数据线
  • 一台安装Arduino开发环境的电脑

3.0 实验步骤

3.1 根据原理图搭建电路

温湿度传感器为5V供电,其中信号输出端连接到Arduino的8号I/O引脚上;OLED显示器的通讯方式为IIC通讯,因此除了5V供电的两根线外,只需要一根信号线SDA(uno 的A4也可以)和一根时钟线SCL(uno 的A5也可以)就可以。

实验原理图:

1.jpg

实验接线图:

2.jpg

3.2 新建sketch,拷贝如下代码并进行保存编译上传

代码:

MIxly模块

3.jpg

Arduino IDE代码所需U8g2lib库DHT库

#include <U8g2lib.h>
#include <Wire.h>
#include <DHT.h>
U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);
DHT dht8(8, 11);
const static unsigned char FACE_Heart_large[] PROGMEM = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x03, 0x00, 0x00, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xBF, 0x07, 0x00, 0xC0, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x3F, 0x1C, 0x00, 0xF0, 0xFF, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x71, 0x00, 0xF8, 0xFF, 0xC3, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xE7, 0x00, 0xFC, 0xFF, 0x8F, 0x03, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xCF, 0x01, 0xFE, 0xFF, 0x3F, 0x07, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x9F, 0x03, 0xFF, 0xFF, 0x7F, 0x06, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x3F, 0x83, 0xFF, 0xFF, 0xFF, 0x0C, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x7F, 0x87, 0xFF, 0xFF, 0xFF, 0x1D, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xC6, 0xFF, 0xFF, 0xFF, 0x19, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0x33, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x37, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x37, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
void page1() {
  u8g2.setFont(u8g2_font_timB10_tf);
  u8g2.setFontPosTop();
  u8g2.setCursor(25, 10);
  u8g2.print("Temp:");
  u8g2.setCursor(70, 10);
  u8g2.print(dht8.readTemperature());
  u8g2.setCursor(25, 30);
  u8g2.print("Humi:");
  u8g2.setCursor(70, 30);
  u8g2.print(dht8.readHumidity());
}
void page2() {
  u8g2.setFont(u8g2_font_timB18_tf);
  u8g2.setFontPosTop();
  u8g2.setCursor(40, 10);
  u8g2.print("Happy");
  u8g2.setCursor(25, 30);
  u8g2.print("new year");
  delay(50);
}
void page3() {
  u8g2.drawXBMP(20, 0, 89, 64, FACE_Heart_large);
  u8g2.setFont(u8g2_font_open_iconic_all_1x_t);
  u8g2.drawGlyph(102, 45 + 1 * 8, 64);
  delay(500);
}
void setup() {
  u8g2.begin();
  Serial.begin(9600);
  dht8.begin();
  u8g2.enableUTF8Print();
}
void loop() {
  //OLED 两页切换
  //打印温湿度和爱心
  u8g2.firstPage();
  do
  {
    page1();
  } while (u8g2.nextPage());
  delay(1000);
  Serial.print("Temp:");
  Serial.println(dht8.readTemperature());
  Serial.print("Humi:");
  Serial.println(dht8.readHumidity());
  for (int i = 0; i <= 2; i = i + (1)) {
    u8g2.firstPage();
    do
    {
      page2();
    } while (u8g2.nextPage());
  }
  delay(2000);
  u8g2.firstPage();
  do
  {
    page3();
  } while (u8g2.nextPage());
  delay(1000);
}

3.3 实验现象

打开窗口监视,观察OLED显示屏和串口的数据是否一致 ,然后改变温度和湿度 ,观察其两者动态变化 😃😃😃

视频演示

3.png

Arduino 与HDT11和0.98寸OLED握手

4.jpg

5.jpg

4.0 总结

  • 首先传感器将获取环境的温湿度信息,并将其传输至Arduino,Arduino获得数据后进行数据解析,将解析出的温湿度信息进行OLED显示器的显示,接着展示OLED字幕“Happy new year”,最后展示一个爱心💕。难度综合性强,值得新手一试!!!😃😃😃
  • 在以后的博文中我们将学会用arduino常用传感器和执行器,从而实现对外部世界进行感知,充分认识这个有机与无机的环境,科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。
目录
相关文章
|
1月前
|
传感器 安全
基于Arduino的分体式显示器时钟
基于Arduino的分体式显示器时钟
30 2
|
6月前
|
编译器 芯片
proteus并行接口芯片8255A的应用—键盘与数码管
proteus并行接口芯片8255A的应用—键盘与数码管
138 1
|
安全
51单片机和LCD1602实现简单的密码锁
51单片机和LCD1602实现简单的密码锁
121 0
|
IDE 开发工具
Arduino 与28BYJ-48步进电机握手
Arduino 与28BYJ-48步进电机握手
285 1
|
传感器
Arduino与LED深度握手
Arduino与LED深度握手
104 1
野火STM32F1开发板 IIC 0.96OLED 波形显示
野火STM32F1开发板 IIC 0.96OLED 波形显示
102 0
|
编解码 Linux
1.44寸OLED的Linux驱动
1.44寸OLED的Linux驱动
143 0
|
传感器 IDE 开发工具
Arduino 与HC-SRO4超声波传感器的OLED握手
Arduino 与HC-SRO4超声波传感器的OLED握手
155 0