寫程式47.jpg

💽影片名稱:[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 ]


[電路圖]

寫程式47 - 紅外線控制 接收篇 電路圖.png

▲ 腳位圖@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);
}

創作者介紹
創作者 Code Create++ 的頭像
程式創造++

Code Create++

程式創造++ 發表在 痞客邦 留言(0) 人氣( 0 )