• 大小: 32KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: Arduino  

资源简介

Arduino红外传感器库文件 里面附有红外传感器的示例代码 任意红外遥控器的解码

资源截图

代码片段和文件信息

/*
 * IRremote
 * Version 0.11 August 2009
 * Copyright 2009 Ken Shirriff
 * For details see http://arcfn.com/2009/08/multi-protocol-infrared-remote-library.html
 *
 * Modified by Paul Stoffregen  to support other boards and timers
 * Modified  by Mitra Ardron  
 * Added Sanyo and Mitsubishi controllers
 * Modified Sony to spot the repeat codes that some Sony‘s send
 *
 * Interrupt code based on NECIRrcv by Joe Knapp
 * http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1210243556
 * Also influenced by http://zovirl.com/2008/11/12/building-a-universal-remote-with-an-arduino/
 *
 * JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post)
 */

#include “IRremote.h“
#include “IRremoteInt.h“

// Provides ISR
#include 

volatile irparams_t irparams;

// These versions of MATCH MATCH_MARK and MATCH_SPACE are only for debugging.
// To use them set DEBUG in IRremoteInt.h
// Normally macros are used for efficiency
#ifdef DEBUG
int MATCH(int measured int desired) {
  Serial.print(“Testing: “);
  Serial.print(TICKS_LOW(desired) DEC);
  Serial.print(“ <= “);
  Serial.print(measured DEC);
  Serial.print(“ <= “);
  Serial.println(TICKS_HIGH(desired) DEC);
  return measured >= TICKS_LOW(desired) && measured <= TICKS_HIGH(desired);
}

int MATCH_MARK(int measured_ticks int desired_us) {
  Serial.print(“Testing mark “);
  Serial.print(measured_ticks * USECPERTICK DEC);
  Serial.print(“ vs “);
  Serial.print(desired_us DEC);
  Serial.print(“: “);
  Serial.print(TICKS_LOW(desired_us + MARK_EXCESS) DEC);
  Serial.print(“ <= “);
  Serial.print(measured_ticks DEC);
  Serial.print(“ <= “);
  Serial.println(TICKS_HIGH(desired_us + MARK_EXCESS) DEC);
  return measured_ticks >= TICKS_LOW(desired_us + MARK_EXCESS) && measured_ticks <= TICKS_HIGH(desired_us + MARK_EXCESS);
}

int MATCH_SPACE(int measured_ticks int desired_us) {
  Serial.print(“Testing space “);
  Serial.print(measured_ticks * USECPERTICK DEC);
  Serial.print(“ vs “);
  Serial.print(desired_us DEC);
  Serial.print(“: “);
  Serial.print(TICKS_LOW(desired_us - MARK_EXCESS) DEC);
  Serial.print(“ <= “);
  Serial.print(measured_ticks DEC);
  Serial.print(“ <= “);
  Serial.println(TICKS_HIGH(desired_us - MARK_EXCESS) DEC);
  return measured_ticks >= TICKS_LOW(desired_us - MARK_EXCESS) && measured_ticks <= TICKS_HIGH(desired_us - MARK_EXCESS);
}
#endif

void IRsend::sendNEC(unsigned long data int nbits)
{
  enableIROut(38);
  mark(NEC_HDR_MARK);
  space(NEC_HDR_SPACE);
  for (int i = 0; i < nbits; i++) {
    if (data & TOPBIT) {
      mark(NEC_BIT_MARK);
      space(NEC_ONE_SPACE);
    } 
    else {
      mark(NEC_BIT_MARK);
      space(NEC_ZERO_SPACE);
    }
    data <<= 1;
  }
  mark(NEC_BIT_MARK);
  space(0);
}

void IRsend::sendSony(unsigned long data int nbits) {
  enableIROut(40);
  mark(SONY_HDR_MARK);
  space(SONY_HDR_SPACE);
  data = data << (32 - nbits);
  for (int i = 0; i < nb

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-01-25 13:49  IRremote\
     目录           0  2018-01-25 13:49  IRremote\examples\
     目录           0  2018-01-25 13:49  IRremote\examples\IRrecord\
     文件        4587  2013-12-29 13:58  IRremote\examples\IRrecord\IRrecord.ino
     目录           0  2018-01-25 13:49  IRremote\examples\IRrecvDemo\
     文件         545  2013-12-29 13:58  IRremote\examples\IRrecvDemo\IRrecvDemo.ino
     目录           0  2018-01-25 13:49  IRremote\examples\IRrecvDump\
     文件        2075  2013-12-29 13:58  IRremote\examples\IRrecvDump\IRrecvDump.ino
     目录           0  2018-01-25 13:49  IRremote\examples\IRrelay\
     文件        2086  2013-12-29 13:58  IRremote\examples\IRrelay\IRrelay.ino
     目录           0  2018-01-25 13:49  IRremote\examples\IRsendDemo\
     文件         447  2013-12-29 13:58  IRremote\examples\IRsendDemo\IRsendDemo.ino
     目录           0  2018-01-25 13:49  IRremote\examples\IRtest2\
     文件        8160  2013-12-29 13:58  IRremote\examples\IRtest2\IRtest2.ino
     目录           0  2018-01-25 13:49  IRremote\examples\IRtest\
     文件        4592  2013-12-29 13:58  IRremote\examples\IRtest\IRtest.ino
     目录           0  2018-01-25 13:49  IRremote\examples\JVCPanasonicSendDemo\
     文件         929  2013-12-29 13:58  IRremote\examples\JVCPanasonicSendDemo\JVCPanasonicSendDemo.ino
     文件       28174  2013-12-29 13:58  IRremote\IRremote.cpp
     文件        3867  2013-12-29 13:58  IRremote\IRremote.h
     文件       13639  2013-12-29 13:58  IRremote\IRremoteInt.h
     文件         977  2013-12-29 13:58  IRremote\keywords.txt
     文件       24356  2013-12-29 13:58  IRremote\LICENSE.txt
     文件         700  2013-12-29 13:58  IRremote\readme

评论

共有 条评论