Temp&Humi Sensor DHT11 測試-使用LinkIt Smart 7688 Duo
****注意 LinkIt 7688 Duo 在 Arduino IDE 1.6.9 有問題 ,Arduino IDE 要用1.6.7*****
Grove Starter Kit for LinkIt 7688 Duo 套件內的溫濕度感測器主要零件為 DHT11,Aosong 出產的DHT 11 只能用於一般環境溫濕度檢測, 檢測範圍 : 溫度 0~50℃ , 濕度 20-90%RH ,價格便宜深受DIY族的喜愛。
DHT11 簡介
DHT11是一款經過校准過且直接以數字訊號輸出的溫濕度感測器。內含一個電阻式感濕元件和一個NTC測溫元件,並與一個8bit單晶片相連接。體積小、功耗低,傳輸距離最遠可達20公尺以上。
Seeed Studio 料號 151118004 , 內容物 DHT11模組 X 1 ,Grove 線材 X 1。
接好USB 跟電腦連接。
到這裡下載函式庫
https://github.com/adafruit/DHT-sensor-library
拔掉 DHT11 感測器 會顯示 "Failed sensor! "插回感測會顯示 DHT11 感測器的目前溫濕度資料。
硬體安裝
Grove - Temp&Humi Sensor 。Seeed Studio 料號 151118004 , 內容物 DHT11模組 X 1 ,Grove 線材 X 1。
先將Grove 線材一端插入DHT11模組 。
再將線材另一端插入LinkIt Smart 7688 Duo 底版的 A0 ,OLED插在 I2C 。
Temp&Humi Sensor 函式庫安裝
Seeed 的 Library 不能用 !! 有時間在解 , 先下載 adafruit 的 Library 。
https://github.com/adafruit/DHT-sensor-library
下載後解壓縮放在
C:\Users\電腦\Desktop\arduino-1.6.7-windows\arduino-1.6.7\libraries
2016/10/27 後下載的adafruit DHT-sensor-library 要多下載 Adafruit_Sensor-master
https://github.com/adafruit/Adafruit_Sensor
2016/10/27 前下載到的 adafruit DHT-sensor-library
2016/10/27 前下載到的 adafruit DHT-sensor-library
開啟 Arduino IDE 輸入以下程式碼 複製貼上也可 。
// 以下為程式碼
// DHT libraries 來源 adafruit
//https://github.com/adafruit/DHT-sensor-library
//https://github.com/adafruit/Adafruit_Sensor // 2017/01/14 修正
//OLED 來源 Seeed-Studio
//https://github.com/Seeed-Studio/OLED_Display_128X64
#include <DHT.h>
#include <Wire.h>
#include <SeeedOLED.h>
#define DHTPIN A0 // 感測器接在 A0 接腳
#define DHTTYPE DHT11 // 感測器為 DHT11
DHT dht(DHTPIN, DHTTYPE); //初始化 DHT11 感測器
void setup() {
dht.begin();
Wire.begin();
SeeedOled.init(); //初始化 OLED
SeeedOled.setNormalDisplay(); //設定為正常顯示模式
SeeedOled.setPageMode(); //設定為頁定址模式
}
void loop() {
delay(2000); //延遲2秒 這感測器很慢
float h = dht.readHumidity(); //讀取濕度值
float t = dht.readTemperature(); //讀取攝氏溫度
float f = dht.readTemperature(true); //讀取華氏溫度
if (isnan(h) || isnan(t) || isnan(f)) //如果讀取不到感測器
{
SeeedOled.clearDisplay(); //清除 OLED
SeeedOled.setTextXY(0,0); //設定OLED 從0,0開始顯示
SeeedOled.putString("Failed sensor! "); //顯示字元 Failed sensor!
return; //一直重複這動作直到讀取感測器
}
SeeedOled.setTextXY(0,0); //設定OLED 從0,0開始顯示
SeeedOled.putString("Humidity: "); // 顯示字元 Humidity:
SeeedOled.putFloat(h); //顯示讀取的濕度值
SeeedOled.putString("%"); //顯示字元 %
SeeedOled.setTextXY(2,0); //設定OLED 從2,0開始顯示
SeeedOled.putString("Temp: "); //顯示字元 Temp
SeeedOled.putFloat(t); //顯示讀取的攝氏溫度值
SeeedOled.putString("*C"); //顯示字元 *C
SeeedOled.setTextXY(4,0); //設定OLED 從4,0開始顯示
SeeedOled.putString("Temp: "); //顯示字元 Temp
SeeedOled.putFloat(f); //顯示讀取的華氏溫度值
SeeedOled.putString("*F"); //顯示字元 *F
}
// 程式碼到此
確認 Arduino IDE 工具 選單 "版子" "序列埠" 。
確認好後按 "上傳"。
第一次按 "上傳 " Arduino IDE 會顯示儲存檔案 請輸入 "DHT11"。
上傳中..
上傳完成
上傳完成後 OLED 會顯示 DHT11 感測器的目前溫濕度資料。
資料來源 : Seeed Technology Co., Ltd http://www.seeedstudio.com/depot/
Adafruit Industries LLC https://www.adafruit.com/
請問一下使用後跳出
回覆刪除C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master\DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory
#include
不知道如何解決
2016 10月時有改過libraries 要在多下載Adafruit_Sensorlibraries
回覆刪除https://github.com/adafruit/Adafruit_Sensor