市面上常見的傳感器模塊,其輸出大體可分為模擬、數字、特定協議輸出(例如 RS485、RS232、SPI、CAN、單總線等)。其中,前兩種的讀取最為簡單通用,而使用特定協議的傳感器讀取方法要參考傳感器相應的文檔。
本教程以四針腳的光線傳感器為例,介紹模擬和數字輸出的傳感器的讀取方法。只有這款四針腳的光線傳感器,才可以同時兼具模擬輸出(AO 引腳)和數字輸出(DO 引腳)。而其他三針腳的傳感器,有的僅支持模擬輸出,有的僅支持數字輸出。
光線傳感器對環境光線檢測:
AO 腳輸出模擬信號,信號量越大表示光線越少。
DO 腳輸出數字信號,光線超過一個閾值時輸出低電平,反之則輸出高電平。這個閾值可以通過轉動傳感器上的可調電阻來設定。
硬件連接
傳感器模塊的 VCC 腳接樹莓派 Pico 的 3V3。
傳感器模塊的 GND 腳接樹莓派 Pico 的 GND。
傳感器模塊的 AO 腳接樹莓派 Pico 的 GP28。
傳感器模塊的 DO 腳接樹莓派 Pico 的 GP27。
為了便于理解,我們下面的代碼中,將讀取到的數值進行一個變化。以便讓光線越強時顯示出來的數值更大(最小值為 0,最大值為 65535),當光線達到閾值時顯示 1 而不是 0。
import machine import utime sensor_analog = machine.ADC(28) sensor_digital = machine.Pin(27, machine.Pin.IN) while True: print('Analog value: %d, Digital value: %d.' % (65535 - sensor_analog.read_u16(), 1 - sensor_digital.value())) utime.sleep(0.5)
運行之后,Shell 中每隔 0.5 秒會打印出一行從傳感器讀取到并轉換之后的數據。數值隨著環境光線的變化隨之變化。
對于其他類似設計的傳感器,例如聲音傳感器、振動傳感器、火焰傳感器、土壤濕度傳感器、水位傳感器、雨水傳感器等,接線和讀取方法以此類推即可。
審核編輯:劉清
-
傳感器
+關注
關注
2563文章
52589瀏覽量
763749 -
光線傳感器
+關注
關注
0文章
26瀏覽量
14878 -
樹莓派
+關注
關注
121文章
1946瀏覽量
106989
原文標題:在樹莓派 Pico 上使用光線傳感器等傳感器模塊
文章出處:【微信號:趣無盡,微信公眾號:趣無盡】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論