Paso 4: Sketch de Arduino
Finalmente aquí está el programa de arduino que controla los servos: (tiene una pequeña basura en ella - necesita limpiarlo)
#include
Servo servo1 servo2, servo3;
int potPin = 2;
Seleccione la entrada de pin para el potenciómetro
int servangle = 0; servo ángulo variable int potPin = 4;
Seleccione la entrada de pin para el potenciómetro
int potPin2 = 0;
Seleccione la entrada de pin para el potenciómetro
int ledPin = 13;
selecciona el pin para el LED int val = 0;
variable para almacenar el valor que viene desde el sensor
int valPot2 = 0;
int valInc = 4;
int currAngle = 0;
int newAngle = 0;
int delayTime = 0; Pernos lecturas analógicos const
int buttonPin = 2;
void myServo (int curAngle, int newAngle, int angleInc, int incDelay, int servoNum)
{Si (curAngle < newAngle) {para (ángulo int = curAngle; ángulo < newAngle; ángulo += angleInc) {}
Si (servoNum == 1) servo1.write(angle);
Si (servoNum == 2) servo2.write(angle); Delay(incDelay); } }
else if (curAngle > newAngle) {para (ángulo int = curAngle; ángulo > newAngle; ángulo = angleInc) {}
Si (servoNum == 1) servo1.write(angle);
Si (servoNum == 2) servo2.write(angle); Delay(incDelay); } } }
void setup() {}
Serial.Begin(9600);
pinMode (ledPin, salida);
declara el ledPin como salida
pinMode(buttonPin,INPUT);
servo1.Attach(9);
Delay(10);
servo1.Write(145);
servo2.Attach(11);
Delay(10);
servo2.Write(90);
servo3.Attach(13);
Delay(10);
servo3.Write(90);
Delay(2000); }
void loop() {}
Serial.Print ("buttonpin =");
Serial.println(digitalRead(buttonPin));
Val = 1000;
Serial.Print ("retrasar val =");
Serial.Print(Val);
Serial.Print ("ángulo de val =");
Serial.println(valPot2);
digitalWrite(ledPin,HIGH);
servo1.Write(30); 150 a 30
myServo(145,30,1,10,1);
servo2.Write(145); 90 a 150
Delay(1000);
servo3.Write(109); abrazadera 80 - 110
Delay(1000);
servo3.Write(100); 80 a 110
servo1.Write(145); 150 a 30
servo2.Write(130); 90 a 150
int y = 131; para (int x = 30; x < 146; x = x + 2) {}
myServo(30,145,1,10,1);
servo1.Write(x); 90 a 150
Delay(30);
y = y-1;
if(y > 89) {servo2.write(y);
Delay(30); }
myServo(130,90,1,10,2); }
Delay(7000);
servo3.Write(80); abrazadera de 90 a 150 - abierto
myServo1(172,90,1,15);
Delay(Val);
servo1.Write(172);
myServo1(valPot2,175,1,1);
digitalWrite(ledPin,LOW);
CLI();
Delay(5000); }