紅外傳感器模塊與 Arduino 連接
原文地址
Arduino 紅外傳感器接口
紅外**接近傳感器或紅外傳感器它發(fā)射紅外光以感知周圍環(huán)境,并可用于檢測(cè)物體的運(yùn)動(dòng)。由于這是一個(gè)無(wú)源傳感器,它只能測(cè)量紅外輻射。如果您曾經(jīng)嘗試過(guò)設(shè)計(jì)避障機(jī)器人或任何其他基于接近檢測(cè)的系統(tǒng),那么您很可能已經(jīng)知道這個(gè)模塊。
紅外傳感器引腳排列
紅外傳感器有一個(gè) 3 針連接器,可將其連接到外部世界。連接如下:
VCC 連接到 Arduino 上的 5V 引腳的紅外傳感器的電源引腳。
OUT 引腳為5V TTL邏輯輸出。低表示未檢測(cè)到運(yùn)動(dòng);高表示檢測(cè)到運(yùn)動(dòng)。
GND 連接到Arduino的接地。
紅外運(yùn)動(dòng)傳感器模塊如何工作?
紅外傳感器模塊的工作非常簡(jiǎn)單,它由兩個(gè)主要組件組成:第一個(gè)是紅外發(fā)射器部分,第二個(gè)是紅外接收器部分。在發(fā)射器部分,使用紅外LED,在接收器部分,光電二極管用于接收紅外信號(hào),經(jīng)過(guò)信號(hào)處理和調(diào)理,您將獲得輸出。
紅外接近傳感器的工作原理是向紅外發(fā)光二極管施加電壓,紅外發(fā)光二極管發(fā)出紅外光。該光在空氣中傳播并撞擊物體,然后光電二極管傳感器接收。如果物體近,反射光會(huì)更強(qiáng),如果物體離得遠(yuǎn),反射光會(huì)更弱。如果您仔細(xì)觀察模塊。當(dāng)傳感器觸發(fā)時(shí),它通過(guò)輸出引腳發(fā)送低電平,Arduino或任何類型的微控制器都可以檢測(cè)到該信號(hào)以執(zhí)行特定任務(wù)。該模塊內(nèi)置了兩個(gè)板載LED,其中一個(gè)在電源可用時(shí)亮起,另一個(gè)在電路被觸發(fā)時(shí)打開(kāi)。
**紅外運(yùn)動(dòng)傳感器模塊 **
對(duì)于大多數(shù)Arduino項(xiàng)目,該傳感器用于檢測(cè)接近或構(gòu)建避障機(jī)器人。該傳感器在初學(xué)者中很受歡迎,因?yàn)樗鼈児牡?、成本低、?jiān)固耐用,并且具有寬感應(yīng)范圍,可以調(diào)整靈敏度。
該傳感器有三個(gè)引腳,其中兩個(gè)是電源引腳VCC和GND,另一個(gè)是數(shù)據(jù)引腳,如上圖所示。它有一個(gè)板載電源 LED 和一個(gè)信號(hào) LED,當(dāng)電源施加到電路板上時(shí),電源 LED 亮起,觸發(fā)電路時(shí)信號(hào) LED 亮起。該板還具有一個(gè)比較器運(yùn)算放大器,負(fù)責(zé)將光電二極管的輸入模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。我們還有一個(gè)靈敏度調(diào)節(jié)電位器;這樣,我們可以調(diào)整設(shè)備的靈敏度。最后,我們有光電二極管和紅外發(fā)射 LED 對(duì),它們共同構(gòu)成了整個(gè)紅外接近傳感器模塊。
關(guān)于紅外傳感器的常見(jiàn)問(wèn)題
紅外傳感器的輸入功率是多少?
紅外接近傳感器模塊可由 3.3V 和 5V 電源供電。這使得該模塊可用于Arduino等5V系統(tǒng)和Raspberry Pi等3.3V系統(tǒng)。
紅外傳感器模塊的范圍是多少?
如果物體與傳感器之間的距離為 2 到 10 厘米,則此傳感器可以檢測(cè)物體。此外,您還可以通過(guò)調(diào)整模塊上的微調(diào)電位器來(lái)控制傳感器的最大距離。
如何測(cè)試紅外傳感器模塊?
測(cè)試您的紅外傳感器模塊很容易,只需分別用 5V 和接地為 Vcc 和 Gnd 引腳供電,然后將手靠近紅外傳感器。如果一切正常,您應(yīng)該能夠看到模塊上的信號(hào) LED 亮起。
紅外運(yùn)動(dòng)傳感器模塊電路圖
紅外運(yùn)動(dòng)傳感器的示意圖如下所示。原理圖本身非常簡(jiǎn)單,需要一些通用元件來(lái)構(gòu)建。如果您手頭沒(méi)有預(yù)構(gòu)建的模塊,但仍想測(cè)試您的項(xiàng)目,下面的原理圖將派上用場(chǎng)。
在原理圖中,我們有一個(gè)紅外LED作為發(fā)射器,光電二極管作為接收器。如果物體在傳感器前面,光電二極管會(huì)接收來(lái)自物體的反射光,根據(jù)強(qiáng)度,我們可以確定物體的距離或距離。在原理圖中,您還可以找到一個(gè)LM358運(yùn)算放大器,它正在執(zhí)行所有比較工作并生成輸出。除此之外,還有一個(gè)電位計(jì)可用于調(diào)整紅外傳感器模塊的靈敏度或該模塊的觸發(fā)距離。
帶 Arduino UNO 的紅外傳感器 – 連接圖
現(xiàn)在我們已經(jīng)完全了解了紅外傳感器的工作原理,我們可以將所有必需的電線連接到Arduino,如下所示。
將紅外傳感器連接到任何微控制器非常簡(jiǎn)單。眾所周知,該傳感器輸出數(shù)字信號(hào),處理該信號(hào)非常容易。有兩種方法,您始終可以在無(wú)限循環(huán)中檢查端口以查看端口何時(shí)將其狀態(tài)從高變?yōu)榈?,或者另一種方法是使用中斷來(lái)執(zhí)行此操作,如果您正在制作復(fù)雜的項(xiàng)目,建議使用中斷方法。用 5V 或 3.3V 為 IR 供電,并接地。然后將輸出連接到數(shù)字引腳D9。我們使用公對(duì)母跳線將紅外傳感器模塊與 Arduino 板連接,如下所示。
有了這個(gè),您現(xiàn)在可以上傳一些代碼并使紅外運(yùn)動(dòng)傳感器正常工作。您還可以在本文底部查看上述模塊的實(shí)際效果。
Arduino 代碼,用于將紅外運(yùn)動(dòng)傳感器模塊與 Arduino 接口
Arduino IR傳感器模塊代碼非常簡(jiǎn)單易懂。我們基本上只是跟蹤引腳D9的輸入是高電平還是低電平。
我們通過(guò)聲明兩個(gè)全局變量來(lái)初始化代碼,第一個(gè)變量保存連接紅外傳感器的引腳值,第二個(gè)保存 LED 連接處的值
int IRSensor = 9; // connect IR sensor module to Arduino pin D9
int LED = 13; // connect LED to Arduino pin 13
接下來(lái),我們有設(shè)置功能。在設(shè)置函數(shù)中,我們用 115200 波特初始化串行。接下來(lái),我們打印一條語(yǔ)句來(lái)檢查串行監(jiān)視器窗口是否正常工作,然后將IRSensor引腳初始化為輸入,將LED引腳初始化為輸出。
void setup() {
Serial.begin(115200); // Init Serial at 115200 Baud Rate.
Serial.println("Serial Working"); // Test to check if serial is working or not
pinMode(IRSensor, INPUT); // IR Sensor pin INPUT
pinMode(LED, OUTPUT); // LED Pin Output
}
接下來(lái),我們有無(wú)限循環(huán)。在無(wú)限循環(huán)中,我們首先使用 digitalRead() 函數(shù)讀取傳感器引腳,并將值存儲(chǔ)到 sensorStatus 變量中。然后我們檢查傳感器的輸出是高還是低,如果傳感器的輸出是高,則表示未檢測(cè)到運(yùn)動(dòng),否則檢測(cè)到運(yùn)動(dòng),我們還在串行監(jiān)視器窗口中打印此狀態(tài)。
void loop() {
int sensorStatus = digitalRead(IRSensor); // Set the GPIO as Input
if (sensorStatus == 1) // Check if the pin high or not
{
// if the pin is high turn off the onboard Led
digitalWrite(LED, LOW); // LED LOW
Serial.println("Motion Detected!"); // print Motion Detected! on the serial monitor window
}
else {
//else turn on the onboard LED
digitalWrite(LED, HIGH); // LED High
Serial.println("Motion Ended!"); // print Motion Ended! on the serial monitor window
}
}
這就是我們簡(jiǎn)單的基于Arduino的紅外傳感器代碼的結(jié)尾。
紅外運(yùn)動(dòng)傳感器模塊的工作原理
GIF 顯示了紅外傳感器模塊的運(yùn)行情況,您可以注意到模塊和 Arduino 板上的 LED 都亮起,因?yàn)榧t色箭頭指向購(gòu)買。如果您是第一次使用紅外運(yùn)動(dòng)傳感器模塊,那么您應(yīng)該得到與此類似的響應(yīng)。
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-KBMgjWVU-1678238510539)(https://circuitdigest.com/sites/default/files/inlineimages/u4/Working-of-IR-Sensor.gif)]
使用 Arduino 紅外傳感器模塊的項(xiàng)目
以前我們已經(jīng)使用這個(gè)紅外傳感器來(lái)構(gòu)建許多有趣的項(xiàng)目。如果您想了解有關(guān)這些主題的更多信息,請(qǐng)?jiān)谙旅嫣峁╂溄印?/p>
自動(dòng)瓶灌裝系統(tǒng)
使用Arduino和現(xiàn)成的材料構(gòu)建您自己的簡(jiǎn)單高效的瓶子灌裝機(jī),可用于在聚會(huì)上倒飲料,或者如果您必須在一天內(nèi)填充許多瓶子,該設(shè)備可以成為救星。
基于 ESP8266 節(jié)點(diǎn)MCU 的智能停車系統(tǒng)
如果您在當(dāng)?shù)鼗蚬⒂龅酵\噯?wèn)題,您可以構(gòu)建這個(gè)簡(jiǎn)單的基于物聯(lián)網(wǎng)的智能停車系統(tǒng),該系統(tǒng)使用紅外傳感器打開(kāi)大門并通過(guò)互聯(lián)網(wǎng)將您更新到您的手機(jī)。
Arduino UNO線路跟隨機(jī)器人
如果您是初學(xué)者并且想要構(gòu)建汽車機(jī)器人,那么這對(duì)您來(lái)說(shuō)可能是一個(gè)良好的開(kāi)端,因?yàn)樗褂靡子谑褂玫牧慵徒M件。
使用Arduino的紅外控制直流電機(jī)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-419956.html
如果您是初學(xué)者并正在尋找簡(jiǎn)單的項(xiàng)目,那么這個(gè)項(xiàng)目對(duì)您來(lái)說(shuō)可能是一個(gè)不錯(cuò)的選擇,因?yàn)樗褂眉t外傳感器電機(jī)和繼電器在您站在風(fēng)扇前時(shí)打開(kāi)風(fēng)扇。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-419956.html
代碼
// Arduino IR Sensor Code
int IRSensor = 9; // connect ir sensor module to Arduino pin 9
int LED = 13; // conect LED to Arduino pin 13
void setup() {
Serial.begin(9600); // Init Serila at 115200 Baud
Serial.println("Serial Working"); // Test to check if serial is working or not
pinMode(IRSensor, INPUT); // IR Sensor pin INPUT
pinMode(LED, OUTPUT); // LED Pin Output
}
void loop() {
int sensorStatus = digitalRead(IRSensor); // Set the GPIO as Input
if (sensorStatus == 1) // Check if the pin high or not
{
// if the pin is high turn off the onboard Led
digitalWrite(LED, LOW); // LED LOW
Serial.println("Motion Ended!"); // print Motion Detected! on the serial monitor window
} else {
//else turn on the onboard LED
digitalWrite(LED, HIGH); // LED High
Serial.println("Motion Detected!"); // print Motion Ended! on the serial monitor window
}
}
到了這里,關(guān)于紅外傳感器模塊與 Arduino 連接的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!