為了方便給冬季大棚里養(yǎng)護(hù)的植物澆水,我準(zhǔn)備建立一個(gè)系統(tǒng)以備不時(shí)之需。
思考再三后,我的結(jié)論是準(zhǔn)備自己做一個(gè)傳感器,因?yàn)閷τ谖业闹参餄菜?xiàng)目(即將到來),我需要幾個(gè)傳感器用于幾個(gè)植物。
我選擇ESP32作為微控制器,因?yàn)樗哂卸鄠€(gè)12位ADC輸入,并且能夠以比ArduinoUno等更高的頻率生成PWM信號。在這個(gè)項(xiàng)目中,將為每個(gè)傳感器生成一個(gè)600kHz的信號。
該傳感器由廣泛使用的簡單低成本材料制成,可用作電容式濕度傳感器。
第1步:制作濕度傳感器
DIY傳感器由簡單的材料制成:
一些音頻線
兩個(gè)火鍋叉
塑料座椅腿套
硅膠膏
銷從火鍋叉上切下,鍍鉻有助于避免腐蝕。帶有接線端子的結(jié)構(gòu)可以輕松地將銅電纜線連接到鍍鉻引腳。銷(不彎曲)便于插入植物的土壤中。
作為測量水分含量的指標(biāo),我正在重復(fù)使用為我之前的項(xiàng)目開發(fā)的水位指示器:
第4步:電子設(shè)置
在面包板設(shè)置中,我使用了ESP32s(節(jié)點(diǎn)MCU)。這種選擇的原因如介紹中所述。
我的計(jì)劃是擴(kuò)展這個(gè)設(shè)置,使其具有制作完整的植物澆水系統(tǒng)的功能,并具有在線監(jiān)測和警告功能。(ESP32板載WiFi和藍(lán)牙)。
電路圖(用Fritzing制作)如下:
傳感器電路圖如下:
面包板上的實(shí)際設(shè)置如下所示:
ESP32由USB端口提供5V電源,并且板載3、3V穩(wěn)壓器。一個(gè)輸出GPIO引腳通過10KOhm電阻連接到濕度傳感器的一側(cè),并在5次測量期間(持續(xù)5秒)向傳感器發(fā)送600kHz信號。ESP32(12位ADC)的一個(gè)輸入引腳通過二極管和R/C網(wǎng)絡(luò)(1MOhm和1uF)連接。傳感器的另一條腿連接到GND。
傳感器僅在測量期間通電,以避免對鍍鉻筆產(chǎn)生電解影響。
在我的實(shí)驗(yàn)中,我通過將傳感器放入水中(最低測量值)和露天(最高值)來確定傳感器的最小值和最大值。將傳感器放入花盆中會產(chǎn)生介于最小值和最大值之間的中間值,具體取決于土壤濕度水平。中間值的比例似乎是相當(dāng)線性的。
第3步:制作軟件
ArduinoSketch中的循環(huán)函數(shù)很簡單,只包含調(diào)用2個(gè)函數(shù):
測量之間的1秒延遲僅用于實(shí)驗(yàn)和演示目的。在實(shí)際應(yīng)用中,這種頻率會低得多(通常每天幾次,取決于植物的口渴程度)
ARDUINOIDE的繪圖監(jiān)視器以及串行監(jiān)視器在實(shí)驗(yàn)過程中非常有用。繪圖監(jiān)視器圖的視圖如下所示:
plotmonitor上的讀數(shù)顯示由12位ADC測量的值。ESP32的完整3.3V刻度除以4096,即:每步0.8mV。
使用以下代碼測量水分含量:
此后根據(jù)上表確定平均值所在的括號,并在濕度指示器上用顏色指示濕度水平,這要?dú)w功于《Adafruit_NeoPixel.h》庫:
要通過USB端口將草圖下載到ESP32,需要按住Boot按鈕。
-
傳感器
+關(guān)注
關(guān)注
2551文章
51106瀏覽量
753652 -
濕度傳感器
+關(guān)注
關(guān)注
7文章
308瀏覽量
58555 -
ESP32
+關(guān)注
關(guān)注
18文章
971瀏覽量
17279
發(fā)布評論請先 登錄
相關(guān)推薦
評論