【Beetle ESP32-C3试用】温湿度显示

2022-06-227676
AI 快速预览详细 收起
本文介绍了如何使用ESP32-C3制作一个便携的温湿度计。所需材料包括ESP32-C3、DHT11温湿度传感器和0.96" OLED屏。通过详细的硬件连接和程序代码,用户可以轻松实现温湿度的实时显示。该项目适合初学者和小型项目,特别适用于智能穿戴设备。


【Beetle ESP32-C3试用】温湿度显示图2

ESP32-C3尺寸非常小巧,只有25x20.5mm,非常适合用于制作智能穿戴设备。这里就用ESP32-C3制作一个便携的温湿度计。
【Beetle ESP32-C3试用】温湿度显示图1

1 所需材料
  • ESP32-C3                         1块
  • DHT1 温湿度传感器          1块
  • 0.96" OLED屏                   1块



2  硬件连接
2.1 引脚定义
【Beetle ESP32-C3试用】温湿度显示图3

2.2 接线图


ESP32-C3                                    OLED

  9/SCL         --------------        SCL
8/SDA         --------------        SDA
GND           --------------         GND
  VIN            --------------         VCC


ESP32-C3                                    DHT11
  2/A2          --------------            S
GND           --------------         GND
  3V3           --------------         VCC



3 程序


#include <Arduino.h>
#include <U8g2lib.h>
#include <SPI.h>
#include "DHT.h"


#define DHTPIN A2     // Digital pin connected to the DHT sensor


#define DHTTYPE DHT11   // DHT 11
/*
---显示屏硬件I2C接口---
U8G2_R0 不旋转,横向,绘制方向从左到右
U8G2_R1 顺时针旋转90度,绘制方向从上到下
U8G2_R2 顺时针旋转180度,绘制方向从右到左
U8G2_R3 顺时针旋转270度,绘制方向从下到上
U8G2_MIRROR 正常显示镜像内容(v2.6.x版本以上使用)   注意:U8G2_MIRROR需要与setFlipMode()配搭使用.
U8x8_PIN_NONE 表示引脚为空,不会使用复位引脚
---显示屏硬件SPI接口---
cs 按引脚接上即可(引脚可自己选择)
dc 按引脚接上即可(引脚可自己选择)
*/
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(/* rotation=*/U8G2_R0, /* reset=*/ U8X8_PIN_NONE);


int led = 10;
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  pinMode(led,OUTPUT);
  u8g2.begin();
  u8g2.setFontPosTop();//使用drawStr显示字符串时,默认标准为显示字符的左下角坐标。本函数的功能可理解为将坐标位置改为显示字符串的左上角为坐标标准。
  dht.begin();
}


void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  digitalWrite(led,HIGH);
  delay(500);
  digitalWrite(led,LOW);
  delay(500);
  //清理屏幕
  u8g2.clearBuffer();
//显示温度
  u8g2.setFont(u8g2_font_ncenB08_tr);    // 选择字体以及大小
  u8g2.drawStr(5,10,"Temp:");//在指定位置写出字符
  u8g2.setFont(u8g2_font_ncenB08_tr);
  u8g2.setCursor(50, 10);//显示从该位置开始
  u8g2.print(t);
  u8g2.setFont(u8g2_font_ncenB08_tr);    // 选择字体以及大小
  u8g2.drawStr(90,10,"C");//在指定位置写出字符
  //显示湿度
  u8g2.setFont(u8g2_font_ncenB08_tr);   
  u8g2.drawStr(5,40,"Humi:");
  u8g2.setFont(u8g2_font_ncenB08_tr);
  u8g2.setCursor(50, 40);
  u8g2.print(h);
  u8g2.setFont(u8g2_font_ncenB08_tr);    // 选择字体以及大小
  u8g2.drawStr(90,40,"%RH");//在指定位置写出字符
  u8g2.sendBuffer();
}



4 运行效果
【Beetle ESP32-C3试用】温湿度显示图4


5 附件
下载附件ESP32C3_DHT11_OLED.rar






创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -