一、介紹
?? IR障礙物傳感器根據(jù)紅外反射原理來(lái)檢測(cè)障礙物,當(dāng)沒(méi)有物體時(shí),紅外接收器不接受信號(hào);當(dāng)前方有物體阻擋并反射紅外光時(shí),紅外接收器將接收信號(hào)。
二、組件
★Raspberry Pi主板*1
★樹莓派電源*1
★40P軟排線*1
★紅外避障傳感器模塊*1
★面包板*1
★跳線若干
三、實(shí)驗(yàn)原理


?? 紅外測(cè)距都是采用三角測(cè)距的原理。紅外發(fā)射器按照一定角度發(fā)射紅外光束,遇到物體之后,光會(huì)反向回來(lái),檢測(cè)到反射光之后,通過(guò)結(jié)構(gòu)上的幾何三角關(guān)系,就可以計(jì)算出物體距離D。
?? 當(dāng)物體距離D很大時(shí),L值就會(huì)很小,測(cè)量精度會(huì)變差。因此,常見的紅外傳感器 測(cè)量距離都比較近,小于超聲波,同時(shí)遠(yuǎn)距離測(cè)量也有最小距離的限制。另外,對(duì)于透明的或者近似黑體的物體,紅外傳感器是無(wú)法檢測(cè)距離的。
?? 該傳感器模塊對(duì)環(huán)境光線適應(yīng)能力強(qiáng),其具有一對(duì)紅外線發(fā)射與接收管,發(fā)射管發(fā)射出頻率的紅外線,當(dāng)檢測(cè)方向遇到障礙物(反射面)時(shí),紅外線反射回來(lái)被接收管接收,經(jīng)過(guò)比較器電路處理之后,綠色指示燈會(huì)亮起,同時(shí)信號(hào)輸出接口輸出數(shù)字信號(hào)(一個(gè)低電平信號(hào)),可通過(guò)電位器旋鈕調(diào)節(jié)檢測(cè)距離,有效距離范圍2~30cm,工作電壓為3.3V-5V。
??該傳感器的探測(cè)距離可以通過(guò)電位器調(diào)節(jié)、具有干擾小、便于裝配、使用方便等特點(diǎn),可以廣泛應(yīng)用于機(jī)器人避障、避障小車、流水線計(jì)數(shù)及黑白線循跡等眾多場(chǎng)合。
四、實(shí)驗(yàn)步驟
??第1步:連接電路。
| 樹莓派 | T型轉(zhuǎn)接板 | 紅外避障傳感器 |
|---|---|---|
| GPIO0 | G17 | OUT(SIG) |
| 5V | 5V | VCC |
| GND | GND | GND |


??第2步:編寫控制程序。當(dāng)紅外避障傳感器檢測(cè)到障礙物,輸出低電平,打印"Detected Barrier!";當(dāng)沒(méi)有障礙物時(shí)輸出高電平,打印“Nothing!”。
#!/usr/bin/env python
import RPi.GPIO as GPIO
ObstaclePin = 11
def setup():
GPIO.setmode(GPIO.BOARD) # Numbers GPIOs by physical location
GPIO.setup(ObstaclePin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
def loop():
while True:
if (0 == GPIO.input(ObstaclePin)): #當(dāng)檢測(cè)到障礙物時(shí),輸出低電平信號(hào)
print "Detected Barrier!"
else :
print "****Nothing!******"
def destroy():
GPIO.cleanup() # Release resource
if __name__ == '__main__': # Program start from here
setup()
try:
loop()
except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the child program destroy() will be executed.
destroy()
??
