使用 VeriMake nanoC 控制板将 DHT11 模块测得的温湿度显示在 OLED 上

教程 hi ⋅ 于 2020-12-22 16:53:01 ⋅ 最后回复由 karb0n 2021-02-03 13:11:49 ⋅ 444 阅读

使用VeriMake nanoC控制板将 DHT11 模块测得的温湿度显示在 OLED 上

模块图

dht11温湿度传感器模块,通过内部感应器件可以测得周围环境的温度和湿度,用相应的函数将测得的值返回,通过一些外围设备显示出来。
file

OLED模块,ssd1306驱动,通过控制可以在屏幕上显示想要显示的内容。
file

原理图

本图中的温湿度传感器是组装起来的,如果买的是和第一幅图一样的一个模块,则可以根据图中的使用的三个引脚直接相连。
file

实物连接图

file

代码
#include <dht11.h>                   //相应的库文件
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET  4
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET); //屏幕的初始化设置
dht11 DHT11;  //定义温湿度变量
const byte dataPin=2;  //定义引脚

void setup() {

  display.begin(SSD1306_SWITCHCAPVCC,0x3C);
  display.setTextColor(WHITE);//开像素点发光
  display.clearDisplay();//清屏

  display.setTextSize(1); //设置字体大小  
  display.setCursor(4, 10);//设置显示位置
  display.println("temp and hum display");

  display.setTextSize(1); //设置字体大小  
  display.setCursor(10, 30);//设置显示位置
  display.println("temp");

  display.setTextSize(1);//设置字体大小  
  display.setCursor(10, 50);//设置显示位置
  display.println("humidity");

  display.display(); // 开显示

}

void loop() {
  int chk=DHT11.read(dataPin);      //dht11模块若读取到数值则返回chk为0

  if(chk==0)     //测的有值返回0,执行下列程序
  {
    display.setTextSize(1);        //设置字体大小
    display.setCursor(65,30);      //显示位置
    display.print((float)DHT11.temperature,2);  //读取到的温度显示保留两位小数
    display.print("C");             //输出表示单位

    display.setTextSize(1);       //同上
    display.setCursor(65,50);
    display.print((float)DHT11.humidity,2);
    display.print("%");
    display.display();   
  }
  delay(100);
}
效果

file
需要下载的库文件有 dht11.h,Wire.hAdafruit_GFX.hAdafruit_SSD1306.h可以直接在网上下载相应库文件,下载后的文件夹放在arduino文件夹里的libraries目录下,否则程序不能正常运行。

file

回复数量: 1
  • karb0n 突然发现,我发的帖子全是软件安装方法
    2021-02-03 13:11:49

    备注:
    下载库文件除了上文中的方法之外,还可以直接使用 Arduino IDE 的 “库管理器” 来下载。若使用库管理器进行安装,无需手动将文件复制进特定文件夹。
    例如安装 Adafruit SSD1306 库的方法可如下两张图所示。
    file
    file

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter