
💽影片名稱:[Arduino寫程式] 第47集 - 紅外線控制 接收篇
🎬集數:47集💕若有問題歡迎在下方留言💬讓我知道~😋
🌐(前往YouTube觀看)-[ https://youtu.be/iJ5C039bM3Q?feature=shared ]
🌐(YouTube播放清單)-[ https://youtube.com/playlist?list=PLOrdAySpFIQonYKEWANFiVrICDQY8R0_1&feature=shared ]
🌐程式創造++ 頻道:[ https://www.youtube.com/@CCplus2561 ]🌐Arduino程式語法網頁:[ https://www.86duino.com/?page_id=2255&lang=TW ]
[電路圖]

▲ 腳位圖由 @CCplus2561 提供
[程式碼]
| EX01: 紅外線訊號轉為10進位 |
#include <IRremote.h> //紅外線函式庫
IRrecv irrecv(2); //紅外線腳位
decode_results IR; //宣告變數
void setup(){
Serial.begin(9600); //開啟序列附視窗.設定成9600
irrecv.enableIRIn(); //啟動紅外線解碼
}
void loop(){
if (irrecv.decode(&IR)) { //如果接收到紅外線訊號
Serial.print("接收代碼為:"); //顯示
Serial.print(IR.value); //與上面文字合併.以十進位顯示
Serial.print(",位元數:"); //顯示在同一行
Serial.println(IR.bits); //代入上一行並探測位元碼
irrecv.resume(); //繼續接收下一個紅外線訊號
}
}
|
| EX02: 紅外線訊號轉為2進位 |
#in#include <IRremote.h> //紅外線函式庫
IRrecv irrecv(2); //紅外線腳位
decode_results IR; //宣告變數
void setup(){
Serial.begin(9600); //開啟序列附視窗.設定成9600
irrecv.enableIRIn(); //啟動紅外線解碼
}
void loop(){
if (irrecv.decode(&IR)) { //如果接收到紅外線訊號
Serial.print("接收代碼為:"); //顯示
Serial.print(IR.value,BIN); //與上面文字合併.以十進位顯示
Serial.print(",位元數:"); //顯示在同一行
Serial.println(IR.bits); //代入上一行並探測位元碼
irrecv.resume(); //繼續接收下一個紅外線訊號
}
}
|
| EX03: 紅外線訊號轉為16進位 |
#include <IRremote.h> //紅外線函式庫
IRrecv irrecv(2); //紅外線腳位
decode_results IR; //宣告變數
void setup(){
Serial.begin(9600); //開啟序列附視窗.設定成9600
irrecv.enableIRIn(); //啟動紅外線解碼
}
void loop(){
if (irrecv.decode(&IR)) { //如果接收到紅外線訊號
Serial.print("接收代碼為:"); //顯示
Serial.print(IR.value,HEX); //與上面文字合併.以十進位顯示
Serial.print(",位元數:"); //顯示在同一行
Serial.println(IR.bits); //代入上一行並探測位元碼
irrecv.resume(); //繼續接收下一個紅外線訊號
}
}
|
| EX04: 紅外線訊號控制LED燈 |
#include <IRremote.h> //紅外線函式庫
IRrecv irrecv(2); //紅外線腳位
decode_results IR; //宣告變數
void setup(){
pinMode(3,OUTPUT); //宣告使用LED燈
Serial.begin(9600); //開啟序列附視窗.設定成9600
irrecv.enableIRIn(); //啟動紅外線解碼
}
void loop(){
if (irrecv.decode(&IR)) { //如果接收到紅外線訊號
if(IR.value == 16718055) { //如果讀取按鈕1執行
digitalWrite(3,1) //LED亮
}
if(IR.value == 16730805) { //如果讀取按鈕1執行
digitalWrite(3,0);} //LED暗
irrecv.resume(); //繼續接收下一個紅外線訊號
}
delay(200);
}
|
請先 登入 以發表留言。