資料介紹
描述
關(guān)于這個(gè)項(xiàng)目
在這個(gè)項(xiàng)目中,您將學(xué)習(xí)如何使用任何遙控器控制LED的亮度
第1 步:您需要什么
對于本教程,您需要:
- 阿杜諾_
- 221歐姆電阻
- 跳線
- 面包板
- 發(fā)光二極管
第2步:電路

如果您不知道 IR 接收器和發(fā)射器的工作原理,您可以單擊此鏈接或此鏈接以了解有關(guān)它們的更多信息
大多數(shù)分線板上的引腳布局如下所示:

大多數(shù)獨(dú)立二極管的引腳布局是這樣的:

圖片來源:https ://www.circuitbasics.com/arduino-ir-remote-receiver-tutorial/
第 3 步:代碼
這個(gè)怎么運(yùn)作
在查看代碼之前,我們首先需要了解遙控器的按鈕布局。首先你必須從這里下載 IRremote 庫要從ZIP 文件安裝庫,打開 Arduino IDE,然后轉(zhuǎn)到 Sketch > Include Library > Add.ZIP Library,然后選擇你下載的 IRremote ZIP 文件當(dāng)你'重新完成上傳下面的代碼并打開串口監(jiān)視器(這也是一個(gè)很好的機(jī)會(huì)來看看你的引腳布局是否正確)
#include
const int RECV_PIN = 8;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup(){
Serial.begin(9600);
irrecv.enableIRIn();
irrecv.blink13(true);
}
void loop(){
if (irrecv.decode(&results)){
Serial.println(results.value, HEX);
irrecv.resume();
}
}
Ifnothingseemstobehappening(當(dāng)您按下按鈕時(shí),Arduino 上的 LED 不閃爍)檢查您的引腳布局,您可能已將 Vcc 與 S 交換
您可以繪制出遙控器的每個(gè)按鈕并將其保存在 txt 文件中以供以后參考。
注意:當(dāng)您連續(xù)按住按鈕時(shí),串行監(jiān)視器將打印 0XFFFFFFFF
現(xiàn)在您知道了遙控器的按鈕布局,讓我們一點(diǎn)一點(diǎn)地查看代碼
#include
const int RECV_PIN = 7;
IRrecv irrecv(RECV_PIN);
decode_results results;
const int ledPin = 10;
int brightness=0;
unsigned long key_value = 0;
要使用 IRremote 庫,我們需要?jiǎng)?chuàng)建一個(gè)名為irrecv并指定連接 IR 接收器的引腳號的對象(第 3 行)。這個(gè)對象負(fù)責(zé)協(xié)議和處理來自接收者的信息。
下一步我們創(chuàng)建一個(gè)results從decode_results類中調(diào)用的對象,該對象將使用該irrecv對象與我們的應(yīng)用程序共享解碼的信息(第 5 行)。
接下來我們創(chuàng)建變量來為我們的 LED 設(shè)置引腳 10 并存儲(chǔ)我們的亮度值,最后一個(gè)變量將在稍后解釋
void setup(){
irrecv.enableIRIn();
irrecv.blink13(true);
pinMode(ledPin, OUTPUT);
}
在該void setup()塊中,首先我們設(shè)置串行監(jiān)視器波特率。接下來,我們通過調(diào)用IRrecv成員函數(shù)enableIRIn()(第 10 行)啟動(dòng) IR 接收器。
每次接收器從遙控器收到信號時(shí),第 11 行的irrecv.blink13(true)功能將使 Arduino 的板載 LED 閃爍,這對于調(diào)試很有用。
pinMode(ledPin, OUTPUT) 函數(shù)將 ledPin(引腳 10)配置為輸出
void loop() {
if (irrecv.decode(&results)){
.
.
.
.
.
.
}
}
在該void loop()塊中,如果接收到代碼,該函數(shù)irrecv.decode將返回 true,并且程序?qū)?zhí)行 if 語句中的代碼。收到的代碼存儲(chǔ)在results.value.
if (results.value == 0XFFFFFFFF)
results.value = key_value;
.
.
.
.
.
key_value = results.value;
在上面的塊中,如果我們從遙控器接收到 0XFFFFFFFF,這意味著重復(fù)上一個(gè)鍵。因此,為了處理重復(fù)鍵模式,我們在 key_value每次接收到代碼時(shí)將十六進(jìn)制代碼存儲(chǔ)在一個(gè)全局變量中:
key_value = results.value;
當(dāng)您收到重復(fù)模式時(shí),之前存儲(chǔ)的值將用作當(dāng)前按鍵。
if(results.value==0xF076C13B){
brightness-=5;
if (brightness<0){brightness=0;}
}
else if(results.value==0xA3C8EDDB){
brightness+=5;
if (brightness>255){brightness=255;}
}
Theifconditionchecksifthebuttonpressedisa+or-(您的十六進(jìn)制代碼可能會(huì)有所不同,具體取決于您的遙控器和接收器)并增加或減少亮度值。下一個(gè)條件將亮度值限制在 0 和 255 之間
irrecv.resume();
irrecv.resume()isused重置接收器并準(zhǔn)備接收下一個(gè)代碼。
brightnessControl(brightness);
這一行調(diào)用了brightnessControl() 函數(shù)并傳入我們的亮度的當(dāng)前值作為它的參數(shù)。
void brightnessControl(int value){
analogWrite(ledPin,value);
}
brightControl() 方法接受一個(gè)整數(shù)作為參數(shù),并使用 PWM 設(shè)置我們的 LED 的亮度
有關(guān) IRremote 的更多信息,請單擊此處
第四步:恭喜?。。?/font>
你已經(jīng)成功地完成了這個(gè)項(xiàng)目。做得好!
我希望你喜歡這個(gè),如果你對如何制作我的代碼有任何建議,請?jiān)谠u論中告訴我。
謝謝你
- 如何使用遙控器控制TI-RSLK
- 通過遙控器打開/關(guān)閉LED
- 使用IR遙控器控制RGB LED
- 使用電視遙控器控制RGB LED的顏色
- 使用帶LED的紅外遙控器
- 使用Arduino解碼任何遙控器的紅外遙控信號
- 紅外遙控器編碼大全 87次下載
- 如何使用Alexa語音控制電視遙控器 11次下載
- 紅外遙控器控制電機(jī)轉(zhuǎn)動(dòng)的C語言程序免費(fèi)下載 8次下載
- 風(fēng)神遙控器正確拆卸方法步驟 15次下載
- 空調(diào)遙控器維修資料下載 19次下載
- 遙控器控制協(xié)議V1.4 4次下載
- 自制電腦紅外遙控器
- 微型遙控器電路圖
- 簡易實(shí)用的遙控器電路圖
- 遙控器解碼器怎么使用 4k次閱讀
- 萬能遙控器的設(shè)置和使用方法 2.6w次閱讀
- 通過PLC和遙控器實(shí)現(xiàn)搬運(yùn)平車的運(yùn)動(dòng)控制 4.3k次閱讀
- 如何構(gòu)建一個(gè)簡單的基于紅外的車門遙控器 2.4k次閱讀
- 如何創(chuàng)建基于MAXQ的“學(xué)習(xí)”遙控器 1.8k次閱讀
- 遙控器的組成 1.5w次閱讀
- 基于語音專用芯片UniSpeech和39VF080存儲(chǔ)器實(shí)現(xiàn)DVD/TV遙控器的設(shè)計(jì) 3.6k次閱讀
- fireflyAIO-3288J紅外遙控器介紹 2.3k次閱讀
- fireflyAIO-3288C主板紅外遙控器簡介 2.2k次閱讀
- 沁恒股份藍(lán)牙智能遙控器方案概述 5.3k次閱讀
- 一文弄懂工業(yè)無線遙控器是什么 1.6w次閱讀
- 帶你了解遙控器的發(fā)展歷史 1.9w次閱讀
- 一文弄懂無線遙控器 1w次閱讀
- 無人機(jī)遙控器的使用方法_遙控無人機(jī)操作日常 26.1w次閱讀
- 基于安卓手機(jī)wifi的智能遙控器設(shè)計(jì) 5.9k次閱讀
下載排行
本周
- 1新一代網(wǎng)絡(luò)可視化(NPB 2.0)
- 3.40 MB | 1次下載 | 免費(fèi)
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 1次下載 | 10 積分
- 3MDD品牌三極管MMBT3906數(shù)據(jù)手冊
- 2.33 MB | 次下載 | 免費(fèi)
- 4MDD品牌三極管S9012數(shù)據(jù)手冊
- 2.62 MB | 次下載 | 免費(fèi)
- 5LAT1218 如何選擇和設(shè)置外部晶體適配 BlueNRG-X
- 0.60 MB | 次下載 | 3 積分
- 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
- 0.89 MB | 次下載 | 3 積分
- 7收音環(huán)繞擴(kuò)音機(jī) AVR-1507手冊
- 2.50 MB | 次下載 | 免費(fèi)
- 8MS1000TA 超聲波測量模擬前端芯片技術(shù)手冊
- 0.60 MB | 次下載 | 免費(fèi)
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費(fèi)
- 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 23次下載 | 免費(fèi)
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費(fèi)
- 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
- 7100W準(zhǔn)諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
- 8FS8025B USB的PD和OC快充協(xié)議電壓誘騙控制器IC技術(shù)手冊
- 1.81 MB | 1次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論