99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>如何使用任何遙控器控制LED的亮度

如何使用任何遙控器控制LED的亮度

2022-12-13 | zip | 0.29 MB | 次下載 | 免費(fèi)

資料介紹

描述

關(guān)于這個(gè)項(xiàng)目

這個(gè)項(xiàng)目,您學(xué)習(xí)如何使用任何遙控控制LED亮度

1 步:需要什么

對(duì)于教程,您需要:

  • 阿杜諾_
  • 跳線
  • 面包板

第2電路

controllingbrightnesswithir_bb_IjvGGedNPg.png?auto=compress%2Cformat&w=740&h=555&fit=max
?

如果您不知道 IR 接收器和發(fā)射器的工作原理,您可以單擊此鏈接此鏈接以了解有關(guān)它們的更多信息

大多數(shù)分線板上的引腳布局如下所示:

ir-receiver-breakout-board-pinout-diagram-186x300_ru18MCbd1r.png?auto=compress%2Cformat&w=740&h=555&fit=max
?

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

ir-receiver-stand-alone-pinout-diagram-157x300_HwL0XVdi7c.png?auto=compress%2Cformat&w=740&h=555&fit=max
?

圖片來(lái)源:https ://www.circuitbasics.com/arduino-ir-remote-receiver-tutorial/

第 3 步:代碼

這個(gè)怎么運(yùn)作

在查看代碼之前,我們首先需要了解遙控器的按鈕布局。首先你必須從這里下載 IRremote 庫(kù)要從ZIP 文件安裝庫(kù),打開 Arduino IDE,然后轉(zhuǎn)到 Sketch > Include Library > Add.ZIP Library,然后選擇你下載的 IRremote ZIP 文件當(dāng)你'重新完成上傳下面的代碼并打開串口監(jiān)視器(這也是一個(gè)很好的機(jī)會(huì)來(lái)看看你的引腳布局是否正確)

#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 庫(kù),我們需要?jiǎng)?chuàng)建一個(gè)名為irrecv并指定連接 IR 接收器的引腳號(hào)的對(duì)象(第 3 行)。這個(gè)對(duì)象負(fù)責(zé)協(xié)議和處理來(lái)自接收者的信息。

下一步我們創(chuàng)建一個(gè)resultsdecode_results類中調(diào)用的對(duì)象,該對(duì)象將使用該irrecv對(duì)象與我們的應(yīng)用程序共享解碼的信息(第 5 行)。

接下來(lái)我們創(chuàng)建變量來(lái)為我們的 LED 設(shè)置引腳 10 并存儲(chǔ)我們的亮度值,最后一個(gè)變量將在稍后解釋

void setup(){
 irrecv.enableIRIn();
 irrecv.blink13(true);
 pinMode(ledPin, OUTPUT);
}

在該void setup()塊中,首先我們?cè)O(shè)置串行監(jiān)視器波特率。接下來(lái),我們通過(guò)調(diào)用IRrecv成員函數(shù)enableIRIn()(第 10 行)啟動(dòng) IR 接收器。

每次接收器從遙控器收到信號(hào)時(shí),第 11 行的irrecv.blink13(true)功能將使 Arduino 的板載 LED 閃爍,這對(duì)于調(diào)試很有用。

pinMode(ledPin, OUTPUT) 函數(shù)將 ledPin(引腳 10)配置為輸出

void loop() {
 if (irrecv.decode(&results)){
.
.
.
.
.
.
    }
}

在該void loop()塊中,如果接收到代碼,該函數(shù)irrecv.decode將返回 true,并且程序?qū)?zhí)行 if 語(yǔ)句中的代碼。收到的代碼存儲(chǔ)在results.value.

if (results.value == 0XFFFFFFFF)
        results.value = key_value;
     .
     .
     .
     .
     .
key_value = results.value;

在上面的塊中,如果我們從遙控器接收到 0XFFFFFFFF,這意味著重復(fù)上一個(gè)鍵。因此,為了處理重復(fù)鍵模式,我們?cè)?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) PWM 的更多信息,請(qǐng)單擊此處此處

有關(guān) IRremote 的更多信息,請(qǐng)單擊此處

第四步:恭喜?。?!

你已經(jīng)成功地完成了這個(gè)項(xiàng)目。做得好!

我希望你喜歡這個(gè),如果你對(duì)如何制作我的代碼有任何建議,請(qǐng)?jiān)谠u(píng)論中告訴我。

謝謝你


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1DD3118電路圖紙資料
  2. 0.08 MB   |  1次下載  |  免費(fèi)
  3. 2AD庫(kù)封裝庫(kù)安裝教程
  4. 0.49 MB   |  1次下載  |  免費(fèi)
  5. 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
  6. 1.12 MB   |  1次下載  |  免費(fèi)
  7. 4網(wǎng)絡(luò)安全從業(yè)者入門指南
  8. 2.91 MB   |  1次下載  |  免費(fèi)
  9. 5DS-CS3A P00-CN-V3
  10. 618.05 KB  |  1次下載  |  免費(fèi)
  11. 6海川SM5701規(guī)格書
  12. 1.48 MB  |  次下載  |  免費(fèi)
  13. 7H20PR5電磁爐IGBT功率管規(guī)格書
  14. 1.68 MB   |  次下載  |  1 積分
  15. 8IP防護(hù)等級(jí)說(shuō)明
  16. 0.08 MB   |  次下載  |  免費(fèi)

本月

  1. 1貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說(shuō)明
  2. 0.50 MB   |  103次下載  |  1 積分
  3. 2涂鴉各WiFi模塊原理圖加PCB封裝
  4. 11.75 MB   |  89次下載  |  1 積分
  5. 3錦銳科技CA51F2 SDK開發(fā)包
  6. 24.06 MB   |  43次下載  |  1 積分
  7. 4錦銳CA51F005 SDK開發(fā)包
  8. 19.47 MB   |  19次下載  |  1 積分
  9. 5PCB的EMC設(shè)計(jì)指南
  10. 2.47 MB   |  16次下載  |  1 積分
  11. 6HC05藍(lán)牙原理圖加PCB
  12. 15.76 MB   |  13次下載  |  1 積分
  13. 7802.11_Wireless_Networks
  14. 4.17 MB   |  12次下載  |  免費(fèi)
  15. 8蘋果iphone 11電路原理圖
  16. 4.98 MB   |  6次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191390次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183342次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81588次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73815次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65989次下載  |  10 積分