/* Sweep by BARRAGAN This example code is in the public domain. modified 8 Nov 2013 by Scott Fitzgerald http://www.arduino.cc/en/Tutorial/Sweep */ #include //Define Variables we'll be connecting to double Setpoint, Input, Output; Servo myservo; // create servo object to control a servo // twelve servo objects can be created on most boards int pos = 0; // variable to store the servo position int dif = 18; #define MIN 90-dif #define MAX 90+dif void setup() { Serial.begin(9600); pinMode(A0, INPUT); digitalWrite(A0, LOW); myservo.attach(9); // attaches the servo on pin 9 to the servo object myservo.write(90); // tell servo to go to position in variable 'pos' delay(15); // waits 15ms for the servo to reach the position for (pos = 90; pos <= MAX; pos += 1) { // goes from 0 degrees to 180 degrees // in steps of 1 degree myservo.write(pos); // tell servo to go to position in variable 'pos' delay(50); // waits 15ms for the servo to reach the position } } boolean stop_bool = false; unsigned long time_stop = 0; void loop() { stop_bool = false; time_stop = millis(); while (!digitalRead(A0)) { if ((millis()-time_stop)>=100) { stop_bool = true; Serial.println("Hola"); break; } else stop_bool = false; } if (!stop_bool) { for (pos = MAX; pos >= MIN; pos -= 1) { // goes from 180 degrees to 0 degrees myservo.write(pos); // tell servo to go to position in variable 'pos' delay(50); // waits 15ms for the servo to reach the position } for (pos = MIN; pos <= MAX; pos += 1) { // goes from 0 degrees to 180 degrees // in steps of 1 degree myservo.write(pos); // tell servo to go to position in variable 'pos' delay(50); // waits 15ms for the servo to reach the position } } else { myservo.write(90); // tell servo to go to position in variable 'pos' delay(15); // waits 15ms for the servo to reach the position } }