Arduino DHT11溫濕度計
簡易溫濕度計製作
材料
- Arduino *1 (Uno)
- 麵包板 *1
- 麵包板跳線 數根
- DHT11 *1
- OLED面板 *1 (SSD1306)
電路圖
接線圖
CODE
// DHT sensor library - Version: Latest
#include <DHT.h>
#include <DHT_U.h>
// U8g2_Arduino - Version: Latest
#include <U8g2lib.h>
#include <U8x8lib.h>
#define DHTPIN 8 //定義DHT腳位
#define DHTTYPE DHT11 //定義DHT型號
//OLED面板
U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0, SCL, SDA, U8X8_PIN_NONE);//(rotation, clock, data [, reset])
//DHT11溫濕度計
DHT dht(DHTPIN, DHTTYPE);
float h = 0; //宣告一個浮點數 用於儲存濕度
float t = 0; //宣告一個浮點數 用於儲存溫度
void setup() {
u8g2.begin();
}
void loop() {
h = dht.readHumidity(); //取得濕度
t = dht.readTemperature(); //取得溫度
u8g2.firstPage();
do {
draw();
} while( u8g2.nextPage() );
delay(1000);
}
void draw(){
u8g2.setFont(u8g2_font_unifont_t_greek);//設定字型
u8g2.setCursor(0,16);//設定位置(0,16)
u8g2.print("DHT11 Sensor");//印出文字
u8g2.setCursor(0,32);//設定位置
u8g2.print("Humidity: ");//印出文字
u8g2.print(h,0);//印出濕度
u8g2.print("%");//印出單位
u8g2.setCursor(0,48);//設定位置
u8g2.print("Temperature: ");//印出文字
u8g2.print(t,0);//印出溫度
u8g2.print("C");//印出單位
}


沒有留言:
張貼留言