esp8266连接OLED屏显示温湿度

要使用ESP8266和Arduino编程来显示DHT11传感器数据在OLED屏幕上,你可以参考以下步骤和代码示例:
1. 准备工作:确保你已经有了ESP8266开发板、DHT11温湿度传感器和0.96寸OLED显示屏。你还需要安装Arduino IDE,并为其添加ESP8266的支持。
2. 连接硬件:将DHT11的数据线连接到ESP8266的一个GPIO引脚(例如D2),OLED显示屏通过I2C接口连接到ESP8266的SDA和SCL引脚(通常为D1和D2)。
3. 编写代码:以下是一个简单的Arduino代码示例,用于读取DHT11传感器数据并在OLED显示屏上显示:
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <DHT.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define DHTPIN D2     // Pin where DHT11 is connected
#define DHTTYPE DHT11 // DHT 11

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();
  display.display();
  display.setTextSize(1);
  display.setTextColor(WHITE);
}

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  display.clearDisplay();
  display.setCursor(0,0);
  display.print("Temp: ");
  display.print(t);
  display.println(" C");
  display.print("Humidity: ");
  display.print(h);
  display.println(" %");
  display.display();
  delay(2000);
}
4. 上传代码:将ESP8266连接到电脑,选择正确的端口,并上传上述代码。
5. 查看结果:上传成功后,你的OLED显示屏应该会显示DHT11传感器读取的温度和湿度数据。
这是一个基本的示例,你可以根据自己的需求修改和扩展代码。例如,你可以添加WiFi功能,将数据发送到网络服务器,或者改进用户界面,使其更加友好。如果你需要更高级的功能,比如图形界面或者更复杂的数据显示,你可能需要使用更高级的库和更多的代码。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值