《Arduino零基礎(chǔ)C語言編程》課件-ch5-5. 9 遙控燈-紅外接收傳感器_第1頁
《Arduino零基礎(chǔ)C語言編程》課件-ch5-5. 9 遙控燈-紅外接收傳感器_第2頁
《Arduino零基礎(chǔ)C語言編程》課件-ch5-5. 9 遙控燈-紅外接收傳感器_第3頁
《Arduino零基礎(chǔ)C語言編程》課件-ch5-5. 9 遙控燈-紅外接收傳感器_第4頁
《Arduino零基礎(chǔ)C語言編程》課件-ch5-5. 9 遙控燈-紅外接收傳感器_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

5.

9遙控燈—紅外接收傳感器我們知道家里的那些遙控器,不管是電視還是空調(diào)都是通過紅外來控制的。本節(jié)通過紅外做個遙控燈,設(shè)定遙控器的“紅色電源鍵”來控制LED的開關(guān),當然學完這一節(jié)后,也可以用其他的按鈕來代替。在開始遙控燈之前,先來個預(yù)備實驗,通過串口來了解下如何使用紅外接收管和遙控器。預(yù)備實驗:

所需材料

1×數(shù)字紅外接收模塊

1×Mini遙控器

2025/2/7Arduino零基礎(chǔ)C語言編程15.

9遙控燈—紅外接收傳感器硬件連接數(shù)字紅外接收模塊->數(shù)字口

10輸入代碼這段代碼,可以不用自己手動輸入,利用現(xiàn)成的IRremote庫,把整個庫的壓縮包解壓到ArduinoIDE安裝位置Arduino1.0.5/libraries文件夾中。如下圖所示。直接運行Example中的IRrecvDemo代碼即可。

2025/2/7Arduino零基礎(chǔ)C語言編程25.

9遙控燈—紅外接收傳感器樣例代碼9-1://這段代碼來自IRremote庫中examples中的IRrecvDemo//紅外接收管#include<IRremote.h> //調(diào)用IRremote.h庫intRECV_PIN=10; //定義RECV_PIN變量為10IRrecvirrecv(RECV_PIN);//設(shè)置RECV_PIN(也就是11引腳)為紅外接收端decode_resultsresults;//定義results變量為紅外結(jié)果存放位置voidsetup(){//串口波特率設(shè)為9600//啟動紅外解碼Serial.begin(9600);irrecv.enableIRIn();}voidloop(){//是否接收到解碼數(shù)據(jù),把接收到的數(shù)據(jù)存儲在變量results中if(irrecv.decode(&results)){//接收到的數(shù)據(jù)以16進制的方式在串口輸出Serial.println(results.value,HEX);irrecv.resume();//繼續(xù)等待接收下一組信號}}2025/2/7Arduino零基礎(chǔ)C語言編程35.

9遙控燈—紅外接收傳感器下載完成后,打開ArduinoIDE的串口監(jiān)視器(SerialMonitor),設(shè)置波特率

baud為

9600,與代碼中Serial.begin(9600)相匹配。

設(shè)置完后,用Mini遙控器的按鈕對著紅外接收管的方向,任意按個按鈕,都能在串口監(jiān)視器上看到相對應(yīng)的代碼。如下圖所示,按數(shù)字“0”,接收到對應(yīng)16進制的代碼是FD30CF。每個按鈕都有一個特定的16進制的代碼。

如果按住常按一個鍵不放就是出現(xiàn)“FFFFFFFF”。在串口中,正確接收的話,應(yīng)該收到以FD-開頭的六位數(shù)。如果遙控器沒有對準紅外接收管的話,可能會接收到錯誤的代碼。2025/2/7Arduino零基礎(chǔ)C語言編程45.

9遙控燈—紅外接收傳感器遙控燈所需材料

1× 數(shù)字食人魚紅色LED發(fā)光模塊

1× 數(shù)字紅外接收模塊

1× Mini遙控器

2025/2/7Arduino零基礎(chǔ)C語言編程55.

9遙控燈—紅外接收傳感器硬件連接其實就是在原有的基礎(chǔ)上,加了個LED,LED使用的是數(shù)字引腳10。紅外接收管仍然接的是數(shù)字引腳3。

2025/2/7Arduino零基礎(chǔ)C語言編程65.

9遙控燈—紅外接收傳感器輸入代碼

2025/2/7Arduino零基礎(chǔ)C語言編程7樣例代碼9-2:

#include<IRremote.h>intRECV_PIN=10;intledPin=3;booleanledState=LOW;IRrecvirrecv(RECV_PIN);decode_resultsresults;voidsetup(){

Serial.begin(9600);

irrecv.enableIRIn();

pinMode(ledPin,OUTPUT); //設(shè)置LED為輸出狀態(tài)

}voidloop(){

if(irrecv.decode(&results)){Serial.println(results.value,HEX);

//一旦接收到電源鍵的代碼,LED翻轉(zhuǎn)狀態(tài),HIGH變LOW,或者LOW變HIGH

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論