0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

零基礎(chǔ)學(xué)習(xí)GD32 紅外遙控器原理

兆易創(chuàng)新科技 ? 作者:兆易創(chuàng)新科技 ? 2019-10-25 09:58 ? 次閱讀

從零開始學(xué)GD32

第一節(jié) 紅外遙控實驗

遙控器是一種無線發(fā)射裝置,通過現(xiàn)代的數(shù)字編碼技術(shù),將按鍵信息進(jìn)行編碼,通過紅外線二極管發(fā)射光波,光波經(jīng)接收機的紅外線接收器將收到的紅外信號轉(zhuǎn)變成電信號,由處理器進(jìn)行解碼,解調(diào)出相應(yīng)的指令來達(dá)到控制機頂盒等設(shè)備完成所需的操作要求。

一、紅外遙控器原理

很多電器都采用紅外線遙控,那么紅外線遙控的工作原理是什么呢?首先我們來看看什么是紅外線。

人的眼睛能看到的可見光按波長從長到短排列,依次為紅、橙、黃、綠、青、藍(lán)、紫。其中紅光的波長范圍為0.62~0.76μm;紫光的波長范圍為0.38~0.46μm。比紫光波長還短的光叫紫外線,比紅光波長還長的光叫紅外線。

紅外線遙控就是利用波長為0.76~1.5μm之間的近紅外線來傳送控制信號的。

常用的紅外線遙控系統(tǒng)一般分發(fā)射和接收兩個部分。

發(fā)射部分的主要元件為紅外發(fā)光二極管。它實際上是一只特殊的發(fā)光二極管,由于其內(nèi)部材料不同于普通發(fā)光二極管,因而在其兩端施加一定電壓時,它便發(fā)出的是紅外線而不是可見光。

大量使用的紅外發(fā)光二極管發(fā)出的紅外線波長為940nm左右,外形與普通發(fā)光二極管相同,只是顏色不同。

紅外發(fā)光二極管一般有黑色、深藍(lán)、透明三種顏色。

判斷紅外發(fā)光二極管好壞的辦法與判斷普通二極管一樣:用萬用表電阻擋量一下紅外發(fā)光二極管的正、反向電阻即可。

紅外發(fā)光二極管的發(fā)光效率要用專門的儀器才能精確測定,而業(yè)余條件下只能用拉距法來粗略判定。接收部分的紅外接收管是一種光敏二極管。

在實際應(yīng)用中要給紅外接收二極管加反向偏壓,它才能正常工作,亦即紅外接收二極管在電路中應(yīng)用時是反向運用,這樣才能獲得較高的靈敏度。

紅外接收二極管一般有圓形和方形兩種。

由于紅外發(fā)光二極管的發(fā)射功率一般都較小(15mW左右),所以紅外接收二極管接收到的信號比較微弱,因此就要增加高增益放大電路。

前些年常用μPC1373H、CX20106A等紅外接收專用放大電路。最近幾年不論是業(yè)余制作還是正式產(chǎn)品,大多都采用成品紅外接收頭。

成品紅外接收頭的封裝大致有兩種:一種采用鐵皮屏蔽;一種是塑料封裝。均有三只引腳,即電源正(VDD)、電源負(fù) (GND)和數(shù)據(jù)輸出(VO或OUT)。紅外接收頭的引腳排列因型號不同而不盡相同,可參考廠家的使用說明。成品紅外接收頭的優(yōu)點是不需要復(fù)雜的調(diào)試和外 殼屏蔽,使用起來如同一只三極管,非常方便。但在使用時注意成品紅外接收頭的載波頻率。

紅外遙控常用的載波頻率為38kHz,這是由發(fā)射端所使用的455kHz陶振來決定的。

在發(fā)射端要對晶振進(jìn)行整數(shù)分頻,分頻系數(shù)一般取12,所以455kHz÷12≈37.9 kHz≈38kHz。也有一些遙控系統(tǒng)采用36kHz、40kHz、56kHz等,一般由發(fā)射端晶振的振蕩頻率來決定。

二、紅外遙控編碼

常用的有通過脈沖寬度來實現(xiàn)信號調(diào)制的脈寬調(diào)制(PWM)和通過脈沖串之間的時間間隔來實現(xiàn)信號調(diào)制的脈時調(diào)制(PPM)兩種方法。

我的遙控器使用的是NEC協(xié)議,即PWM方法,其特點如下:

1、8位地址和8位指令長度;

2、地址和命令2次傳輸(確??煽啃?

3、PWM脈沖位置調(diào)制,以發(fā)射紅外載波的占空比代表“0”和“1”;

4、載波頻率為38Khz;

5、位時間為1.125ms或2.25ms;

NEC碼的位定義:一個脈沖對應(yīng)560us的連續(xù)載波,一個邏輯1傳輸需要2.25ms(560us脈沖+1680us低電平),一個邏輯0的傳輸需要1.125ms(560us脈沖+560us低電平)。而遙控接收頭在收到脈沖的時候為低電平,在沒有脈沖的時候為高電平,這樣,我們在接收頭端收到的信號為:邏輯1應(yīng)該是560us低+1680us高,邏輯0應(yīng)該是560us低+560us高。

NEC遙控指令的數(shù)據(jù)格式為:同步碼頭、地址碼、地址反碼、控制碼、控制反碼。同步碼由一個9ms的低電平和一個4.5ms的高電平組成,地址碼、地址反碼、控制碼、控制反碼均是8位數(shù)據(jù)格式。按照低位在前,高位在后的順序發(fā)送。采用反碼是為了增加傳輸?shù)目煽啃?可用于校驗)。

三、解碼過程

從圖中可以看到,其地址碼為0,控制碼為168??梢钥吹皆?00ms之后,我們還受到了幾個脈沖,這是NEC碼規(guī)定的連發(fā)碼(由9ms低電平+2.5m高電平+0.56ms低電平+97.94ms高電平組成),如果在一幀數(shù)據(jù)發(fā)送完畢之后,按鍵仍然沒有放開,則發(fā)射重復(fù)碼,即連發(fā)碼,可以通過統(tǒng)計連發(fā)碼的次數(shù)來標(biāo)記按鍵按下的長短/次數(shù)。

四、實驗操作

基于GD32 實驗21 紅外遙控實驗基礎(chǔ)上,在remote.h文件中添加以下宏定義:

#defineBUTTON_1 218

#defineBUTTON_2 242

#defineBUTTON_3 202

#defineBUTTON_4 90

#defineBUTTON_5 240

#defineBUTTON_6 122

#defineBUTTON_7 106

#defineBUTTON_8 114

#defineBUTTON_9 74

#defineBUTTON_0 170

#define BUTTON_POWER 234

作為遙控器的新鍵值。

main.c文件中的switch函數(shù)也進(jìn)行了如下修改:

switch(key)

{

caseBUTTON_POWER:

LCD_ShowString(86,150,"POWER");

break;

caseBUTTON_1:

LCD_ShowString(86,150,"1 ");

break;

caseBUTTON_2:

LCD_ShowString(86,150,"2 ");

break;

caseBUTTON_3:

LCD_ShowString(86,150,"3 ");

break;

caseBUTTON_4:

LCD_ShowString(86,150,"4 ");

break;

caseBUTTON_5:

LCD_ShowString(86,150,"5 ");

break;

caseBUTTON_6:

LCD_ShowString(86,150,"6 ");

break;

caseBUTTON_7:

LCD_ShowString(86,150,"7 ");

break;

caseBUTTON_8:

LCD_ShowString(86,150,"8 ");

break;

caseBUTTON_9:

LCD_ShowString(86,150,"9 ");

break;

caseBUTTON_0:

LCD_ShowString(86,150,"0 ");

break;

default:

break;

}

最后,測試一切正常!


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 紅外遙控器
    +關(guān)注

    關(guān)注

    3

    文章

    133

    瀏覽量

    21628
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6084

    瀏覽量

    35154
  • GD32
    +關(guān)注

    關(guān)注

    7

    文章

    403

    瀏覽量

    24107
  • 兆易創(chuàng)新科技

    關(guān)注

    1

    文章

    14

    瀏覽量

    2945
收藏 人收藏

    評論

    相關(guān)推薦

    紅外遙控器DIY自制

    自制一個電腦遙控接收,是非常容易的。我們制作的電腦遙控器必須使用紅外方式的紅外遙控器(不能是射
    發(fā)表于 12-22 15:46 ?2.4w次閱讀

    學(xué)習(xí)紅外遙控器設(shè)計

    有沒有前輩知道怎么寫基于MSP430F149的學(xué)習(xí)紅外遙控器設(shè)計程序的?麻煩聯(lián)系我。O(∩_∩)O謝謝984300719
    發(fā)表于 05-01 15:22

    常用萬能學(xué)習(xí)紅外遙控器設(shè)計資料.pdf

    ,部分廠商推出了具備紅外學(xué)習(xí)遙控器,它的主要特點是:遙控器內(nèi)置一個動態(tài)編碼庫,具備紅外學(xué)習(xí)功能,可由用戶自主錄入編碼, 通過對具備紅外學(xué)習(xí)
    發(fā)表于 03-02 00:36

    如何設(shè)計基于NiosⅡ的學(xué)習(xí)遙控器?

    遙控裝置,這類遙控器大多數(shù)采用復(fù)制遙控器紅外波形達(dá)到學(xué)習(xí)目的,其方法簡單,實現(xiàn)起來較方便,通過對不同普通
    發(fā)表于 10-16 07:01

    學(xué)習(xí)紅外遙控器的設(shè)計與實現(xiàn)

    學(xué)習(xí)紅外遙控器的設(shè)計與實現(xiàn) 給出了自學(xué)習(xí)紅外遙控器的一種設(shè)計,采用測量脈沖寬度的原理,適用于
    發(fā)表于 05-04 21:43 ?7539次閱讀
    自<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>紅外</b><b class='flag-5'>遙控器</b>的設(shè)計與實現(xiàn)

    學(xué)習(xí)紅外遙控器的設(shè)計與實現(xiàn)

     給出了自學(xué)習(xí)紅外遙控器的一種設(shè)計,采用測量脈沖寬度的原理,適用于大多數(shù)電子產(chǎn)品的遙控器。介紹了轉(zhuǎn)發(fā)紅外信號的方法。 &nb
    發(fā)表于 05-09 12:08 ?2360次閱讀
    自<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>紅外</b><b class='flag-5'>遙控器</b>的設(shè)計與實現(xiàn)

    基于NiosⅡ的紅外學(xué)習(xí)遙控器設(shè)計

      本文設(shè)計了一種基于NiosⅡ的紅外學(xué)習(xí)遙控器,把載波頻率測量、紅外信號解調(diào)、脈寬測量、調(diào)制發(fā)送IP核集中到FPG
    發(fā)表于 12-15 10:39 ?2568次閱讀

    PC紅外遙控器

    PC紅外遙控器,很好設(shè)計資料,快來學(xué)習(xí)吧。
    發(fā)表于 05-09 17:07 ?0次下載

    紅外遙控器編碼大全

    紅外遙控器編碼大全紅外遙控器編碼大全
    發(fā)表于 11-30 11:55 ?85次下載

    常用萬能學(xué)習(xí)紅外遙控器設(shè)計資料

    隨著嵌入式的廣泛應(yīng)用部分廠商推出了具備紅外學(xué)習(xí)遙控器它的主 要特點是:遙控器內(nèi)置一個動態(tài)編碼庫具備紅外學(xué)習(xí)功能可由用戶自主錄入編碼 通過對具備
    發(fā)表于 11-30 11:55 ?153次下載

    智能學(xué)習(xí)紅外空調(diào)遙控器分析

    為了解決空調(diào)遙控器不兼容問題,設(shè)計了一款基于Atmega16單片機的智能空調(diào)遙控器。該遙控器采用測量脈沖寬度的方法學(xué)習(xí)紅外信號,同時使用游程
    發(fā)表于 10-16 11:11 ?17次下載
    智能<b class='flag-5'>學(xué)習(xí)</b>型<b class='flag-5'>紅外</b>空調(diào)<b class='flag-5'>遙控器</b>分析

    fireflyAIO-3288C主板紅外遙控器簡介

    紅外遙控器 12鍵紅外遙控器
    的頭像 發(fā)表于 12-16 13:56 ?1649次閱讀

    智能學(xué)習(xí)紅外空調(diào)遙控器的設(shè)計與實現(xiàn)

    本文設(shè)計的是一款基于單片機的紅外智能空調(diào)遙控器,這種遙控器能采用測量脈沖寬度的方法學(xué)習(xí)紅外信號,同時使用游程編碼算法對數(shù)據(jù)進(jìn)行壓縮后存儲,并
    發(fā)表于 02-11 14:11 ?28次下載
    智能<b class='flag-5'>學(xué)習(xí)</b>型<b class='flag-5'>紅外</b>空調(diào)<b class='flag-5'>遙控器</b>的設(shè)計與實現(xiàn)

    紅外學(xué)習(xí)遙控器方案說明

    紅外學(xué)習(xí)遙控器可通過學(xué)習(xí)操作學(xué)習(xí)其它遙控器上的部分按鍵,實現(xiàn)同一遙控器
    的頭像 發(fā)表于 10-18 11:31 ?4282次閱讀

    基于單片機的紅外遙控通信實驗 紅外遙控器的發(fā)送和接收原理

    本章介紹紅外遙控通信試驗,通過本章的學(xué)習(xí)掌握紅外遙控器的編碼原理以及使用。在 RY-51 單片機開發(fā)板上,配備了一個
    的頭像 發(fā)表于 07-27 17:35 ?7403次閱讀
    基于單片機的<b class='flag-5'>紅外</b><b class='flag-5'>遙控</b>通信實驗 <b class='flag-5'>紅外</b><b class='flag-5'>遙控器</b>的發(fā)送和接收原理