資料介紹
描述
紅外遙控解碼器和切換器板
紅外遙控器無處不在。大多數家用電器都使用紅外遙控器進行控制。在這篇文章/視頻中,我們學習構建一個可以解碼(幾乎)任何紅外遙控器并使用指令來切換繼電器(負載)的設備。因此,我們可以在各種應用中使用此功能,而無需購買新的紅外遙控器和昂貴的硬件,例如打開/關閉燈、打開/關閉窗簾等。我使用了 ATTiny85 微控制器作為電路的心臟。該設備最多可在 EEPROM 存儲器中記錄三個 IR 代碼并切換 3 個單獨的設備。每個繼電器可以處理高達 10A 的電流。負載切換機制(瞬時開/關、切換等)可由用戶編程。
我使用 Altium Designer 21.4.1 和 SamacSys 組件庫 (SamacSys Altium Plugin) 來設計原理圖和 PCB。我還使用了 Siglent SDS2102X Plus/SDS1104X-E 來分析 IR 信號。?
該設備工作穩定,對傳輸的紅外信號反應良好。所以讓我們開始建造這只小狗吧!
A. 電路分析
圖 1 顯示了該裝置的示意圖。很明顯,解碼和切換任務都是由一個 8 針 ATtiny85 微控制器完成的。
圖1
紅外遙控解碼/切換板示意圖
REG1是著名的7805通孔穩壓器[1]芯片,為繼電器準備固定+5V。C4 和 C5 已用于降低噪聲。FB1 和 C11 阻止輸入噪聲峰值。IC2 是 TS2937CW-5.0 穩壓器 [2],可為 U1 和 IC1 準備一個固定的 +5V 電源。D8 表示電源供應良好,C8 和 C9 已用于降低穩壓器的輸出噪聲。
U1是VS1838紅外接收模塊[3]。該模塊對電源噪聲很敏感,因此 R7 和 C6 構建了一個低通 RC 濾波器,以進一步降低 U1 電源噪聲。U1 的輸出已連接到 IC1 的 PB3 引腳和 Q4 Mosfet 的柵極引腳。
Q1 是用于為 D7 供電的 FDN360P P 通道邏輯電平 Mosfet [4]。D7 是一個 SMD LED,表示紅外信號接收良好(閃爍)。R8 限制 D7 電流。SW1 是一個 SMD 觸覺按鈕,C10 為按鈕機械觸點去抖動。
IC1 是 ATtiny85 微控制器 [5]。ATtiny85 是一個可愛的芯片!它提供 8K 閃存,可通過外部晶體振蕩器運行高達 20MHz。在這個項目中,我將時鐘設置為 8MHz-internal。C7 是一個旁路電容,用于降低電源噪聲。
Q1、Q2 和 Q3 是 SI2303 N 溝道 Mosfet [6],用于切換 K1、K2 和 K3 繼電器。R4、R5、R6為下拉電阻,D1、D2、D3為保護二極管。D4、D5 和 D6 是繼電器激活指示燈 LED,C1、C2 和 C3 用于降低繼電器電感器的噪聲。?
ISP 是一個 5 針公頭,用于使用 AVR-ISP 編程器對 IC1 進行編程。P1、P2 和 P3 是 2 針直角鳳凰連接器。
B. PCB 布局
圖 2 顯示了紅外遙控切換器設備的 PCB 布局。它是兩層 PCB 板,大部分組件的封裝都是 SMD。
圖 2
紅外遙控切換板PCB布局
正如我在摘要中提到的,我使用 Altium Designer 軟件 [7] 來設計原理圖和 PCB。它是一款簡潔的軟件,提供了用戶友好的設計環境和大量有用的功能。我沒有這個項目中幾個組件的原理圖符號、PCB 封裝和 3D 模型。因此,我沒有浪費時間從頭開始設計庫并增加錯誤和組件不匹配的風險,而是使用免費的 IPC 級 ScamacSys 組件庫,并使用 SamacSys Altium 插件 [8] 將它們直接導入 Altium PCB 項目。SamacSys 為大多數電子設計 CAD 軟件提供插件,而不僅僅是 Altium Designer。圖 3 顯示了支持的電子設計 CAD 軟件。?
圖 3
SamacSys插件支持的電子設計CAD軟件
具體來說,我使用了 IC1 [9]、IC2 [10]、REG1[11]、Q1…Q3[12] 和 Q4 [13] 的 SamacSys 庫,您可以參考參考資料中的鏈接。另一種選擇是從 componentsearchengine.com 下載組件庫并手動導入它們。由你決定。圖 4 顯示了 SamacSys Altium 插件中的選定組件。
圖 4
SamacSys Altium 插件中的選定組件庫
C. 組裝和測試
圖 5 顯示了組裝好的 PCB 板。PCB 由 PCBWay 公司制造,我可以說質量很好。我對焊接組件沒有任何問題。所以我建議你看質量,不要為了省幾塊錢而選擇便宜的!?
圖 5
紅外遙控切換器組裝好的PCB板
C-1。代碼
我已經使用 Arduino IDE 編寫代碼,但是,您不需要為此使用 Arduino 板。您可以安裝自定義的 ATtiny 板管理器并導出已編譯的二進制文件(HEX 文件)。然后使用 AVR-ISP 編程器或 Arduino IDE 外部的類似編程器對您的芯片進行編程。您也不需要對引導加載程序進行編程。
?
#include#include 字節 keyCounter = 0 ; int data1 = -1 , data2 = -1 , data3 = -1 ; 字節 out2Toggle = 0 ; 無效 設置() { ? pinMode(0,輸出); ? pinMode(1,輸出); ? pinMode(2,輸出); ? pinMode(4,輸入); ? IrReceiver.begin( 3 , DISABLE_LED_FEEDBACK); } 無效 循環() { ? 數據1 = EEPROM.read(0); ? 數據2 = EEPROM.read(1); ? 數據3 = EEPROM.read(2); ?? ? 而(數字讀?。?)== 0) ? { ? ? if (IrReceiver.decode()) ? ? { ? ? ? 延遲(200); ? ? ? 如果(keyCounter == 0 ) ? ? ? { ? ? ? ? data1 = IrReceiver.decodedIRData.decodedRawData; ? ? ? ? 數字寫入(2,高); ? ? ? ? 延遲(2000); ? ? ? ? 數字寫入(2,低); ? ? ? ? EEPROM.write( 0 ,data1); ? ? ? ? 鍵計數器++; ? ? ? } else if (keyCounter == 1 ) { ? ? ? ? data2 = IrReceiver.decodedIRData.decodedRawData; ? ? ? ? 數字寫入(1,高); ? ? ? ? 延遲(2000); ? ? ? ? 數字寫入(1,低); ? ? ? ? EEPROM.write( 1 ,data2); ? ? ? ? 鍵計數器++; ? ? ? } else if (keyCounter == 2 ) { ? ? ? ? data3 = IrReceiver.decodedIRData.decodedRawData; ? ? ? ? 數字寫入(0,高); ? ? ? ? 延遲(2000); ? ? ? ? 數字寫入(0,低); ? ? ? ? EEPROM.write( 2 ,data3); ? ? ? ? 關鍵計數器 = 0 ; ? ? ? } ? ? ? IrReceiver.resume(); ? ? } ? } ? if (IrReceiver.decode()) ? { ? ? 延遲(200); ? ? if (data1 == IrReceiver.decodedIRData.decodedRawData) ? ? { ? ? ? 數字寫入(2,高); ? ? ? 延遲(250); ? ? ? 數字寫入(2,低); ? ? ? 延遲(250); ? ? } ? ? if (data2 == IrReceiver.decodedIRData.decodedRawData) ? ? { ? ? ? 開關(out2Toggle) ? ? ? { ? ? ? ? 案例 0: ? ? ? ? ? 數字寫入(1,高); ? ? ? ? ? out2Toggle = 1 ; ? ? ? ? ? 休息; ? ? ? ? 案例 1: ? ? ? ? ? 數字寫入(1,低); ? ? ? ? ? out2Toggle = 0 ; ? ? ? ? ? 休息; ? ? ? } ? ? } ? ? if (data3 == IrReceiver.decodedIRData.decodedRawData) ? ? { ? ? ? 數字寫入(0,高); ? ? ? 延遲(250); ? ? ? 數字寫入(0,低); ? ? ? 延遲(250); ? ? } ? ? IrReceiver.resume(); ? } }
?
要為 ATTiny85 微控制器編譯 Arduino 草圖,您需要安裝 Spence Konde [14] 的“ATTinyCore”。Tiny 芯片的類似董事會經理表現不如預期。此外,安裝“IRRemote”庫 V3.3(由 Armin Joachimsmeyer)[15] 并包含頭文件。有關更多詳細信息,請查看我的 YouTube 視頻。?
C.2。測試
我已經使用 Silent SDS2102X Plus 示波器 [16] 測試了 VS1838 模塊的輸出(圖 6)。您也可以使用其他模型,例如 SDS1104X-E [17]。示波器屏幕顯示信號清晰無噪音。每個遙控器制造商可能使用現有的或自己的紅外協議,并且每個遙控器按鍵生成不同的代碼,因此遙控器的輸出信號可能不同。我使用了一個自然使用索尼紅外協議的索尼高清電視遙控器。
圖 6
紅外接收模塊(U1)的輸出信號
單片機燒寫成功后,請斷開燒錄器并重啟板子(斷開再重新上電)。然后您可以存儲所需的遙控鍵(通過按住 SW1)。您可以在以后隨時更改任何存儲的密鑰。密鑰存儲在 EEPROM 內存中,因此電源復位不會清除內存和存儲的密鑰。有關詳細信息,請仔細觀看 YouTube 視頻。
D. 材料清單
圖 7 顯示了物料清單。
圖 7
材料清單
- 基于51單片機的VB遙控播放器紅外遙控解碼設計源程序 0次下載
- 紅外遙控解碼器/測試儀開源分享
- 使用Arduino解碼任何遙控器的紅外遙控信號
- 單片機紅外遙控電腦音源切換器執行文件免費下載 13次下載
- 使用51單片機設計的紅外解碼器電路圖和程序免費下載
- 如何使用單片機實現紅外接收遙控器的解碼
- 立體聲解碼器的基本原理技術文檔分享 6次下載
- KVM切換器介紹 0次下載
- 紅外遙控器解碼程序詳情 195次下載
- 紅外遙控編解碼全攻略 433次下載
- 紅外遙控器軟件解碼及其應用
- 基于DTMF的解碼器設計
- 紅外遙控器軟件解碼及其應用
- 單片機用作通用紅外遙控接收器的設計
- RSM2272 遙控解碼器電路
- 數字播放器和解碼器 149次閱讀
- 詳解編碼器和解碼器電路 2780次閱讀
- 神經編碼器-解碼器模型的歷史 713次閱讀
- 基于 Transformers 的編碼器-解碼器模型 728次閱讀
- 基于 RNN 的解碼器架構如何建模 664次閱讀
- 二進制解碼器到底是什么 6079次閱讀
- 基于51單片機的紅外線遙控器解碼程序設計 3440次閱讀
- KVM切換器7大常見問題解析 1.3w次閱讀
- 什么是電腦切換器?4路KVM切換器介紹 4631次閱讀
- 網絡切換器是什么_網絡切換器怎么用_網絡切換器的操作方法 9641次閱讀
- 什么是視頻解碼器_有什么用 2.9w次閱讀
- 分析了各主流編解碼器的優勢與不足,并對編解碼器的選擇給出建議 1.4w次閱讀
- dmx512解碼器怎么接線?dmx512解碼器接線圖 8.7w次閱讀
- 單片機做紅外遙控解碼器 2433次閱讀
- 音頻編解碼器技術 4925次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 11次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5DIY動手組裝LED電子顯示屏
- 0.98 MB | 3次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機PM2.5檢測系統程序
- 0.83 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537797次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191186次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多