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