久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7109|回復: 1
打印 上一主題 下一主題
收起左側

Arduino紅外接收模塊源程序+電路

[復制鏈接]
跳轉到指定樓層
樓主
內涵原理圖和源碼,歡迎下載學習。

在使用前一定要記得給紅外遙控器上電池,還有紅外遙控器要結合紅外接收模塊使用,它負責將接收紅外遙控器發射過來的信息并將其解碼成十六進制碼,這樣才能實現既定的通信。
將紅外接收模塊與 Arduino正確連接,其中S 連接D11,VCC 接+5V,GND接 GND,并將其固定好;

與 Arduino 具體的電路原理圖如下:


Arduino源程序如下:
  1. /*
  2. * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv
  3. * An IR detector/demodulator must be connected to the input RECV_PIN.
  4. * Version 0.1 July, 2009
  5. * Copyright 2009 Ken Shirriff
  6. * http://arcfn.com
  7. */

  8. #include <IRremote.h>

  9. int RECV_PIN = 11;

  10. int LED1 = 2;
  11. int LED2 = 3;
  12. int LED3 = 4;
  13. int LED4 = 5;
  14. int LED5 = 6;
  15. int LED6 = 7;
  16. long on1  = 0x00FFA25D;
  17. long off1 = 0x00FFE01F;
  18. long on2 = 0x00FF629D;
  19. long off2 = 0x00FFA857;
  20. long on3 = 0x00FFE21D;
  21. long off3 = 0x00FF906F;
  22. long on4 = 0x00FF22DD;
  23. long off4 = 0x00FF6897;
  24. long on5 = 0x00FF02FD;
  25. long off5 = 0x00FF9867;
  26. long on6 = 0x00FFC23D;
  27. long off6 = 0x00FFB047;
  28. long all_on = 0x00FF30CF;
  29. long all_off = 0x00FF18E7;

  30. IRrecv irrecv(RECV_PIN);
  31. decode_results results;

  32. // Dumps out the decode_results structure.
  33. // Call this after IRrecv::decode()
  34. // void * to work around compiler issue
  35. //void dump(void *v) {
  36. //  decode_results *results = (decode_results *)v
  37. void dump(decode_results *results) {
  38.   int count = results->rawlen;
  39.   if (results->decode_type == UNKNOWN)
  40.     {
  41.      Serial.println("Could not decode message");
  42.     }
  43.   else
  44.    {
  45.     if (results->decode_type == NEC)
  46.       {
  47.        Serial.print("Decoded NEC: ");
  48.       }
  49.     else if (results->decode_type == SONY)
  50.       {
  51.        Serial.print("Decoded SONY: ");
  52.       }
  53.     else if (results->decode_type == RC5)
  54.       {
  55.        Serial.print("Decoded RC5: ");
  56.       }
  57.     else if (results->decode_type == RC6)
  58.       {
  59.        Serial.print("Decoded RC6: ");
  60.       }
  61.      Serial.print(results->value, HEX);
  62.      Serial.print(" (");
  63.      Serial.print(results->bits, DEC);
  64.      Serial.println(" bits)");
  65.    }
  66.      Serial.print("Raw (");
  67.      Serial.print(count, DEC);
  68.      Serial.print("): ");

  69.   for (int i = 0; i < count; i++)
  70.      {
  71.       if ((i % 2) == 1) {
  72.       Serial.print(results->rawbuf[i]*USECPERTICK, DEC);
  73.      }
  74.     else  
  75.      {
  76.       Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC);
  77.      }
  78.     Serial.print(" ");
  79.      }
  80.       Serial.println("");
  81.      }

  82. void setup()
  83. {
  84.   pinMode(RECV_PIN, INPUT);   
  85.   pinMode(LED1, OUTPUT);
  86.   pinMode(LED2, OUTPUT);
  87.   pinMode(LED3, OUTPUT);
  88.   pinMode(LED4, OUTPUT);
  89.   pinMode(LED5, OUTPUT);
  90.   pinMode(LED6, OUTPUT);  
  91.   pinMode(13, OUTPUT);
  92.   Serial.begin(9600);
  93.   
  94.   irrecv.enableIRIn(); // Start the receiver
  95. }

  96. int on = 0;
  97. unsigned long last = millis();

  98. void loop()
  99. {
  100.   if (irrecv.decode(&results))
  101.    {
  102.     // If it's been at least 1/4 second since the last
  103.     // IR received, toggle the relay
  104.     if (millis() - last > 250)
  105.       {
  106.        on = !on;
  107. //       digitalWrite(8, on ? HIGH : LOW);
  108.        digitalWrite(13, on ? HIGH : LOW);
  109.        dump(&results);
  110.       }
  111.     if (results.value == on1 )
  112.        digitalWrite(LED1, HIGH);
  113.     if (results.value == off1 )
  114.        digitalWrite(LED1, LOW);
  115.     if (results.value == on2 )
  116.        digitalWrite(LED2, HIGH);
  117.     if (results.value == off2 )
  118.        digitalWrite(LED2, LOW);
  119.     if (results.value == on3 )
  120.        digitalWrite(LED3, HIGH);
  121.     if (results.value == off3 )
  122.        digitalWrite(LED3, LOW);
  123.     if (results.value == on4 )
  124.        digitalWrite(LED4, HIGH);
  125.     if (results.value == off4 )
  126.        digitalWrite(LED4, LOW);
  127.     if (results.value == on5 )
  128.        digitalWrite(LED5, HIGH);
  129.     if (results.value == off5 )
  130.        digitalWrite(LED5, LOW);
  131.     if (results.value == on6 )
  132.        digitalWrite(LED6, HIGH);
  133.     if (results.value == off6 )
  134.        digitalWrite(LED6, LOW);
  135.     if (results.value == all_on )
  136.       {
  137.        digitalWrite(LED1, HIGH);
  138.        digitalWrite(LED2, HIGH);
  139.        digitalWrite(LED3, HIGH);
  140.        digitalWrite(LED4, HIGH);
  141.        digitalWrite(LED5, HIGH);
  142.        digitalWrite(LED6, HIGH);
  143.       }      
  144.     if (results.value == all_off )
  145.       {
  146.        digitalWrite(LED1, LOW);
  147.        digitalWrite(LED2, LOW);
  148.        digitalWrite(LED3, LOW);
  149.        digitalWrite(LED4, LOW);
  150.        digitalWrite(LED5, LOW);
  151.        digitalWrite(LED6, LOW);
  152.       }      
  153.     last = millis();      
  154.     irrecv.resume(); // Receive the next value
  155.   }
  156. }
復制代碼

所有資料51hei提供下載:
紅外接收模塊.rar (2.04 MB, 下載次數: 34)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:813417 發表于 2020-8-15 17:08 | 只看該作者
感謝樓主分享,當然有注釋更好啦
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av中文字幕在线 | 亚洲欧美日韩一区二区 | 成人在线国产 | 国产免费一区 | 久久久久久亚洲 | 国产日韩视频在线 | 999久久久久久久久 国产欧美在线观看 | 免费在线观看一区二区 | 色噜噜亚洲男人的天堂 | 综合二区 | 亚洲国产精品久久久久久 | 久久中文视频 | 伊人久久一区二区 | 亚洲国产成人精品久久久国产成人一区 | 狠狠伊人 | 久久久久国产一级毛片高清网站 | 欧美久| 午夜99 | 91av在线视频观看 | 日韩三级在线观看 | 91网在线观看 | 国产精品视频一二三区 | 亚洲高清视频一区二区 | 久草视频在线播放 | 国产精品精品久久久久久 | 久久国| 欧美日韩精品一区二区三区四区 | 久久精品久久久久久 | 操久久 | 成人免费淫片aa视频免费 | 成人av影院 | 亚洲一区二区三区在线视频 | 国产精品亚洲一区二区三区在线观看 | 国产免费一区二区三区网站免费 | 国产精品一区二区在线观看 | 伊人影院在线观看 | 国产综合av | 久久大| 欧美视频在线播放 | 成人av播放 | 午夜激情在线视频 |