目的:
能感應環境溫溼度、在電腦上顯示數據。
能將溫度顯示在液晶螢幕上。
能將電腦上數據紀錄成excel表,方便長期監測。
準備硬體:可以去光華商場選購實體,或直接網路購買;第一次入手建議可參考旗標FLAG`S 創客‧自造者工作坊 10+ 實驗(「Arduino 超入門: 創客‧自造者的原力」書+實驗套件),軟硬體及原理、範例說明都有,可以快速增加成就感。
(1) 開發版:可選用arduino或有內建wifi,價格又在百元左右,的WeMos D1 mini或 D1。
(2) 感應器:一般溫濕度傳感器使用DHT11。要監測太陽能悶燒鍋需要DS18b20或MAX6675以上。測量液體溫度選用DS18b20。
現在最新的版本是 Arduino IDE 2.0.0,捐款下載,也有線上開發的模式 https://www.arduino.cc/en/software
或使用舊版 https://downloads.arduino.cc/arduino-1.8.7-windows.zip
若找不到開發板,請參考
http://blog.s2u4o.com/education/self-study/software-settings/arduinoideesp8266d1mini/
可開 arduino 程式,選取草稿碼/匯入程式庫/管理程式庫中搜尋 DHT11,就可安裝。
#include <DFRobot_DHT11.h> //匯入函式庫與定義
DFRobot_DHT11 DHT;
#define DHT11_PIN D2 //定義訊號腳位
void setup(){ //設定函式 (必要)
Serial.begin(9600); //設定通訊速率
}
void loop(){ //無限迴圈 (必要)
DHT.read(DHT11_PIN); //讀取資料
Serial.print("temp:"); //寫出 temp 字樣
Serial.print(DHT.temperature); //寫出溫度資料
Serial.print(" humi:"); //寫出 humi 字樣
Serial.println(DHT.humidity); //寫出濕度資料
delay(1000); //延遲時間,秒*1000
}
檢查感應器型號 (通常會印在板子上,可上網查詢規格)
有三個腳,分別為
GND,在感應器上會寫GND- 接地(Ground),對於電源來說,是一個電源的負極,連接開發板的G。 通常用黑色杜邦線連接。
VCC,電源(Volt Current Condenser),是電路的供電電壓,。如果不知規格,可以先連接開發板的3V,如果跑不動再換5V。通常用紅色杜邦線連接。
DATA,資料訊號源,要連接開發板的一個腳位,這次我選擇D2的位置,要配合程式中的設定。
V 是檢查程式是否有寫錯
右邊第二個功能鍵-箭頭就是上傳
選取 工具/序列埠監控視窗 即可看到感應的結果
Serial.begin(Baud Rate): Baud Rate指從一裝置發到另一裝置的位元率,即每秒鐘多少位元bits per second (bit/s)。 典型的鮑率是300, 1200, 2400, 9600, 115200, 19200等bit/s
選取 工具/序列繪圖家 即可看到感應結果的繪圖
可參考 https://blog.jmaker.com.tw/dht11-lcd/
可參考阿簡生物筆記作者製作微電腦課程
下載 PLX DAQ ,可以幫忙傳資料到Excel。
https://forum.arduino.cc/t/plx-daq-version-2-now-with-64-bit-support-and-further-new-features/420628
#include <DFRobot_DHT11.h>
DFRobot_DHT11 DHT;
#define DHT11_PIN D5
void setup(){
Serial.begin(9600);
Serial.println("CLEARDATA");
Serial.println("LABEL,Time,Timer,Temperature,Humidity"); //設定excel呈現資料的欄位
}
void loop(void)
{
DHT.read(DHT11_PIN);
Serial.print("DATA,TIME"); //顯示真實時間
Serial.print(",");
Serial.print("TIMER"); //顯示經過時間
Serial.print(",");
Serial.print(DHT.temperature); //顯示溫度
Serial.print(",");
Serial.println(DHT.humidity); //顯示濕度後換行用printIn
delay(1000);
}
打開 excel
設定序列埠 COM4 (依照你控制器的USB孔設定而有不同)。
按下connect,然後就可自動讀到資料