標籤:閾值 參考 key 連通 led mod ble keyword 含義
一、土壤感應器
感應器四個針腳:
針腳 |
含義 |
AO |
類比訊號輸出 |
DO |
數字訊號輸出 |
GND |
電源負極 |
VCC |
電源正極 |
二、接線
YL-38和YL69 之間直接用2根母對母線串連。
YL-38和樹莓派之間VCC接1號針腳,GND接6號針腳,DO接11號針腳。
我們把VCC接到樹莓派的DC3.3v輸出上,我用的是PIN 01,GND接在任何一個接地連接埠上,我用的是PIN 06,DO輸出接任何一個閒置GPIO連接埠,我用的是11。如果不清楚樹莓派連接埠布局的朋友可以參考這張圖:
電源連通之後,電源燈會亮起:
調節感應器上的十字旋鈕,這個是靈敏度的校準,也是個閾值,直到在乾燥空氣中不讓DO-LED亮起。
倒一杯水,或者沒有水的話,舔一下感應器的觸角,DO-LED應該會亮起,這時候就校準好了。
三、編寫代碼
這個感應器在乾燥時候輸出的是高電平,遇到水輸出低電平。根據這個原理:
12345678910111213141516171819202122232425262728 |
#!/usr/bin/python #coding=utf-8 import RPi.GPIO as GPIO import time #回呼函數 def callback(channel): if GPIO. input (channel): print u ‘土壤有點幹‘ else : print u ‘土壤太濕了‘ #定義針腳排序為BOARD形式 GPIO.setmode(GPIO.BOARD) #針腳 channel = 11 #定義針腳為input口 GPIO.setup(channel, GPIO.IN) #添加簡單事件 GPIO.add_event_detect(channel, GPIO.BOTH, bouncetime = 200 ) #添加時間觸發的回呼函數 GPIO.add_event_callback(channel, callback) #保持主進程不退出 while True : time.sleep( 0.1 ) |
運行結果:
Raspberry Pi開發之旅-土壤濕度檢測