0

DFRobot IRセンサー(スイッチ)とサーボでIRセンサードアを作りたいです。問題はifステートメントにあります.IRセンサーの前に何もないときにデジタル読み取りが常に変化しているためです. しかし、センサーの前に何かがあるとドアが開いてから、少し遅れて、ドアの前に何か(新しい)があるとドアが閉じます。

マイコード:

    #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);
  }
 }   

どうも、

4

0 に答える 0