紅外傳感器的原理就是通過一對紅外線發射與接收管,發射管發射出一定頻率的紅外線,當檢測方向遇到障礙物(反射面)時,紅外線反射回來被接收管接收,經過比較器電路處理之后,綠色指示燈會亮起,同時信號輸出接口輸出數字信號(一個低電平信號),并且可通過電位器旋鈕調節檢測距離,有效距離范圍2~30cm,工作電壓為3.3V-5V。它有三只腳,1只就是VCC,1只就是GND,另一個就是OUT-IO,這個只需要接一個GPIO,然后監測它輸出的是高電平還是低電平,當低電平就是檢測到障礙物。
看開發板的電路圖,我們得知J1的11和12分別是VCC和GND,分別對接上紅外傳感器vcc和GND,下面就是關鍵的OUT-IO這個就是紅外傳感器返回的數據(高低電平),這個我們在開發板找個閑置的GPIO進行接收,這里J1的29(P303)腳作為接收的GPIO,物理線路搞掂。我們就代碼了,因為GPIO是最容易對接的,那么我們代碼也很簡單。首先聲明接口,然后讀取判斷就可以了,具體代碼如下:
#define infrared "P303"http://定義引腳
static int out; //初始變量
out = rt_pin_read(MOMM_pin) ? PIN_LOW : PIN_HIGH;
if (PIN_LOW == out){
rt_kprintf("n 存在障外物n");
}else{
rt_kprintf("n 一路暢通n");
}
最后掃一下盲,什么是GPIO就是通用輸入/輸出端口,通俗地說,就是一些CPU的引腳,可以通過它們輸出高低電平或者通過它們讀入引腳的狀態-是高電平或是低電平;就是0:1輸入和輸出。
-
led燈
+關注
關注
22文章
1595瀏覽量
109338 -
電位器
+關注
關注
14文章
1017瀏覽量
67654 -
比較器
+關注
關注
14文章
1840瀏覽量
108515 -
紅外傳感器
+關注
關注
9文章
542瀏覽量
48180 -
GND
+關注
關注
2文章
544瀏覽量
39480
發布評論請先 登錄
評論