Arduino提高篇06—温湿度OLED显示

编程入门 行业动态 更新时间:2024-10-08 14:37:00

Arduino提高篇06—<a href=https://www.elefans.com/category/jswz/34/1763887.html style=温湿度OLED显示"/>

Arduino提高篇06—温湿度OLED显示


本篇结合温湿度传感器DHT11和OLED,将采集到的温湿度显示到OLED屏幕上。

DHT11使用上篇介绍的「DHT sensor library」库,OLED使用U8g2库,库安装请参照前面的文章介绍。

1. 实验材料

  • Uno R3开发板
  • 配套USB数据线
  • 面包板及配套连接线
  • OLED显示屏
  • DHT11传感器模块

2. 实验步骤

1. 根据原理图搭建电路图。

OLED屏的VCC和GND分别连接开发板的3.3V和GND,OLED屏的SDA和SCL分别连接开发板A4和A5。DHT11模块VCC、GND分别连接到开发板的5V、GND,模块的DATA引脚连接开发板数字引脚2。

实验原理图如下图所示:

实物连接图如下图所示:

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

#include <Arduino.h>
#include <U8g2lib.h>
#include <Wire.h>
#include "DHT.h"#define DHTPIN  2
#define DHTTYPE DHT11//iic驱动方式
U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);
DHT dht(DHTPIN, DHTTYPE);void setup() {u8g2.begin();dht.begin();
}char h_str[3];
char t_str[3];
float h;
float t;void loop() {h = dht.readHumidity();//读湿度t = dht.readTemperature();//读温度(摄氏度)strcpy(h_str, u8x8_u8toa(h, 2));    /* convert m to a string with two digits */strcpy(t_str, u8x8_u8toa(t, 2));    /* convert m to a string with two digits */u8g2.firstPage();do {u8g2.setFont(u8g2_font_fur20_tf);u8g2.drawStr(0, 23, "T");u8g2.drawStr(20, 23, ":");u8g2.drawStr(40, 23, t_str);u8g2.drawStr(90, 23, "C");u8g2.drawStr(0, 63, "H");u8g2.drawStr(20, 63, ":");u8g2.drawStr(40, 63, h_str);u8g2.drawStr(90, 63, "%");} while ( u8g2.nextPage() );delay(1000);
}

3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

3. 实验现象

OLED屏幕刷新显示温湿度。

关注微信公众号:TonyCode
Arduino学习交流群:868283450

更多内容,欢迎关注我的公众号。 微信扫一扫下方二维码即可关注:

更多推荐

Arduino提高篇06—温湿度OLED显示

本文发布于:2024-02-14 14:54:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1763691.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:温湿度   Arduino   OLED

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!