2917浏览
查看: 2917|回复: 0

[ESP8266/ESP32] 【Beetle ESP32-C3试用】温湿度显示

[复制链接]
本帖最后由 hmilycheng 于 2022-6-22 13:13 编辑

【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






您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail