如何用Ai-M61-32S監(jiān)測(cè)水位
通過(guò)從IO接口讀取模擬值并進(jìn)行電壓轉(zhuǎn)換,可以得到檢測(cè)到的電壓值。
用Ai-M61-32S監(jiān)測(cè)水位
項(xiàng)目解決方案
通過(guò)從IO接口讀取模擬值并進(jìn)行電壓轉(zhuǎn)換,可以得到檢測(cè)到的電壓值。進(jìn)一步的電壓-水位校準(zhǔn)使串行印刷和水位高度繪圖,實(shí)現(xiàn)實(shí)時(shí)水位監(jiān)測(cè)。
電壓轉(zhuǎn)換
根據(jù)歐姆定律,V = I / R,電壓與電阻成正比。通過(guò)得到3.3 v和GND對(duì)應(yīng)的模擬值(測(cè)量值為3199和21),推導(dǎo)出實(shí)際電壓轉(zhuǎn)換公式為:voltage = val *(3.3 /(3199-21))。
代碼
長(zhǎng)按IO2鍵,短按EN鍵進(jìn)入下載模式。配置端口后,上傳項(xiàng)目并重置以運(yùn)行程序。
效果
水位傳感器可以檢測(cè)水位高度(檢測(cè)范圍:0 - 40mm),也可以作為雨滴傳感器用于天氣監(jiān)測(cè),檢測(cè)降雨量和強(qiáng)度。廣泛應(yīng)用于汽車雨刷系統(tǒng)、智能照明系統(tǒng)、洗衣機(jī)、智能天窗系統(tǒng)等。
模塊的介紹
上電后,電源指示燈LED亮起。工作電壓:直流3.3V - 5V。輸出類型:模擬信號(hào)。
傳感器有10根外露銅線,其中5根電源銅線和5根傳感銅線呈交錯(cuò)平行排列,每根電源銅線之間有一根傳感銅線。
模塊示意圖
引腳的定義
?S (Signal)為模擬量輸出;
?+ (VCC)為傳感器電源;
?—(GND)表示地。
工作原理
當(dāng)平行銅線之間有水時(shí),不同的浸入高度導(dǎo)致不同的電流。銅線之間的電阻隨水位的變化而變化。
電阻與水的高度成反比(傳感器浸入越深,電導(dǎo)率越好,電阻越低,電流越大)。因此,水位可以通過(guò)測(cè)量傳感器的輸出電壓通過(guò)ADC來(lái)確定。
硬件連接
S -> io19, + - >3v3, - >gnd。
硬件連接完成后,打開串口。此時(shí),輸出電壓應(yīng)為0。
水位校正
由于水質(zhì)和電導(dǎo)率的差異,需要校準(zhǔn)。每次校準(zhǔn)前,將PCB表面平行銅線干燥。當(dāng)電壓讀數(shù)為0時(shí),將傳感器放入水中,記錄水位和電壓。收集多組數(shù)據(jù)進(jìn)行平均。
校準(zhǔn)數(shù)據(jù)收集
當(dāng)水位為10mm時(shí),對(duì)應(yīng)的串口輸出電壓為1.25 V。
增加水位,收集多個(gè)電壓-水位數(shù)據(jù)對(duì)。假設(shè)電壓V與水位高度mm為線性關(guān)系,用Excel對(duì)數(shù)據(jù)進(jìn)行擬合,得到公式y(tǒng) = 41.774 x - 38.686。
項(xiàng)目代碼
在代碼中添加水位高度定義:
保存代碼,構(gòu)建項(xiàng)目,上傳固件,然后重置以運(yùn)行。打開串口助手,連接目標(biāo)串口,獲取實(shí)時(shí)IO模擬量、電壓(V)和水位(mm)。
數(shù)字管顯示水位
在前面的電壓讀取和基于水位傳感器的電壓-水位高度轉(zhuǎn)換的基礎(chǔ)上,增加了一個(gè)4位共陽(yáng)極數(shù)字管顯示水位高度。
硬件連接
采用兩個(gè)74HC595驅(qū)動(dòng)的4位共陽(yáng)極數(shù)字管,支持3.3V至5V的寬電壓輸入,僅需3個(gè)信號(hào)引腳即可驅(qū)動(dòng)。
水浸傳感器_ S -> IO19,水浸傳感器_ + -> 3V3,水浸傳感器_ - -> GND。
4Bit - segment_ SCLK - b> IO23, 4Bit - segment_ RCLK - b> IO24, 4Bit - segment_ DIO -> IO11。
項(xiàng)目代碼
注意需要定義shiftOut函數(shù)。
●為了避免由于每個(gè)采樣值的顯著波動(dòng)而導(dǎo)致數(shù)碼管的過(guò)度動(dòng)態(tài)刷新,增加了一個(gè)循環(huán)以延長(zhǎng)數(shù)據(jù)刷新間隔。
●或者,取多個(gè)樣本并平均它們,以減少水位波動(dòng),實(shí)現(xiàn)更穩(wěn)定的數(shù)碼管顯示。
示范
●數(shù)字管顯示水位。
●靜態(tài)水位演化曲線。
本文編譯自hackster.io