Arduino單片機(jī)采集DHT11傳感器模塊的溫度和濕度信息惕味,并在OLED顯示屏上實(shí)時(shí)動(dòng)態(tài)顯示倦淀。
實(shí)驗(yàn)材料:
實(shí)驗(yàn)材料.JPG
連線圖:
連線圖.jpg
需要添加的庫(kù)(在項(xiàng)目->加載庫(kù)中加載這些庫(kù)):
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();//顯示出來(lái)
delay(300);
display.clearDisplay();
}
有興趣的朋友可以嘗試琐凭!