日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【HaaS Python硬件积木】土壤湿度传感器

發布時間:2023/12/20 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【HaaS Python硬件积木】土壤湿度传感器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來這里發現更多拿來即用的傳感器

HaaS開發框架HaaS積木方案,賦能生態開發者,讓您快速找到自己需要的解決方案,硬件主板與外設,以及各種應用組件。https://haas.iot.aliyun.com/solution/hardware

一、產品簡介

土壤濕度傳感器主要用于檢測土壤中濕度是否達到閥值及濕度的大小,通過電位器調節土壤濕度控制閥值,可以自動對菜園,花園自動澆水,家庭花盆土壤濕度的控制,各種電子比賽,電子積木等。

引腳定義:

  • VCC:接電源正極(3.3-5V)
  • GND:接電源負極
  • DO:TTL開關信號輸出
  • AO:模擬信號輸出

二、技術參數

  • 傳感器表面采用鍍鎳處理,具有較好的抗氧化、導電性、耐用性;
  • 采用LM393比較器輸出,信號無噪音,波形好,驅動能力強,大于15mA;
  • 配合電位器可調節靈敏度,控制土壤的濕度信號檢測;
  • 傳感器設有固定螺栓孔,方便安裝;
  • 工作電壓:3.3V - 5V
  • 輸出形式:數字開關量輸出(0和1),模擬量AO電壓輸出;
  • PCB尺寸:3.2CM x 1.4CM

三、軟件接口

土壤濕度傳感器HaaS Python驅動:下載地址

SoilMoisture(DO) - 創建 SoilMoisture 驅動對象

  • 函數原型:

drv = SoilMoisture(DO)

  • 參數說明:
參數類型必選參數?說明
DOGPIO調用此函數前需確保 DO 對象已經處于 open 狀態
  • 返回值: SoilMoisture 對象成功,返回 SoilMoisture 對象;SoilMoisture 對象創建失敗,拋出 Exception
  • 示例代碼:
import utime # 延時函數在utime庫中 from driver import GPIO import soil_moisture # 初始化 GPIO DO = GPIO() DO.open('LM393_DO') # 按照 board.json 中名為 "LM393_DO" 的設備節點的配置參數 drv = soil_moisture.SoilMoisture(DO) print("SoilMoisture inited!")
  • 輸出:
SoilMoisture inited!

moistureDetect() - 檢測當前濕度是否達到閥值

  • 函數功能: 通過 GPIO 讀取數字開關量,濕度未達閥值時為高電平 1,濕度達到閥值時為低電平 0
  • 函數原型:

drv.moistureDetect()

  • 參數說明: 無
  • 返回值 開關量(數據類型:整型)
  • 示例:
detected = drv.moistureDetect() if detected == 0:print("moisture is detected") else:print('no moisture detected')
  • 輸出:
moisture is detected

四、接口案例

此使用實例在 board.json 中定義了名為 LM393_DO 的 GPIO 類型的對象。在 Python 腳本中周期性的檢查當前土壤濕度檢測值結果并打印在日志中。

  • 代碼:
# board.json配置: {"name": "board-name","version": "1.0.0","io": {"LM393_DO": {"type": "GPIO","port": 25,"dir": "input","pull": "pullup"}},"debugLevel": "ERROR","repl": "disable" } # Python代碼 import utime # 延時函數在utime庫中 from driver import GPIO import soil_moisture if __name__ == '__main__':# 初始化 GPIODO = GPIO()DO.open('LM393_DO') # 按照 board.json 中名為 "LM393_DO" 的設備節點的配置參數if ret != 0:raise Exception('open device failed %s' % ret)drv = soil_moisture.SoilMoisture(DO)print("SoilMoisture inited!")while True: # 無限循環detected = drv.moistureDetect() # 周期性檢查噪音值if detected == 0:print("moisture is detected")else:print('no moisture detected')utime.sleep_ms(30)DO.close() # 關閉 GPIO 設備
  • 輸出:
... no moisture detected no moisture detected moisture is detected moisture is detected ...

五、通信協議

主控芯片與土壤濕度感應傳感器之間使用 GPIO 通訊,土壤濕度傳感器通過 LM393 比較器對模擬信號電壓進行比較,當達到閥值則輸出對應開關量。

使用時感應板上未達閥值時,DO 輸出高電平,感應板上濕度達到閥值時,DO 輸出低電平。感應板恢復干燥環境時,DO又恢復到高電平狀態。DO TTL 數字開關量可以方便檢測土壤濕度是否達到閥值狀態。

模擬量輸出 AO 口可以和 ADC 接口相連,通過 AD 轉換,可以獲得土壤濕度更精確的數值;

六、工作原理

如下是原理圖,土壤濕度感應板輸出電壓到 LM393+ 口,LM393- 口接電位器,因此感應板與 510K 電阻產生分壓電路輸出電壓到 LM393+,電位器產生參考電壓輸出到 LM393-。

LM393 的原理是:

  • 當電壓輸入 LM393- 大于 LM393+ 時輸出 OUT 與地接通(低電平)
  • 當電壓輸入 LM393- 小于 LM393+ 時輸出 OUT 開路(上拉電阻高電平)

因為 OUT 引腳有一顆 510K 上拉電阻,因此在開路的情況下為高電平,與地接通時時為低電平。

我們以 VCC 3.3V為例,當感應板無濕度環境時,LM393+ 為3.3V,LM393- 通過電位器輸出電壓假設為2V,那么 LM393- < LM393+,OUT 為開路,輸出高電平 1,反之輸出低電平。

參考文獻及購買鏈接

[1] LM393 Datasheet

總結

以上是生活随笔為你收集整理的【HaaS Python硬件积木】土壤湿度传感器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。