arduino筆記20 紅外遙控

2021-10-05 14:47:23 字數 3116 閱讀 3540

紅外led    紅外置收器   

紅外遙控的通訊協議     用到乙個庫:

arduino紅外置收器:   irrecvdemo

decode()庫函式用於判斷紅外置收器所接收到的紅外訊號是否可以被解析。

如可以成功解析,則返回非零數值。並將解析結果儲存於results中。

如無法成功解析,則返回零。

每一次解析完成,都需要呼叫resume()函式從而讓arduino開始準備接收下乙個紅外

遙控指令。

/*

* irrecvdemo-led

* ********************=功能說明********************=

* 演示如何利用arduino開發板接收紅外遙控器控制訊號,

* 並利用接受到的訊號遙控arduino開發板上的紅外led。

* arduino所接收到的紅外遙控器訊號內容也將通過串列埠監視器顯示出來。

* * 本程式基於ken shirriff開發的irremote庫。如需獲得該庫檔案

* (ken shirriff個人部落格)

* (太極創客官網)

* * ********************=電路連線********************==

* 紅外置收器 1838b out 引腳 --- arduino uno 11 引腳

* 紅外置收器 1838b vcc 引腳 --- arduino uno +5v 引腳

* 紅外置收器 1838b gnd 引腳 --- arduino uno gnd 引腳

*

* 如需獲得詳細電路連線說明圖,請參閱太極創客**:

* * * 此示例程式為配合太極創客製作的

* 《零基礎入門學用arduino教程-智慧型應用篇》使用

* */

#include #define recv_pin 11

irrecv irrecv(recv_pin); // 紅外遙控初始化

decode_results results; // 定義乙個變數,來儲存接收到的紅外遙控資訊

void setup()

void loop()

if(results.value == 0xf740bf) //如果控制資訊數值為f740bf

irrecv.resume(); // 恢復接收下乙個紅外遙控訊號

} delay(100);

}

&   指標,     hex  十六進製制資訊,,

0x    十六進製制。

發射紅外遙控訊號:

紅外led方向性

最遠2—3公尺,,,

配限流電阻。

/*

* irsenddemo

* * ********************=功能說明********************=

* 利用arduino開發板發射紅外控制訊號

* * 本程式基於ken shirriff開發的irremote庫。如需獲得該庫檔案

* (ken shirriff個人部落格)

* (太極創客官網)

* * ********************=電路連線********************==

* 紅外發射 led 正極 --- arduino uno 引腳 3

* 紅外發射 led 負極 --- arduino uno 引腳 gnd

*

* 如需獲得詳細電路連線說明圖,請參閱太極創客**:

* * * 此示例程式為配合太極創客製作的

* 《零基礎入門學用arduino教程-智慧型應用篇》使用

* */

#include irsend irsend;

void setup()

void loop()

/**

* irremote庫支援nec, sony, philips rc5, philips rc6等協議指令。

* 本示例程式中arduino將通過呼叫函式sendsony(0xa90, 12) 來發射sony協議指令。

* 該函式的兩個引數中, 0xa90為指令資訊內容,12位指令資訊位數。

* * 假如需要發射nec協議指令則可以呼叫函式sendnec(0xf7c03f, 32)。

* 其中0xf740bf為指令資訊內容,32位指令資訊位數。

* * sendnec(unsigned long data, int nbits); //發射nec協議指令

* sendsony(unsigned long data, int nbits); //發射sony協議指令

* void sendrc5(unsigned long data, int nbits); //發射philips rc5協議指令

* void sendrc6(unsigned long data, int nbits); //發射philips rc6協議指令

* void sendsharp(unsigned long data, int nbits); //發射sharp協議指令

* void sendpanasonic(unsigned int address, unsigned long data); //發射panasonic協議指令

* void sendjvc(unsigned long data, int nbits, int repeat); //發射jvc協議指令

* void sendraw(unsigned int buf, int len, int hz); //發射原始指令

*/delay(5000); //延遲5秒

}

ws281led        

led燈帶

每個燈珠需要60ma

免焊接頭

arduino上面+5v引腳可以作為電源輸入/輸出。

使用第三方庫   fastled   控制led光帶。

arduino 紅外遙控小車

當你按下手中的紅外遙控器時,小車就會按照預先的程式,前進 後退 左轉 右轉,是不是很神奇呢?下面是我的程式 include int recv pin 7 int pinlb 14 int pinlf 15 int pinrb 16 int pinrf 17 long advence 0x00ff62...

基於ROS使用Arduino讀取紅外遙控的輸入

arduino控制板 1個 遙控器 1個 紅外置收頭 1個 杜邦線 若干 紅外置收頭有三個引腳如下圖 用的時候將 vout 接到模擬口 11 gnd接到實驗板上的 gnd,vcc 接到實驗板上的 5v。來張實際的 略麻煩 首先 roscore 其次 rosrun rosserial python s...

Arduino 紅外遙控 第一次試驗

小學期第三天 上午實驗內容 體驗紅外遙控 學習帖子 實驗器材 紅外置收器sv18383 uno主機板 跳線 麵包板 資料線 電路圖 試驗中使用irremote庫。irremote的幫助文件 實驗 include 使用irremote函式庫 const int irreceiverpin 2 紅外置收...