磁动力电子网-雕刻机DIY论坛,单片机论坛,CNCDIY,DIYCNC

 找回密码
 加入磁动力

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2715|回复: 3

[应用实例] 简单的红外对管反射开关(IR Detector)

[复制链接]
发表于 2012-3-14 16:59:19 | 显示全部楼层 |阅读模式
画了一个下午写了个Demo,晚上又调试了下,原理和结构都很简单,还有很大的改进空间,希望和大家一起分享,希望有改进的朋友也能把改动的代码一起拿上来分享。
ps:没有下arduino-IDE的中文补丁,所以用蹩脚的英文注释的,大家将就一下了。
//|-------------------------------------------|
//|   IR Sensor pin     |   arduinoMega2560   |
//|---------------------|---------------------|
//|   Infrared diode    |     12,GND          |
//|---------------------|---------------------|
//|   Receiving diode   |     A0,GND          |
//|-------------------------------------------|
int sendPin = 12;
int ledPin = 13;
const int analogInPin = A0;
int minusValue = 0;
int closedValue = 0;
int openValue = 0;
int flag = 0;
void setup(){
  pinMode(sendPin,OUTPUT);
  pinMode(ledPin,OUTPUT);
  pinMode(analogInPin,INPUT);
  Serial.begin(9600);
}
void loop(){
  //for(int i=0;i<6;i++){
    digitalWrite(sendPin,HIGH);//Open IR
    delay(30);  
    openValue = analogRead(analogInPin);   //Get openValue
    Serial.print("open = " );                       
    Serial.print(openValue);  
    Serial.print("\n");
   
    delay(30);
    digitalWrite(sendPin,LOW);   //Closed IR
    closedValue = analogRead(analogInPin); //Get closedValue
    Serial.print("closed = " );                       
    Serial.print(closedValue);
    Serial.print("\n");
   
    minusValue = (openValue - closedValue);  //Get minusValue
    Serial.print("sensorValue = " );                       
    Serial.print(minusValue);
    Serial.print("\n"); //printf minusValue to Debug
    if(minusValue<-30){ //Adjust this minimumNumber to set sensor range
        flag ++;
        if (~(digitalRead(ledPin)&&(flag>35)))//Adjust this number to set Sensitivity
        digitalWrite(ledPin,HIGH);  
    }
    else flag --;
    while(flag<0) {
      digitalWrite(ledPin,LOW);
      flag = 10;
    }
}
回复

使用道具 举报

发表于 2012-3-15 00:12:09 | 显示全部楼层
大概看了下,你这样做法不好,间隔几十毫秒采样一次,对于环境光的干扰没法排除
回复 支持 反对

使用道具 举报

发表于 2012-4-29 14:08:36 | 显示全部楼层
谢谢您。。。。{:soso_e179:}
回复 支持 反对

使用道具 举报

发表于 2016-4-23 18:33:05 | 显示全部楼层
各坛的大佬级人物都不屑这东西
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入磁动力

本版积分规则

QQ|小黑屋|手机版|Archiver|www.cdle.net 磁动力电子网 2001-2017 ( 粤ICP备10098153号

粤公网安备 44040402000001号

GMT+8, 2019-1-20 20:48

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.