色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用紅外發射模塊自制空調遙控器

CHANBAEK ? 來源:嵌入式大本營 ? 作者:小小飛飛哥 ? 2023-05-23 15:43 ? 次閱讀

我們家里的空調、電視等,它們的遙控器都是通過紅外信號來控制的。 其實,我們可以自己用紅外發射模塊來做一個遙控器。

關于紅外的知識,大家可以參考我之前的文章,這里就不再贅述了。

要自己實現紅外遙控器的功能,思路其實很簡單,首先,我們需要知道原來遙控器發射的信號是怎么樣的,然后我們只要用紅外發射模塊發射一個一模一樣的信號就行了。

實驗器材準備:

紅外接收模塊、紅外發射模塊、邏輯分析儀。

一、獲取遙控器的波形

我們使用紅外接收模塊,連上邏輯分析儀,然后使用空調遙控器對著紅外接收模塊發射信號,這時邏輯分析儀就采集到了紅外信號。 這一部分不需要什么代碼。

這是我用邏輯分析儀采集到格力空調按下“打開”按鈕時的波形。

圖片

分析一下波形,可以知道,先是有一段約9ms的低電平,然后是4.5ms的高電平,再是一段0 1構成的序列,中間是20.5ms的高電平,再經過一段序列結束。

那些序列就是真正的信號,里面有控制空調的相關信息,當然,不同的空調肯定是不一樣的,這是廠家定義的。

二、用單片機產生紅外信號

知道了遙控器發射的波形,我們不需要去理解它是什么含義,只要照著來發射一段相同的波形,就能實現功能。

這里就是要稍微注意一下紅外信號的特點,這在我之前的文章里有詳細講過,這里再說一下:

對于紅外信號來說,當你發射一段脈沖時(脈沖頻率通常是38khz),紅外接收端收到的是低電平,否則,收到的是高電平。

也就是說,你如果希望接收端收到的是低電平,你不是要發射低電平,而是發射一段脈沖。 比如上面最開始是9ms的低電平,那么你需要發射一段持續9ms的脈沖。

還有就是邏輯0是一段低電平加上一段不長的高電平,邏輯1是一段低電平加上一段較長的高電平。 在這里,0是0.62ms低電平+0.56ms高電平,1是0.65ms低電平+1.7ms高電平。

首先我們把上面的序列保存在數組里面,因為中間有一段較長的高電平時間,所以把它分成兩段來保存。

char open_1[]={1,0,0,1,0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0};
char open_2[]={1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1};
char close_1[]={1,0,0,0,0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0};
char close_2[]={1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0};

然后我們把發送邏輯1或者邏輯0封裝成函數

//發送紅外格式的1或者0。1:0.65ms高電平+1.67ms低電平   0:0.56ms低電平+0.55ms高電平
void sendData(int n)
{
  if(n==0)
  {
    endcount=t(650-100);           //理論計算與實際有偏差,需要進行一定的修正
    flag=1;         //表示需要發送低電平,體現為一段脈沖
    count=0;
    while(count

把發送一段長時間的高電平或者低電平封裝成函數

//發送普通的電平,電平1或者電平0,第二個參數是由上面的宏定義得到
void sendUsrLevel(int level,int t)
{
  endcount=t;
  count=0;
  if(level==0)
  {
    flag=1;
  }
  else{
    flag=0;
  }
  while(count

最后調用上面的函數把控制空調的信號發射出去

//控制空調的開或者關,0:關閉空調,1:開啟空調
void ControlAirConditioner(int cmd)
{
  char len=0;
  sendUsrLevel(0,t(9000-600));    //理論計算與實際有偏差,需要進行一定的修正
  sendUsrLevel(1,t(4500-350));
  if(cmd==0)   //關閉空調
  {
    len=sizeof(open_1)/sizeof(open_1[0]);
    for(int i=0;i

在main函數中進行調用,通過按鍵來控制空調的開或者關

int main()
{
  u8 i,ret=0;
  count = 0;
  flag = 0;
  OP = 0;
  IR_OUT = 1;
  SysTick_Init(72);
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  //中斷優先級分組 分2組
  LED_Init();
  KEY_Init();
  TIM4_Init(13,72-1);  //定時13us



  while(1)
  {
    i++;
    if(i%20==0)
    {
      led1=!led1;
    }
//    delay_ms(1000);  

    ret=KEY_Scan(0);
    if(ret==KEY_LEFT)
    {
      ControlAirConditioner(1);      //開空調
//      sendUsrLevel(0,t(9000));
//      sendUsrLevel(1,t(4500));
    }
    if(ret==KEY_RIGHT)
    {
      ControlAirConditioner(0);       //關空調
    }
  }
}

經過實際測試,確實可以控制我們的空調。

總的來說,思路比較簡單,就是捕獲遙控器的信號,這個作為標準信號,然后使用紅外發射模塊發射一個和他一樣的信號,另外就是這個需要使用邏輯分析儀去好好分析你實際產生的波形和標準波形的偏差,理論計算與實際難免有誤差。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6042

    文章

    44617

    瀏覽量

    637485
  • 模塊
    +關注

    關注

    7

    文章

    2730

    瀏覽量

    47656
  • 空調
    +關注

    關注

    11

    文章

    1235

    瀏覽量

    58659
  • 信號
    +關注

    關注

    11

    文章

    2804

    瀏覽量

    77003
  • 遙控器
    +關注

    關注

    18

    文章

    840

    瀏覽量

    66434
收藏 人收藏

    評論

    相關推薦

    紅外遙控器DIY自制

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

    自制紅外遙控器

    想用51單片機自制一個紅外遙控器,望各位學長不吝賜教!
    發表于 10-29 13:22

    格力空調y502k遙控器怎么寫代碼

    求大神指點格力空調y502k遙控器發射程序編寫。我們想自己通過紅外發射通過52單片機編程控制空調
    發表于 08-17 19:50

    智能遙控器 紅外發射接收系統

    完成了項目,本智能紅外遙控器可以對16個鍵的紅外信號學習和發射,同時還做了第二功能鍵,對兩個不同遙控器的鍵可以學習后同時發出,比如電視機和機
    發表于 04-25 22:36

    手機紅外空調遙控器DIY制作

    里,能不能用手機作為遙控器來開空調呢?答案當然是肯定的,有些智能手機本身就會標配有紅外發射器,那么只需要下載相應的空調
    發表于 07-10 00:31

    如何自制一款功能固定的紅外遙控器

    如題現有自帶紅外遙控器的家庭影院音響一套,想應用在酒店場景中,即插卡上電以后,音響自動打開并播放。由于音響本身上電以后保持待機狀態,必須要通過遙控開關或者主機開關按鈕才能是開機狀態。因此想自制
    發表于 01-10 15:51

    如何用普通遙控器遙控電腦

    ,一般的電視機遙控器即可,售價在十幾元。注意,不要使用空調遙控器,盡管它也是紅外發射的,但是每次按鍵后,它都會把
    發表于 04-27 07:40

    自制電腦紅外遙控器

      一句話,就是用電視遙控器控制電腦!   遙控器可以用隨便一個電視、VCD、DVD遙控器(空調遙控器不能用)   制作簡單,最少只要6
    發表于 09-23 17:32 ?268次下載

    紅外遙控器模塊+紅外測試代碼

    紅外遙控器模塊+紅外測試代碼,不錯的資料。
    發表于 11-10 11:04 ?43次下載

    智能學習型紅外空調遙控器分析

    為了解決空調遙控器不兼容問題,設計了一款基于Atmega16單片機的智能空調遙控器。該遙控器采用測量脈沖寬度的方法學習
    發表于 10-16 11:11 ?17次下載
    智能學習型<b class='flag-5'>紅外</b><b class='flag-5'>空調</b><b class='flag-5'>遙控器</b>分析

    基于STM32的紅外遙控器設計,實現紅外遙控器的復制與紅外信號的發送

    模塊具體怎么實現的。1.目的:復制遙控器紅外波形然后發射出去控制紅外家電設備。2.怎么復制:A.我是通過STM32的定時
    發表于 11-25 09:06 ?23次下載
    基于STM32的<b class='flag-5'>紅外</b><b class='flag-5'>遙控器</b>設計,實現<b class='flag-5'>紅外</b><b class='flag-5'>遙控器</b>的復制與<b class='flag-5'>紅外</b>信號的發送

    STM32解析美的空調紅外遙控器

    STM32解析美的空調紅外遙控器1.紅外線簡介??在光譜中波長自760nm至400um的電磁波稱為紅外線,它是一種不可見光。目前幾乎所有的視
    發表于 12-17 17:50 ?42次下載
    STM32解析美的<b class='flag-5'>空調</b><b class='flag-5'>紅外</b><b class='flag-5'>遙控器</b>

    智能學習型紅外空調遙控器的設計與實現

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

    Remote紅外遙控器

    -Remote紅外遙控開源硬件,快速方便控制你的空調~ 概述 小安派-Remote具有2.4寸液晶顯示模塊、電池電量檢測模塊、離線語音
    的頭像 發表于 08-28 16:21 ?939次閱讀

    如何提高紅外發射管在遙控器上的發射距離

    如何提高紅外發射管在遙控器上的發射距離? 遙控器成為了我們日常生活中不可或缺的一部分,我們通過遙控器
    的頭像 發表于 01-31 14:47 ?3607次閱讀
    主站蜘蛛池模板: 亚洲精品入口一区二区乱麻豆精品| 耽肉高h喷汁呻吟| 久久久大香菇| 中文字幕在线观看国产| 欧美双拳极限扩张| 国产精品视频免费视频| 国产亚洲高清视频| 亚洲午夜性春猛交XXXX| 免费国产久久拍久久爱| 国产 亚洲 另类 欧美 在线| 亚洲精品视频观看| 男生插曲女生身全过程| 国产伦精品一区二区三区精品| 中文字幕久久熟女人妻AV免费| 国产亚洲视频精彩在线播放| 最近最新的日本字幕MV| 双性h浪荡受bl| 久久精品嫩草影院免费看| 啊好大好厉害好爽真骚| 亚洲精品无夜久久久久久久久| 欧美三级不卡在线观线看| 国语92电影网午夜福利| CHINA末成年VIDEO学生| 亚洲激情一区| 日本肉肉口番工全彩动漫| 久cao在线香蕉| 国产电影午夜成年免费视频| 67194con免费福和视频| 亚洲大爷操| 日日a.v拍夜夜添久久免费| 久久青青草原精品国产软件| 国产成人综合在线观看网站| 91久久精一区二区三区大全| 亚洲成年人在线观看| 秋霞电影网午夜免费鲁丝片| 久久久久亚洲| 国产亚洲精品久久久久久入口| 不卡无线在一二三区| 51精品少妇人妻AV一区二区| 亚洲人成伊人成综合网久久久| 天天久久影视色香综合网|