Servo keeps returning to 0 after move


my servo reacts should , moves position, it's there returns 0 goes loop of movement.

i have code reads state of switch. if switch low, moves servo down 0. if switch high, moves servo 140.

as stands, if switch low, servo behaves , stays down. if switch high, moves up, shoots down, shoot again in continuous loop. i've tested switch , being read absolutely fine. no issues reading can't life of me figure out what's causing it.

here's code:

code: [select]

maskbuttonstate = digitalread(maskbutton);
eyesbuttonstate = digitalread(eyesbutton);
  if((servostate == false) && (maskbuttonstate == high)){
    digitalwrite(eyes, low);
    eyestate = false;
    delay(500);
    (pos = 70; pos <= 140; pos += 1){
      myservo.write(pos);
    }
    servostate = true;
    maskbuttonstate = digitalread(maskbutton);
  }else if((servostate == true) && (maskbuttonstate == low){
    (pos = 140; pos >= 70; pos -= 1){
      myservo.write(pos);
    }
    if(eyesbuttonstate == high){
    delay(500);
    digitalwrite(eyes, high);
    eyestate = true;
    };
    servostate = false;
   
  }

i wonder if compound ifs doing think

try this
code: [select]
maskbuttonstate = digitalread(maskbutton);
eyesbuttonstate = digitalread(eyesbutton);
if(servostate == false) {
    if(maskbuttonstate == high)){
        digitalwrite(eyes, low);
        eyestate = false;
        delay(500);
        for (pos = 70; pos <= 140; pos += 1){
          myservo.write(pos);
        }
        servostate = true;
        maskbuttonstate = digitalread(maskbutton);
    }
}
}else if(servostate == true) {
    if (maskbuttonstate == low){
        for (pos = 140; pos >= 70; pos -= 1){
          myservo.write(pos);
        }
        if(eyesbuttonstate == high){
            delay(500);
            digitalwrite(eyes, high);
            eyestate = true;
        };
        servostate = false;
    }
}

i not claiming have done things correctly, errors should more obvious. , can insert serial.print() statements watch doing.

...r


Arduino Forum > Using Arduino > Motors, Mechanics, and Power (Moderator: fabioc84) > Servo keeps returning to 0 after move


arduino

Comments

Popular posts from this blog

DHT11 Time out error using v0.4.1library

Sketch upload fails with Java error (___REMOVE___/bin/avrdude)!

Arduino Uno + KTY81/210 temperature sensor