用單片機(jī)制作遙控?zé)舻姆椒ㄟ€是比較多的,可以用無(wú)線電遙控?zé)?、可以用藍(lán)牙技術(shù)控制燈、還可以用無(wú)線發(fā)射模塊nRF24L01實(shí)現(xiàn)無(wú)線射頻遙控遙控?zé)簟.?dāng)然我們根據(jù)題目的要求也可以用紅外發(fā)射與接受來(lái)遙控?zé)?。其?shí)這種紅外遙控方式在家電中用的也很多,比如空調(diào)的遙控、電視機(jī)的遙控、風(fēng)扇的遙控都采用的是紅外遙控方式。用紅外遙控需要發(fā)射裝置和接收裝置,那么通常所用個(gè)器件就是紅外發(fā)射管和紅外接受管,下圖中的黑色類(lèi)似二極管的就是接受管、透明狀的類(lèi)似二極管的就是發(fā)射管。 下面我就針對(duì)紅外遙控電路硬件和軟件通信方面的問(wèn)題與朋友們討論一番,希望能給朋友們帶來(lái)參考作用。 紅外遙控硬件電路的設(shè)計(jì)紅外遙控硬件電路的設(shè)計(jì)主要包括發(fā)射部分和接收部分,下面我把自己曾經(jīng)做的一個(gè)紅外遙控小車(chē)紅外收發(fā)電路圖發(fā)給大家參考一下 紅外發(fā)射電路部分 紅外發(fā)射部分的工作過(guò)程是這樣的,當(dāng)用調(diào)制好的信號(hào)給發(fā)射控制輸出高電平時(shí),S9012PNP三極管 Q1 不導(dǎo)通處于截止?fàn)顟B(tài),紅外發(fā)射管 L1 不會(huì)發(fā)射紅外信號(hào);當(dāng)用調(diào)制好的信號(hào)發(fā)射控制輸出低電平的時(shí)候,那么通過(guò)S9012PNP三極管 Q1飽和導(dǎo)通 L1 就會(huì)發(fā)出紅外光。 另外還有一個(gè)方法就是可以用發(fā)射硬件電路的成品,我們只要編寫(xiě)接收解碼程序就可以了,可以大大加快我們的工作進(jìn)程,如果是想通過(guò)制作練手的話,我建議最好自己制作一個(gè)紅外發(fā)射模塊。下面就是一個(gè)紅外發(fā)射控制器,其編碼電路、調(diào)制電路,發(fā)射電路都集成在控制器里了,使用相對(duì)來(lái)說(shuō)比較方便。 紅外接收電路部分 紅外接收電路我們可以用分立元器件制作,在下圖中我們用一個(gè)電位器R4,也就是“傳說(shuō)”中的滑動(dòng)變阻器。我們通過(guò)調(diào)整這個(gè)電位器給集成比較器LM393 的 第2 腳一個(gè)閾值電壓,當(dāng)然這個(gè)電壓值大小我們是可以根據(jù)實(shí)際情況來(lái)調(diào)整的。而紅外接收二極管 L2 收到紅外光的時(shí)候,會(huì)產(chǎn)生電流,并且隨著紅外光的從弱變強(qiáng),電流會(huì)從小變大。當(dāng)沒(méi)有紅外光或者說(shuō)紅外光很弱的時(shí)候,3 腳的電壓就會(huì)接近電源電壓 VCC,如果 3 腳比 2腳的電壓高的話,通過(guò) LM393 比較器后,接收檢測(cè)引腳輸出一個(gè)高電平。當(dāng)隨著光強(qiáng)變大,電流變大,3 腳的電壓值等于 VCC-I*R 3 ,電壓就會(huì)越來(lái)越小,當(dāng)小到一定程度,比 2腳的電壓還小的時(shí)候,接收檢測(cè)引腳就會(huì)變?yōu)榈碗娖健=邮盏降倪@個(gè)信號(hào)送到單片機(jī),經(jīng)程解碼來(lái)控制輸出端的負(fù)載,從而達(dá)到控制例如燈的負(fù)載了。 當(dāng)然對(duì)于接收電路也是有相應(yīng)模塊的,例如下圖就是一款集成的紅外接收頭它的名稱(chēng)叫HS0038,它是一款紅外接收探頭,接收紅外信號(hào)頻率為38kHz,周期約26μs。一體化的紅外接收裝置將遙控信號(hào)的接收、放大、檢波、整形作為一個(gè)整體集成在接收頭里,并且能夠輸出可以讓單片機(jī)識(shí)別的晶體管的邏輯(TTL) 信號(hào),這樣大大簡(jiǎn)化了接收電路的復(fù)雜程度和電路的設(shè)計(jì)工作量,對(duì)我們使用非常方便。 其成集成模塊的品電路也是可以用的,還是那句話為了能夠達(dá)到高我們動(dòng)手操作的能力,我還是建議朋友們自己焊接紅外接收電路。 通過(guò)軟件實(shí)現(xiàn)紅外解碼要想實(shí)現(xiàn)對(duì)紅外的必須要進(jìn)行解碼,其解碼的過(guò)程就是通過(guò)軟件來(lái)實(shí)現(xiàn)的。要想編寫(xiě)出解碼軟件,就要對(duì)紅外通信協(xié)議有一定的了解。通信協(xié)議有很多種,比如有NEC 協(xié)議、Philips RC-5 協(xié)議、Sony SIRC 協(xié)議等,在這些通信協(xié)議中我們常用的還是NEC協(xié)議,許多家電的遙控都是使用的這種協(xié)議。NEC 協(xié)議的數(shù)據(jù)格式主要包括了引導(dǎo)碼、用戶碼、用戶碼反碼、按鍵鍵碼和鍵碼反碼,最后一個(gè)停止位,我們程序的作用就是把這個(gè)數(shù)據(jù)給它解調(diào)出來(lái)。 軟件程序主要是用來(lái)檢測(cè)紅外通信的,它的任務(wù)時(shí)這樣的:當(dāng)單片機(jī)檢測(cè)到發(fā)生外部中斷后,進(jìn)入外部中斷,通過(guò)單片機(jī)內(nèi)部定時(shí)器定時(shí),軟件首先要對(duì)引導(dǎo)碼進(jìn)行判斷,而后對(duì)數(shù)據(jù)碼的每個(gè)位逐位獲取高低電平的時(shí)間,從而得知每一位是 0 還是 1,最終把數(shù)據(jù)碼解出來(lái)。至于“0”與“1”的判定,協(xié)議規(guī)定“0”就是560us 的載波+560us 的空閑。“1”就是560us 的載波+1.68ms 的空閑。 無(wú)線電遙控電燈其實(shí)我們還可以用無(wú)線遙控?zé)簦以?jīng)就用了兩片PT2262集成編碼芯片,PT2272集成解碼芯片來(lái)完成對(duì)四路電燈的控制,其效果還是比較理想的。 這種控制不需要通信協(xié)議,也不需要軟件進(jìn)行解碼編程。通過(guò)這種專(zhuān)用的集成編碼芯片和集成解碼芯片只需要 純硬件就可以實(shí)現(xiàn)無(wú)線控制,當(dāng)然如果想練習(xí)編程也可以與單片機(jī)綜合進(jìn)行運(yùn)用。 用單片機(jī)和這兩款芯片其實(shí)現(xiàn)的思路是這樣的:首先我們用發(fā)射模塊給無(wú)線接收模塊發(fā)射數(shù)據(jù),無(wú)線接收模塊收到的數(shù)據(jù)然后傳給單片機(jī)(MCU),經(jīng)過(guò)單片機(jī)(MCU)內(nèi)部軟件的分析與判斷輸出數(shù)據(jù),進(jìn)而控制電燈的亮和滅。這種方法用我們編寫(xiě)程序相對(duì)簡(jiǎn)單,不需要所謂的通信協(xié)議。 我們用的這種發(fā)射模塊外形小巧美觀,裝在口袋里就都可以,所以攜帶很方便的。我們通過(guò)與單片機(jī)結(jié)合運(yùn)用可以控制多路燈,還可以實(shí)現(xiàn)場(chǎng)景的控制效果非常好! 以上就是我給朋友們說(shuō)的兩種無(wú)線控制燈的思路和方法,希望能給朋友們帶來(lái)一定的參考作用。歡迎大家參與討論這個(gè)話題,敬請(qǐng)關(guān)注電子及工控技術(shù)! |
|
來(lái)自: 回家的夢(mèng)想 > 《待分類(lèi)》