Arduino基础入门学习——OLED显示屏+DHT11显示温湿度
- 一、前言
- 二、准备工作
- 三、程序代码
- 四、结束语
一、前言
本篇文章主要使用OLED液晶显示屏模块和DHT11温湿度传感器,获取环境温湿度并显示在显示屏,也算是结合之前我所编写的博客给大家带来一个算是比较完整的教程。
- DHT11温湿度传感器的使用
- OLED显示屏的基本使用
然后这是我本篇博客所写的代码及资源,在我的gitee仓库中,可自行下载,点击跳转。
二、准备工作
硬件:
- Arduino Uno开发板
- 四针脚OLED液晶显示屏模块一个
- 三针脚DHT11温湿度传感器一个
- 杜邦线若干和面包板一个
软件:
- Arduino IDE(没安装可看我的另一篇博客点击跳转)
- Adafruit_SSD1306芯片支持库(IDE内部自行下载安装即可)
- DHT11支持库
- PCToLCD取模软件(这个我也为大家提前准备好了,点击百度云获取,下载解压出来就能用)
电路图:
由于我找不到3引脚的元器件图,所以这里给大家的电路图是三引脚的,大家按对应引脚接线即可。
三、程序代码
由于我们需要显示中文和特殊字符,所以我们需要使用到取模软件PCToLCD取模软件对:温湿度及特殊字符℃(摄氏度)进行取模。打开取模软件(没下载的在准备工作下面有下载链接或者在我的gitee仓库中下载,直接下载解压就能用)。
复制所生成的代码,并在Arduino工程文件夹下新建font.h文件粘贴进去并改写。(具体细节我不细说了,不明白的可以看我这篇博客OLED显示屏的基本使用)
保存后回到我们新建的Arduino程序,引入对应的头文件。
下面是我的完整代码
#include <Adafruit_SSD1306.h> //OLED驱动
#include <DHT.h> //温湿度
#include <DHT_U.h>
#include "font.h" //新建的文字头文件
#define pin_dht 7
DHT dht(pin_dht, DHT11);
Adafruit_SSD1306 OLED(128, 64, &Wire, -1);
float temp = 0.0;
float hum = 0.0;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
dht.begin();
OLED.begin(SSD1306_SWITCHCAPVCC, 0x3c);
OLED.setTextColor(1);
}
void loop() {
// put your main code here, to run repeatedly:
temp = dht.readTemperature();
hum = dht.readHumidity();
// Serial.print(temp, 1);
// Serial.print("/");
// Serial.println(hum, 1);
OLED.clearDisplay();
OLED.drawBitmap(0, 0, wen, 12, 12, WHITE);
OLED.drawBitmap(12, 0, du, 12, 12, WHITE);
OLED.drawBitmap(0, 16, shi, 12, 12, WHITE);
OLED.drawBitmap(12, 16, du, 12, 12, WHITE);
OLED.setCursor(32, 3);
OLED.print(temp, 1);
OLED.drawBitmap(58, 1, degrees_celsius, 12, 12, WHITE);
OLED.setCursor(32, 18);
OLED.print(hum, 1);
OLED.print("%");
OLED.display();
delay(1000);
}
编译下载后,可以看到显示屏显示对应的温湿度。
四、结束语
好了,以上就是Arduino使用OLED显示屏及DHT11温湿度模块显示温湿度的介绍了,我是“风行男孩”,咱们有缘再见!(码字不易,转载请标明出处,如有帮助,留个痕迹,点个赞即可。)