Facebook
From Thanat, 3 Years ago, written in Actionscript.
This paste is a reply to servo model from Thanat - go back
Embed
Viewing differences between servo model and Re: servo model
/* 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 
int pin = 10;
unsigned long duration;
int rc 
duration,temp_duration = 0;
Servo servo1; servo1;  // top left
create servo object to control a servo
Servo servo2; // bottom left
servo2;
Servo servo3; // top right
servo3;
Servo servo4; servo4;
// bottom right
twelve servo objects can be created on most boards

int pos = 0;    // variable to store the servo position

void setup() {
      Serial.begin(9600);
  pinMode(pin, INPUT);
  //pinMode(6,OUTPUT);
   
servo1.attach(6);
   
attach(9, 0, 180); // attaches the servo on pin 9 to the servo object
  
servo2.attach(7);
   
attach(8, 0, 180);
  
servo3.attach(8);
   
attach(7, 0, 180);
  
servo4.attach(9);
attach(6, 0, 180);
  pinMode(10, INPUT);


}

void extend ()
{
  for (pos = 100; pos <= 180; pos += 1) {
    // in steps of 1 degree
    servo1.write(pos);
    servo2.write(pos);
    servo3.write(pos);
    servo4.write(pos);
    delay(10);
  }
}
void retract ()
{
  for (pos = 180; pos >= 100; pos -= 1) {
    servo1.write(pos);
    servo2.write(pos);
    servo3.write(pos);
    servo4.write(pos);
    delay(10);
  }
}



void loop() {
    
temp_duration = duration;  
duration = pulseIn(pin, HIGH);
  if(duration <1350)
  { 
    servo1.write(85);
    servo2.write(72);
    servo3.write(77);
    servo4.write(85);
  }
  else 
pulseIn(10, HIGH);

if ((temp_duration/100) != (duration/100) and (duration >1350 and duration <1550)
- temp_duration > 50  )
{
  Serial.println(duration);
  if(((duration/100)==12) or ((duration/100)==13) )
  {
       servo1.write(45);\n    servo2.write(117);\n    servo3.write(35);\n    servo4.write(130);\n    extend();
  }
  else 
  {
   servo1.write(0);\n  servo2.write(0);\n  servo3.write(0);\n  servo4.write(0);\n    retract();
  }
}

//Serial.println(duration);
  //extend();
  //retract();

}