🔎 長期監控溫度
🔎 智慧溫控感應調整大小、方向、定時開關
🔎 智慧省電控制、缺水安全保護及自動補水連結
@@ 長期監控溫度
1. 能感應環境溫溼度、在電腦上顯示數據。
(1) 準備硬體:D1 mini開發版、DHT11溫濕度傳感器。
(2) 下載 arduino 程式:現在最新的版本是 Arduino IDE 2.0.0,捐款下載,也有線上開發的模式 https://www.arduino.cc/en/software 或使用舊版 https://downloads.arduino.cc/arduino-1.8.7-windows.zip'
(3) 工具/序列埠設定:選擇USB插入位置,依照電腦設定而有所不同,本組選擇COM4
工具/序列埠設定
(4) 工具/開發板設定:選擇使用的開發板D1 mini
工具/開發板設定
(5) 下載程式碼:可開 arduino 程式,選取草稿碼/匯入程式庫/管理程式庫中搜尋 DHT11,就可安裝。
(6) 檢視範例檔中需要調整的地方
#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
調整程式設定
(7) 感應器與開發板、電腦連接
GND,在感應器上會寫GND- 接地(Ground),對於電源來說,是一個電源的負極,連接開發板的G。 用黑色杜邦線連接。
VCC,電源(Volt Current Condenser),是電路的供電電壓,。如果不知規格,可以先連接開發板的3V,如果跑不動再換5V。通常用紅色杜邦線連接。
DATA,資料訊號源,要連接開發板的一個腳位,這次我選擇D2的位置,要配合程式中的設定。
感應器與開發板、電腦連接
(8) 上傳程式碼,由電腦查看溫溼度數據:選取 工具/序列繪圖家 即可看到感應結果的繪圖
(9) 將資料即時傳送到Excel紀錄:下載 PLX DAQ ,可以幫忙傳資料到Excel。 https://forum.arduino.cc/t/plx-daq-version-2-now-with-64-bit-support-and-further-new-features/420628
上傳程式碼
選取 工具/序列繪圖家 即可看到感應結果的繪圖
2. 使用Adafruit IO,讓網站能記錄即時資訊
在Adafruit申請帳號 https://accounts.adafruit.com/
溫溼度網路顯示成果 https://io.adafruit.com/ljjh/feeds/temp-humi
##程式參考
from machine import Pin
import time
import network
from umqtt.robust import MQTTClient
import dht
sensor = dht.DHT11(Pin(0)) # 使用 D3 腳位取得溫溼度物件
client = MQTTClient(
client_id="wen-du",
server="io.adafruit.com", #連結上傳網站
user="ljjh", #在網站上申請使用者名稱
password="aio_atsg90g6OqsiW2mB4OKaL8aO", #在網站上取得密碼,請自行更改
ssl=False)
sta_if = network.WLAN(network.STA_IF) # 取得無線網路介面
sta_if.active(True) # 啟用無線網路
sta_if.connect('24-1F', '828132') # 連結無線網路,請自行更改
while not sta_if.isconnected(): # 等待無線網路連上
pass
print("connected")
client.connect()
while True:
sensor.measure()
temp_humi = "%2d℃/%2d%%" % (
sensor.temperature(),
sensor.humidity())
client.publish(
b"ljjh/feeds/temp_humi", #產生報告的網址
temp_humi.encode())
print(temp_humi)
time.sleep(30) #30秒收一次數據
網站記錄即時資訊
3. 網路自動連結服務IFTTT。自動串聯多個服務,讓當發生A事件,就自動執行B,讓感應器的觸動開關。
🔎 智慧溫控感應調整大小、方向、定時開關
🔎 智慧省電控制、缺水安全保護及自動補水連結