自制電腦紅外遙控接收器

自制電腦紅外遙控接收器

ID:1110944

大小:207.00 KB

頁(yè)數(shù):9頁(yè)

時(shí)間:2017-11-07

自制電腦紅外遙控接收器_第1頁(yè)
自制電腦紅外遙控接收器_第2頁(yè)
自制電腦紅外遙控接收器_第3頁(yè)
自制電腦紅外遙控接收器_第4頁(yè)
自制電腦紅外遙控接收器_第5頁(yè)
資源描述:

《自制電腦紅外遙控接收器》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。

1、自制電腦紅外遙控接收器(PC軟解碼)分類:〖嵌入式〗〖智能家居〗2009-10-1409:524649人閱讀評(píng)論(9)收藏舉報(bào)網(wǎng)上有很多介紹紅外遙控接收器制作的文章,但其中大部分是用單片進(jìn)行紅外解碼,然后再通過串口或USB把解碼后的按鍵信息傳入到PC的。這樣的電路制作起來,不僅造價(jià)相對(duì)偏高,而且需要對(duì)單片編程,這會(huì)令大部分軟件開發(fā)愛好者望而卻步。最近看到一篇僅需要7個(gè)簡(jiǎn)單元器件的紅外接收器,只需拿起烙鐵,不需硬件編程就可以制作完成,原理圖如下:?由原理圖我們可知,紅外接收頭把接收的紅外信號(hào)轉(zhuǎn)換為高低電平通

2、過串口的DSR管腳傳入到PC,PC軟件通過對(duì)DSR高低電平信號(hào)的時(shí)間曲線進(jìn)行分析,從而獲得相對(duì)應(yīng)的按鍵信息。紅外遙控器一般采用脈寬調(diào)制的串行碼,經(jīng)38kHz的載頻把紅外信號(hào)發(fā)射出去。其編碼信息一般由三部分組成:引導(dǎo)碼、地址碼和數(shù)據(jù)碼。一般信號(hào)長(zhǎng)度大約100ms左右,持續(xù)按鍵則重復(fù)發(fā)送(中間會(huì)有10ms以上的間歇)。常態(tài)下,紅外接收頭的輸出(OUT)都是高電平,引導(dǎo)碼信號(hào)首先會(huì)令紅外接收頭輸出一個(gè)大約10ms左右的低電平(不同遙控器有不同的時(shí)延),這可令接收設(shè)備從容判定信號(hào)的到來,而后面的地址碼和數(shù)據(jù)碼其電

3、平高低變化就相對(duì)較快了,大概在幾十或幾百個(gè)微秒之間。PC紅外遙控軟件一般選用Girder,在使用之前需要安裝“SFH-56pluginforGirder”這個(gè)插件(文件名"igorSFH-56Plug.dll"),否則不能正常處理我們這種電路的紅外接收器信號(hào)。可悲的是我至今沒找到這個(gè)插件,網(wǎng)上提供的很多鏈接都是壞的。即使找到了這個(gè)插件,要想在我們自己編寫的程序中使用也是困難的,因?yàn)镚irder并沒有為我們開發(fā)者提供API接口。既然Girder能用軟件實(shí)現(xiàn)紅外解碼,我們?yōu)槭裁床荒苣兀糠彩露家_動(dòng)大腦,積極行

4、動(dòng)才對(duì),下面就是我自己焊接的一個(gè)紅外接收器(元器件是在中發(fā)買的,一共不到10元錢,還富裕好多電阻、電容?。?(圖下方的紅外遙控器的接收器是基于USB的,僅支持Vista以上版本,并且不支持個(gè)人開發(fā),不過今天它終于發(fā)揮了它應(yīng)有的作用。當(dāng)然用電視或VCD遙控器也是可以的)硬件有了,但程序該從何編起呢?1、由于接收到的紅外信號(hào)在微秒級(jí)別中變化,對(duì)系統(tǒng)實(shí)時(shí)性要求較高,所以具備垃圾回收功能,實(shí)時(shí)性沒有保證的C#,似乎完不成這種信號(hào)的接收功能,所以我們選擇的是VC,由它實(shí)現(xiàn)高優(yōu)先級(jí)的線程去進(jìn)行信號(hào)接收。2、由于紅外遙

5、控信號(hào)是脈寬調(diào)制的串行碼,所以我們需要采集信號(hào)的寬度,顯然采用一般的時(shí)鐘函數(shù)來獲取時(shí)間間隔是不可行的,因?yàn)榫忍停晕覀冃栌貌捎枚嗝襟w時(shí)鐘和高精度計(jì)時(shí)的API函數(shù)。3、一般我們按鍵持續(xù)時(shí)間為幾秒鐘,并且由于按鍵發(fā)出前有一個(gè)10ms左右的引導(dǎo)信號(hào),所以我們的程序很容易判斷出信號(hào)起始點(diǎn),這樣我們一次僅需要接收一定量的原始數(shù)據(jù)就可以完成初步信號(hào)采集工作。4、對(duì)于我們的紅外接收程序來說并不需要實(shí)際解碼出紅外信號(hào)到底包含了那些具體的信息,只要其能夠區(qū)分出紅外遙控上的各個(gè)按鍵就行。5、由于紅接收器是通過串口RTS

6、管腳供電,且通過DSR傳遞紅外信號(hào)的,所以我們的程序即使不接收數(shù)據(jù),也要打開串口,不過僅需要處理RTS和DSR管腳的信號(hào)即可。好了,動(dòng)手去做,下面是用VC實(shí)現(xiàn)的一個(gè)DLL,其功能就是接收并記錄紅外信號(hào)的持續(xù)時(shí)間。核心代碼如下:DWORDWINAPIThreadProc(LPVOIDpParam){????????LARGE_INTEGERlitmp;????????LONGLONGQPart1,QPart2;????????doubledfFreq;???intiTime=0;?//微秒?????????

7、//獲得計(jì)數(shù)器的時(shí)鐘頻率????????QueryPerformanceFrequency(&litmp);????????dfFreq=(double)1000000.0/litmp.QuadPart;???????????????????DWORDModemState,oldModemState=MS_DSR_ON;????????????????//EV_BREAKorEV_CTSorEV_DSRorEV_ERRorEV_RINGorEV_RLSDorEV_RXCHARorEV_RXFLAGorEV

8、_TXEMPTY????????//SetCommMask(HSC_COM_Handle,EV_DSR);????????//DWORDEvtMask,dwError;????????//COMSTATcs;??????????while(HSC_Thread_RunFlag)????????{??????????????????//等待DSR信號(hào)發(fā)生變化???????//WaitCommEvent(HSC_COM_Handl

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。