-
1 # 小白Talk
-
2 # 玩轉嵌入式
已經會用微控制器實現流水燈的功能,說明對微控制器有了初步的入門知識,會配置微控制器的GPIO口輸出了,建議再學習以下微控制器的GPIO的輸入,比如按鍵輸入。因為紅外遙控會使用到GPIO輸出和GPIO輸入,還用會要定時器甚至中斷。下面從硬體設計和程式設計介紹一下紅外遙控的設計。
1.紅外發射電路的設計紅外遙控涉及到一發一收,即一個紅外發射管和一個紅外接收管配合使用。紅外發射管一般是透明的,跟發光二極體LED驅動方法一致。如下圖所示,是設計的紅外發射電路。微控制器輸出高電平時三極體導通,發射管工作發出紅外光,這裡也可以用按鍵來控制。
2.紅外接收電路的設計紅外接收管用來接收發射管所發出的紅外光,紅外接收管可以用普通的接收管,也可以使用專用的紅外接收頭,如VS1838系列接收頭,下圖是使用1838接收頭實現的紅外電路。當接收到紅外光後,1838輸出低電平。
如果你是透過微控制器開發板來學習的,那麼板子上應該帶有紅外接收頭,並且配有紅外遙控器,儘可能的利用手邊的資源。
3.簡單紅外遙控的實現硬體電路設計好之後,就要設計程式了。你可以使用紅外遙控控制板子上LED燈的亮滅、流水燈的花樣變換、繼電器的工作燈。這種簡單的指令只需要檢測紅外輸出的電平就可以。如果微控制器檢測到低電平,說明有人按了紅外遙控器,把繼電器開啟即可,不需要走協議。
4.紅外資料通訊的實現如果用透過紅外來傳輸資料的話,就需要遵循一定的協議了。目前常用的紅外通訊協議是NEC的協議,如下圖規定了邏輯0和邏輯1的脈衝寬度。
邏輯0的時間為1.12ms,脈衝寬度為560us;邏輯1的時間為2.25ms,脈寬為560us,除此之外一幀完整的資料應該包括:引導碼、8位的客戶碼、8位客戶碼的補碼、8位的按鍵值、8位按鍵值的補碼等。
在編寫程式時可能用到微控制器的定時器資源、中斷資源、捕捉等。所以NEC協議的實現,對初學者來說還是比較複雜的。建議先從簡單的遙控命令入手。
-
3 # 許工電子電路DIY創意
如果是給訊號到微控制器的話你記住紅外接收三極體的電源和輸出訊號,把訊號源引接到微控制器的訊號源,如果是隻需要紅外訊號接收管控制開關功能的話,很簡單,一個紅外訊號接收三極體,一個1k1/4W的電阻,一個9014三極體,一個繼電器就可以了。
-
4 # 電子及工控技術
用單片機制作遙控燈的方法還是比較多的,可以用無線電遙控燈、可以用藍芽技術控制燈、還可以用無線發射模組nRF24L01實現無線射頻遙控遙控燈。當然我們根據題目的要求也可以用紅外發射與接受來遙控燈。其實這種紅外遙控方式在家電中用的也很多,比如空調的遙控、電視機的遙控、風扇的遙控都採用的是紅外遙控方式。用紅外遙控需要發射裝置和接收裝置,那麼通常所用個器件就是紅外發射管和紅外接受管,下圖中的黑色類似二極體的就是接受管、透明狀的類似二極體的就是發射管。
紅外遙控硬體電路的設計紅外遙控硬體電路的設計主要包括髮射部分和接收部分,下面我把自己曾經做的一個紅外遙控小車紅外收發電路圖發給大家參考一下
紅外發射電路部分
紅外發射部分的工作過程是這樣的,當用調製好的訊號給發射控制輸出高電平時,S9012PNP三極體 Q1 不導通處於截止狀態,紅外發射管 L1 不會發射紅外訊號;當用調製好的訊號發射控制輸出低電平的時候,那麼透過S9012PNP三極體 Q1飽和導通 L1 就會發出紅外光。
另外還有一個方法就是可以用發射硬體電路的成品,我們只要編寫接收解碼程式就可以了,可以大大加快我們的工作程序,如果是想透過製作練手的話,我建議最好自己製作一個紅外發射模組。下面就是一個紅外發射控制器,其編碼電路、調製電路,發射電路都整合在控制器裡了,使用相對來說比較方便。
紅外接收電路部分
紅外接收電路我們可以用分立元器件製作,在下圖中我們用一個電位器R4,也就是“傳說”中的滑動變阻器。我們透過調整這個電位器給整合比較器LM393 的 第2 腳一個閾值電壓,當然這個電壓值大小我們是可以根據實際情況來調整的。而紅外接收二極體 L2 收到紅外光的時候,會產生電流,並且隨著紅外光的從弱變強,電流會從小變大。當沒有紅外光或者說紅外光很弱的時候,3 腳的電壓就會接近電源電壓 VCC,如果 3 腳比 2腳的電壓高的話,透過 LM393 比較器後,接收檢測引腳輸出一個高電平。當隨著光強變大,電流變大,3 腳的電壓值等於 VCC-I*R 3 ,電壓就會越來越小,當小到一定程度,比 2腳的電壓還小的時候,接收檢測引腳就會變為低電平。接收到的這個訊號送到微控制器,經程解碼來控制輸出端的負載,從而達到控制例如燈的負載了。
當然對於接收電路也是有相應模組的,例如下圖就是一款整合的紅外接收頭它的名稱叫HS0038,它是一款紅外接收探頭,接收紅外訊號頻率為38kHz,週期約26μs。一體化的紅外接收裝置將遙控訊號的接收、放大、檢波、整形作為一個整體整合在接收頭裡,並且能夠輸出可以讓微控制器識別的電晶體的邏輯(TTL) 訊號,這樣大大簡化了接收電路的複雜程度和電路的設計工作量,對我們使用非常方便。
其成整合模組的品電路也是可以用的,還是那句話為了能夠達到高我們動手操作的能力,我還是建議朋友們自己焊接紅外接收電路。
透過軟體實現紅外解碼要想實現對紅外的必須要進行解碼,其解碼的過程就是透過軟體來實現的。要想編寫出解碼軟體,就要對紅外通訊協議有一定的瞭解。通訊協議有很多種,比如有NEC 協議、Philips RC-5 協議、Sony SIRC 協議等,在這些通訊協議中我們常用的還是NEC協議,許多家電的遙控都是使用的這種協議。NEC 協議的資料格式主要包括了引導碼、使用者碼、使用者碼反碼、按鍵鍵碼和鍵碼反碼,最後一個停止位,我們程式的作用就是把這個資料給它解調出來。
軟體程式主要是用來檢測紅外通訊的,它的任務時這樣的:當微控制器檢測到發生外部中斷後,進入外部中斷,透過微控制器內部定時器定時,軟體首先要對引導碼進行判斷,而後對資料碼的每個位逐位獲取高低電平的時間,從而得知每一位是 0 還是 1,最終把資料碼解出來。至於“0”與“1”的判定,協議規定“0”就是560us 的載波+560us 的空閒。“1”就是560us 的載波+1.68ms 的空閒。
無線電遙控電燈其實我們還可以用無線遙控燈,我曾經就用了兩片PT2262整合編碼晶片,PT2272整合解碼晶片來完成對四路電燈的控制,其效果還是比較理想的。
這種控制不需要通訊協議,也不需要軟體進行解碼程式設計。透過這種專用的整合編碼晶片和整合解碼晶片只需要 純硬體就可以實現無線控制,當然如果想練習程式設計也可以與微控制器綜合進行運用。
用微控制器和這兩款晶片其實現的思路是這樣的:首先我們用發射模組給無線接收模組發射資料,無線接收模組收到的資料然後傳給微控制器(MCU),經過微控制器(MCU)內部軟體的分析與判斷輸出資料,進而控制電燈的亮和滅。這種方法用我們編寫程式相對簡單,不需要所謂的通訊協議。
我們用的這種發射模組外形小巧美觀,裝在口袋裡就都可以,所以攜帶很方便的。我們透過與微控制器結合運用可以控制多路燈,還可以實現場景的控制效果非常好!
-
5 # 電子產品設計方案
紅外遙控是一種無線的控制技術
學會了用微控制器做流水燈,說明已經對微控制器有一定的瞭解,已經可以編寫出簡單的程式,做紅外遙控燈並不是難事。
紅外遙控抗干擾能力強,資訊傳輸可靠,功耗低,成本低,廣泛應用於家電產品的遙控上。紅外控制使用非可見光作為資訊傳輸的載體。紅外遙控不能像無線遙控一樣穿過障礙物。要實現紅外遙控,只需要設計紅外發射電路,紅外接收電路,再加上通訊協議就可以了。
紅外發射電路紅外發射電路非常簡單,只需要用三極體驅動紅外發射管發出紅外光訊號就可以了,跟驅動LED一樣,當GPIO為高電平時,NPN三極體Q1導通,紅外發射管工作,發出紅外光。
當然,你要設計一個遙控器,不同的按鍵按下時,GPIO需要發出不同的遙控指令,不同的波形資訊代表不同的按鍵資訊,這就是我們所說的通訊協議了。如果你只需要做一個簡單的遙控試驗,可以只直接用高低電平來處理。
紅外接收電路在紅外接收端,我們可以使用一體紅外接收頭,這種一體的接收頭內建了紅外接收管,訊號放大,帶通濾波器功能,使用起來非常方便。如果用單純的紅外接收管,還要自己增加訊號放大電路。
這種一體紅外接收頭有三個引腳,一個是VCC,一個是GND,另一個是OUT引腳。
OUT引腳直接與微控制器的GPIO連線就可以了,最好是加上一個上拉電阻。
紅外遙控通訊協議紅外發射和紅外接收的硬體電路搭建完了就要靠通訊協議來完成遙控通訊功能了。目前用得最多的紅外遙控的編碼有 PWM(脈衝寬度調製)的NEC協議和PhilipsPPM(脈衝位置調製)的RC-5協議。
以NEC協議為例,它有以下特徵:
8位地址和8位指令長度;地址和命令2次傳輸(確保可靠性);PWM脈衝位置調製,以發射紅外載波的佔空比代表“0”和“1”;載波頻率為38Khz;5、位時間為1.125ms或2.25ms;利用微控制器的輸入捕捉功能來測量高電平的脈寬來解碼遙控訊號就可以了。
對於初學者來說,這些紅外通訊協議可能過於複雜了,可以考慮增加紅外編碼和解碼的晶片來進行處理。比如用PT2262作為編碼晶片,控制紅外發射電路和;用PT2272作為解碼晶片,處理接收到的訊號。
還可以自己定義一些簡單的協議來做這個紅外遙控燈,比如收到一個50ms的低電平訊號就認為是開燈,收到一個100ms低電平訊號就認為是關燈。
回覆列表
相應的教程應該有很多,自己去網上檢索並篩選出有價值的資訊也是學習微控制器中必不可少的過程。紅外遙控涉及到一些通訊的知識,時鐘對上後,加之一些通訊的協議,就可以傳送控制資訊達到控制的效果了。題主看樣子還是新手,建議可以買一套整合度較高的開發板(淘寶上很多,百來塊足夠),各個模組都有,按照附送的程式碼和資料手冊跑一遍,對於微控制器的認識和理解絕對有大幅提升。幾年前也是這麼過來的,一點經驗,希望有幫助。