簡(jiǎn)介
紅外遙控器是一種基于視線的無(wú)線通信設(shè)備,可與紅外接收器協(xié)同工作。您可以在幾乎所有主要電子設(shè)備中找到紅外遙控器和相應(yīng)的紅外接收器,如電視,空調(diào),電視盒,音頻播放器等等。
這個(gè)主要問(wèn)題設(shè)置是每個(gè)設(shè)備都有自己的紅外遙控器,你擁有的設(shè)備數(shù)量越多,遙控器堆就越大。
如果你有一個(gè)遙控器怎么辦?控制,如果不是所有大部分電器,可以控制?這個(gè)概念被稱為通用遙控器,它已經(jīng)在市場(chǎng)上存在。
為制造商和業(yè)余愛(ài)好者帶來(lái)相同的概念,使用Arduino的DIY通用遙控器在此開(kāi)發(fā)項(xiàng)目。使用Arduino構(gòu)建自己的通用遙控器的原因可以簡(jiǎn)單到用自己動(dòng)手構(gòu)建實(shí)際應(yīng)用程序的滿意度,或者可以繞過(guò)市場(chǎng)上已有的通用遙控器的成本。
使用Arduino的Universal Remote背后的原理
實(shí)現(xiàn)基于Arduino的通用遙控器的主要原則是非常簡(jiǎn)單。首先,使用電視等任何設(shè)備的現(xiàn)有遙控器,IR信號(hào)被解碼。
這些決定的信號(hào)然后在最終應(yīng)用中用于發(fā)射相應(yīng)的紅外線使用IR發(fā)射器LED的信號(hào)。
使用Arduino解碼IR信號(hào)
第一個(gè)邏輯步驟是解碼來(lái)自現(xiàn)有遙控器的所有紅外信號(hào)。我有索尼電視和Voltas AC。使用這兩個(gè)遙控器,我已經(jīng)解碼了電源,音量增大,音量減小,上一個(gè),下一個(gè),電視和電源,溫度上升,溫度下降,擺動(dòng),風(fēng)扇,渦輪增壓的基本按鈕。
在繼續(xù)這個(gè)之前,我建議你完成這個(gè)名為“ Arduino IR Receiver Tutorial ”的簡(jiǎn)單項(xiàng)目,在那里我討論了設(shè)置的所有重要方面帶有Arduino的IR接收器并對(duì)信號(hào)進(jìn)行解碼。
電路
目前,用于解碼電視的電路圖和AC Remote鍵如下所示,我使用了Arduino Nano和TSOP1740 IR接收器。
代碼
下面給出了解碼IR信號(hào)的代碼。
所有解碼后的信號(hào)都會(huì)出現(xiàn)在串口窗口。記下所有已解碼的值。
注意:此項(xiàng)目中使用名為“IRremote”的特殊庫(kù)。您可以使用Arduino IDE的庫(kù)管理器直接安裝它,并通過(guò)shirriff搜索IRremote或下載此 GitHub頁(yè)面的zip文件。
使用Arduino的通用遙控器電路
現(xiàn)在我們已經(jīng)解碼了原始遙控器的所有必要信號(hào),現(xiàn)在我們可以繼續(xù)實(shí)現(xiàn)通用遙控器的實(shí)際構(gòu)建使用Arduino。電路圖如下所示。
組件
Arduino Nano
紅外LED
按鈕x 8
CR2032電池x 2
CR2032電池座x 2
RGB LED x 1
10KΩ電阻x 2
連接線
Perf板
母頭條(適用于Arduino Nano)
首先,IR Led連接到數(shù)字IO引腳3.然后按鈕連接如下:
按鈕 Arduino數(shù)字IO引腳
權(quán)力4
模式5
向上6
向下7
左8
右9
選擇10
此外,還有一個(gè)喚醒按鈕連接到數(shù)字IO引腳2.數(shù)字IO引腳使用10KΩ電阻下拉,而所有其他按鈕引腳內(nèi)部上拉。所有按鈕的另一端(喚醒按鈕除外)都連接到GND。 Wakeup按鈕的另一端連接到VCC。
RGB LED用于指示所選的設(shè)備。這里使用的RGB LED有一個(gè)共陽(yáng)極端子,通過(guò)10KΩ電阻連接到VCC。 LED的R,G和B端分別連接到引腳11,12和13.
整個(gè)系統(tǒng)由幾個(gè)串聯(lián)的CR2032 3V鋰電池供電。
代碼
以下是使用Arduino的應(yīng)用程序Universal Remote的代碼。從以前收集的值中,將相應(yīng)的值放在代碼中為TC和AC提供的相應(yīng)數(shù)組中。
這些數(shù)組名為tv_onoff [],tv_volup [],tv_voldown [],tv_prev [],tv_next [],tv_source []用于電視相關(guān)數(shù)據(jù),ac_onoff [],ac_tempup [],ac_tempdown [],ac_swing [],ac_fan [],ac_turbo []用于AC。
注意:一個(gè)名為“LowPower”的附加庫(kù)用于在預(yù)設(shè)時(shí)間后讓Arduino進(jìn)入休眠狀態(tài)以節(jié)省電池電量。從此 GitHub頁(yè)面下載此庫(kù)。
工作
插入解碼后的值并將代碼上傳到Arduino Nano后,即可開(kāi)始將該應(yīng)用程序用作通用遙控器。首先,按模式按鈕選擇設(shè)備。我為電視分配了紅色LED,為AC分配了綠色LED。
因此,按模式按鈕可以選擇在電視和AC之間,Led充當(dāng)視覺(jué)指示器。設(shè)置模式后,您可以將遙控器用于該特定設(shè)備。如果在10秒內(nèi)未按任何鍵,LowPower庫(kù)將啟動(dòng)并使Arduino進(jìn)入休眠狀態(tài)。
使用喚醒按鈕喚醒Arduino。
結(jié)論
這里設(shè)計(jì)了一個(gè)簡(jiǎn)單但非常有用的DIY項(xiàng)目,名為使用Arduino Nano的通用遙控器。使用此應(yīng)用程序,您可以借助一個(gè)遙控器控制多個(gè)電子設(shè)備。
-
遙控器
+關(guān)注
關(guān)注
18文章
828瀏覽量
65775 -
Arduino
+關(guān)注
關(guān)注
187文章
6455瀏覽量
186351
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論