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

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

3天內(nèi)不再提示

怎樣使用Arduino控制電視

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2019-10-31 17:21 ? 次閱讀

步驟1:準(zhǔn)備接收信號

怎樣使用Arduino控制電視

首先,您需要獲得簡介中提到的IR LED接收器

您可以在這里獲得一個(gè):http://www.adafruit.com/products/157

它們的價(jià)格為2美元,不包括運(yùn)輸和處理費(fèi)用。

因此,您要按照第一個(gè)方法連接接收器。圖片。

我強(qiáng)烈建議將IR接收器和遙控器放在鞋盒或較暗的物品中(當(dāng)然是同一鞋盒)。這樣可以確保干擾最少,并且代碼更清晰,因此您不必為一項(xiàng)簡單的任務(wù)就對Arduino進(jìn)行12次編程。另外,請確保您不妨礙人們看電視。

并且要下載名為IR_RECORD.PDE的文件并將其打開到Arduino程序中。

我希望使用USB電纜將Arduino插入您已經(jīng)執(zhí)行第2步!

第2步:接收信號

因此您要將程序上傳到您的您已在最后一步中下載了Arduino。

您要正確連接IR接收器。

一切都正確設(shè)置后,Arduino便已打開并連接到計(jì)算機(jī)。單擊Arduino程序中的按鈕(如圖中所圈出的按鈕),打開串行監(jiān)視器。一旦啟動(dòng)并運(yùn)行。您需要找到一個(gè)您想用來控制某物的遙控器。我的意思是:

-查找要控制的遙控器

-將其指向接收器

-按下您想要一次獲得代碼的按鈕

串行監(jiān)視器

-將整個(gè)代碼粘貼到記事本或?qū)懽职逯?進(jìn)行第3步

第3步:解釋信號

您將得到一堆數(shù)字,后跟“ usecs”或“ usec”。

請確保已將所需的信號復(fù)制到了一個(gè)字墊中,以方便參考。像這樣:

500usec,300usec

600usec,1200usec

但是會(huì)有更多的數(shù)字。

現(xiàn)在在程序中,您會(huì)看到很多次: br》

delayMicroseconds();

pulseIR();

您要獲取第一個(gè)數(shù)字并將其放在delayMicroseconds(“ here”)括號中。 value

并且您要從與delayMicroseconds()之一相同的行中獲取第二個(gè)數(shù)字;值并將其放在pulseIR()的括號中;值。

示例:

說要在串行監(jiān)視器上獲取此值:

OFF ON

1660 usec,580 usec

1640 usec,560 usec

要輸入相應(yīng)的值

例如:

delayMicroseconds(1660);

pulseIR(580);

delayMicroseconds(1640);

pulseIR(560);

這太可惡了容易。

一旦獲得所需的代碼,請?jiān)贏rduino程序中打開IR_SEND.pde文件,然后將您從串行監(jiān)視器獲得的值放在括號之間,方法與我向您展示的方法相同。

下一步將顯示我如何使用Comcast遙控器進(jìn)行此操作的示例。

步驟4:發(fā)送信號

現(xiàn)在,一旦有了所需的代碼,并用您要發(fā)送的信號上載了程序,您要做的就是將IR LED掛接到針腳13,然后類似于圖中的示意圖接地。圖片。如果您有Duemilanove Arduino,則不需要電阻,因?yàn)樗哂杏糜?a href="http://www.wenjunhu.com/tags/pi/" target="_blank">PIN 13的內(nèi)置電阻,因此您不必?fù)?dān)心。

這也可以通過ATTINY 8引腳微控制器來實(shí)現(xiàn)尺寸。我有一個(gè),但我不確定如何使用它。

現(xiàn)在,我將向您展示如何執(zhí)行此操作的真實(shí)示例。

再次,這不是我的密碼,我只是復(fù)制并粘貼以便于理解。

所以當(dāng)我按下Comcast遙控器上的頻道向上按鈕時(shí),我得到了這段代碼。如果您有使用小型黑色遙控器的小型黑匣子,則將擁有這種遙控器。它們充當(dāng)只能轉(zhuǎn)換通道的模數(shù)轉(zhuǎn)換器盒。

這是串行監(jiān)視器代碼:

已接收:

OFF ON 《363》 usec,280 usec

820 usec,300 usec

1580 usec,320 usec

640 usec,240 usec

2740 usec,240 usec 《1280》 1280 usec,240 usec 《12》 usec,240 usec

1120 usec,240 usec

2600usec,240usec

12740usec,240usec

840usec,240usec 《980》 980usec,240usec 《700》 700usec,240usec

700usec,240usec

720 usec,240 usec

2460 usec,260 usec

700 usec,240 usec

700 usec,240 usec

14904 usec,260 usec

820 usec,240 usec

1660 usec ,240 USEC

700 USEC,260 USEC

2740 USEC,240 USEC

1240 USEC,240 USEC

1260 USEC,240 USEC 1100 USEC,240 USEC 《26》 2620,240 USEC usec

12720 usec,260 usec

840 usec,220 usec 《20》 usec,240 usec

1780 usec,260 usec 《700》 c,240 usec

700 usec,240 usec

2480 usec,240 usec

700 usec,240 usec

700 usec,240 usec

這是我從原始數(shù)據(jù)中編寫的代碼通過將代碼放入以下代碼即可:

//此草圖將每隔十秒鐘更改一次頻道,以便您可以在看電視的同時(shí)做其他事情

//而不必更改頻道,例如在筆記本電腦

//眾所周知,按下按鈕是如此困難,所以為什么不使其自動(dòng)化呢?

int IRledPin = 13;//連接到數(shù)字引腳13的LED

//當(dāng)草圖開始時(shí),setup()方法運(yùn)行一次

void setup(){

//將IR數(shù)字引腳初始化為輸出:

pinMode(IRledPin,OUTPUT);

Serial.begin(9600);

}

無效循環(huán)()

{

SendChannelUpCode();

delay(20 * 1000);//等待二十秒(20秒* 1000毫秒),以不同的時(shí)間間隔更改此值。

}

//此過程向IRledPin

//發(fā)送38KHz脈沖一定的微秒數(shù)。每當(dāng)需要發(fā)送代碼時(shí),我們都會(huì)使用此方法。

void pulseIR(long microsecs){

//我們將從等待等待的微秒數(shù)開始倒數(shù)

cli();//關(guān)閉所有后臺(tái)中斷,而(microsecs》 0){

//38 kHz大約高13微秒,而低13微秒

digitalWrite(IRledPin,HIGH);//這大約需要3微秒的時(shí)間

delayMicroseconds(10);//閑逛10微秒

digitalWrite(IRledPin,LOW);//這也需要大約3微秒

delayMicroseconds(10);//閑逛10微秒

//所以總共26微秒

微秒-= 26;

}

sei();////將它們重新打開

}

void SendChannelUpCode(){

//這是CHANNEL +的代碼,用于電視COMCAST

delayMicroseconds(36328);//Time off(LEFT column)

pulseIR(280);//打開時(shí)間(RIGHT列)《-------請勿將這些UP

delayMicroseconds(820);

pulseIR(300);

delayMicroseconds(1580);

pulseIR( 320);

delayMicroseconds(640);

pulseIR(240);

delayMicroseconds(1280);

pulseIR(240);

delayMicroseconds(1240);

pulseIR(240) ;

delayMicroseconds(1120);

pulseIR(240);

delayMicroseconds(2600);

pulseIR(240);

delayMicroseconds(12740);

pulseIR(240);

delayMicroseconds(840);

pulseIR(240);

delayMicroseconds(980);

pulseIR(240);

delayMicroseconds(700);

pulseIR(240);

delayMicroseconds(700);

pulseIR(240);

delayMicroseconds(720);

pulseIR(240);

delayMicroseconds(2460);

pulseIR(240);

delayMicroseconds( 700);

pulseIR(240);

delayMicroseconds(700);

pulseIR(240);

delayMicroseconds(14904);

pulseIR(240);

delayMicroseconds(820) ;

pulseIR(240);

delayMicroseconds(1600);

pulseIR(240);

delayMicroseconds(700);

pulseIR(260);

delayMicrose conds(2740);

pulseIR(240);

delayMicroseconds(1240);

pulseIR(240);

delayMicroseconds(1260);

pulseIR(240);

delayMicroseconds( 1100);

pulseIR(240);

delayMicroseconds(2620);

pulseIR(240);

delayMicroseconds(12720);

pulseIR(260);

delayMicroseconds(840) ;

pulseIR(220);

delayMicroseconds(2080);

pulseIR(240);

delayMicroseconds(1780);

pulseIR(260);

delayMicroseconds(700);

pulseIR(240);

delayMicroseconds(700);

pulseIR(240);

delayMicroseconds(2480);

pulseIR(240);

delayMicroseconds(700);

pulseIR(240);

delayMicroseconds(700);

pulseIR(240);

}

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 電視
    +關(guān)注

    關(guān)注

    15

    文章

    2492

    瀏覽量

    75852
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6475

    瀏覽量

    187473
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用Arduino實(shí)現(xiàn)CAN總線通信呢

    CAN(Controller Area Network)總線是一種常用于汽車和工業(yè)控制系統(tǒng)的串行通信協(xié)議,以其高可靠性和實(shí)時(shí)性而聞名。Arduino,作為一種流行的開源微控制器平臺(tái),可以通過附加
    的頭像 發(fā)表于 12-23 09:06 ?371次閱讀

    stm32與Arduino的比較

    在微控制器的世界里,STM32和Arduino是兩個(gè)經(jīng)常被提及的名字。STM32是一系列由STMicroelectronics生產(chǎn)的高性能微控制器,而Arduino則是一個(gè)開源電子原型
    的頭像 發(fā)表于 11-19 15:45 ?1371次閱讀

    如何使用Arduino實(shí)現(xiàn)CAN總線通信

    CAN總線(Controller Area Network)是一種多主控制的串行通信協(xié)議,廣泛應(yīng)用于汽車電子、工業(yè)自動(dòng)化等領(lǐng)域。它以其高可靠性、實(shí)時(shí)性和靈活性而受到青睞。Arduino作為一個(gè)
    的頭像 發(fā)表于 11-12 10:09 ?1214次閱讀

    怎樣Arduino測試鋰電池容量

    本文詳細(xì)介紹了如何用Arduino測量鋰電池的容量。并附有電路圖和Arduino的程序代碼。
    的頭像 發(fā)表于 07-30 09:14 ?977次閱讀
    <b class='flag-5'>怎樣</b>用<b class='flag-5'>Arduino</b>測試鋰電池容量

    ESP32使用Arduino啟用藍(lán)牙后編譯固件過大,怎樣縮減大小呢?

    ESP32使用Arduino啟用藍(lán)牙后編譯固件過大,怎樣縮減大小,日志級別已經(jīng)最低了,分區(qū)不能動(dòng),已經(jīng)是1.9M的OTA分區(qū)配置了,怎樣還能縮減大小,藍(lán)牙功能能否裁剪
    發(fā)表于 06-28 11:27

    Arduino怎樣配置LVGL8.1.0訪問spiffs里面的字庫或圖片?

    抱歉把Arduino的內(nèi)容發(fā)在這個(gè)版塊了. 在Arduino的示例中LITTLEFS_test.ino SPIFFS_Test.ino FFat_Test.ino已經(jīng)測試成功, 并且使用ESP32
    發(fā)表于 06-19 06:15

    使用idf.py命令方式編譯,怎樣才能編譯arduino的庫,并且在項(xiàng)目中可調(diào)用?

    在編譯過程中,提示找不到對應(yīng)的頭文件。 請問使用idf.py命令方式編譯,怎樣才能編譯arduino的庫,并且在項(xiàng)目中可調(diào)用。
    發(fā)表于 06-13 06:56

    求助,在esp-idf中使用arduino作為組件后怎樣使用arduino的庫?

    在esp-idf中使用arduino作為組件后怎樣使用arduino的庫,例如我此時(shí)需要使用arduino的第三方庫blinker,怎樣使用
    發(fā)表于 06-12 07:21

    開源DIY!用 ESP32 制造迷你復(fù)古小電視

    MAKER :陳亮 這款迷你的復(fù)古電視機(jī)非常的小巧可愛,它會(huì)不會(huì)成為你的桌擺新寵呢!它無法接收模擬電視廣播信號,但是它可以通過微型 SD 卡播放錄像帶。你可以多準(zhǔn)備幾套 SD 卡來播放你喜歡的節(jié)目
    發(fā)表于 05-27 11:01

    arduino控制步進(jìn)電機(jī)代碼

    Arduino是一種開放源代碼的電路板平臺(tái),它可以用于控制各種不同的電子設(shè)備,包括步進(jìn)電機(jī)。步進(jìn)電機(jī)是一種電動(dòng)機(jī),可以通過下達(dá)特定的指令來控制每個(gè)步進(jìn)的角度,從而使電機(jī)旋轉(zhuǎn)到指定的位置。在本文
    的頭像 發(fā)表于 02-14 16:29 ?2117次閱讀

    arduino中while循環(huán)怎么跳出

    執(zhí)行某段代碼的情況。然而,如何在合適的時(shí)機(jī)跳出 while 循環(huán)是一個(gè)需要注意的問題。本文將詳細(xì)介紹 Arduino 中 while 循環(huán)的基本概念,以及如何使用不同的技巧跳出該循環(huán)來實(shí)現(xiàn)代碼的靈活控制
    的頭像 發(fā)表于 02-14 16:22 ?2669次閱讀

    如何使用Arduino控制RGB LED

    在本指南中,您將學(xué)習(xí)如何使用Arduino控制RGB LED。RGB(紅-綠-藍(lán))LED可以通過混合不同強(qiáng)度的紅、綠、藍(lán)光來產(chǎn)生多種顏色。您將學(xué)習(xí)創(chuàng)建一個(gè)基本Arduino RGB LED電路,并以一些基本顏色為例循環(huán)。
    的頭像 發(fā)表于 02-11 10:28 ?5124次閱讀
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>RGB LED

    如何使用Arduino UNO板和電位器控制伺服電機(jī)

    在本Arduino伺服電機(jī)教程中,您將學(xué)習(xí)如何使用Arduino UNO板和電位器控制伺服電機(jī)。
    的頭像 發(fā)表于 02-11 10:11 ?2918次閱讀
    如何使用<b class='flag-5'>Arduino</b> UNO板和電位器<b class='flag-5'>控制</b>伺服電機(jī)

    如何設(shè)置Arduino IR發(fā)射器電路

    在本指南中,您將學(xué)習(xí)如何設(shè)置 Arduino IR發(fā)射器電路。它使您可以控制IR(紅外線)LED,并從Arduino發(fā)送任何遠(yuǎn)程控制代碼。這意味著你可以用它來
    的頭像 發(fā)表于 02-11 09:44 ?884次閱讀
    如何設(shè)置<b class='flag-5'>Arduino</b> IR發(fā)射器電路

    如何使用arduino控制接觸器?

    我將避免鉛酸電池過載。我想通過使用近 30A 的接觸器和 arduino uno 板來控制電池過載。如何使用arduino控制接觸器?
    發(fā)表于 01-22 07:14