Arduino单片机采集DHT11传感器模块的温度和湿度信息,并在OLED显示屏上实时动态显示。
实验材料:
连线图:
需要添加的库(在项目->加载库中加载这些库):
dht11
Adafruit_GFX
Adafruit_SSD1306
完整代码:
#include <dht11.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
float str1,str2;
dht11 DHT11;
#define OLED_MOSI D7
#define OLED_CLK D5
#define OLED_DC D0
#define OLED_CS D8
#define OLED_RESET D3
#define PIN_DHT11 D4
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2
void setup()
{
Serial.begin(9600);
Wire.begin();
display.begin(SSD1306_SWITCHCAPVCC);//初始化
display.display();
display.clearDisplay();
}
void loop()
{
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
DHT11.read(PIN_DHT11);
Serial.print("Humidity: ");
Serial.println((float)DHT11.humidity, 2); //串口显示
str1=DHT11.humidity;
display.print("Humidity:");
display.println(str1);
Serial.print("Temperature: ");
Serial.println((float)DHT11.temperature, 2);//串口显示
str2=DHT11.temperature;
display.print("Temperature:");
display.println(str2);
display.display();//显示出来
delay(300);
display.clearDisplay();
}
有兴趣的朋友可以尝试!