Arduino IR门

时间:2013-03-16 16:03:16

标签: arduino infrared

我想用DFRobot IRsensor(开关)和伺服制作红外传感器门。问题出现在if语句中,因为当IR传感器前面没有任何东西时,数字读取总是在变化,这就是它所支持的方式...因此它会快速关闭和打开。但是当传感器前面有东西然后有些延迟时,我希望门是打开的,如果门前有某些东西(新的),它就会关闭。

mycode的:

    #include <Servo.h> 

Servo myservo;// create servo object to control a servo 
            // a maximum of eight servo objects can be created 
int IRsensor =8;

int pos = 180;    // variable to store the servo position 
int d;
boolean kondisi;


void setup() 
{ 
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object 
  pinMode (IRsensor,INPUT);
  Serial.begin (9600);
} 


void loop() 
 { 
  d = digitalRead (IRsensor);
  bukatutup (d);
  delay (15);
}

void bukatutup(int IR)
{
  Serial.println (IR);
  if (IR == 0 and (kondisi == false))
 {
   pos = 0;
   Serial.println ("terbuka");
  myservo.write (pos);
  kondisi == true;
  delay(1000);
  }
  else if ( IR == 0 and (kondisi == true))
{
   pos = 180;
   Serial.println ("tertutup");
   kondisi == false;
   myservo.write (pos);
   delay (1000);
  }
 }   

THX,

0 个答案:

没有答案