/* RUTINA BRAZO ROBOTICO
* EJEMPLO EFIGENIO
*/
#include <Servo.h>
//BASE
Servo myservo1; //DECLARAMOS LA VARIABLE A CARGO DEL SERVOMOTOR (IZQUIERDO) DE LA
BASE
int mx1=180;
int in1=90;
int mn1=0;
//EJE DERECHO
Servo myservo2; //DECLARAMOS LA VARIABLE A CARGO DEL SERVOMOTOR DEL EJE DERECHO
int mx2=120;
int in2=90;
int mn2=45;
//BASE IZQUIERDO
Servo myservo3; //DECLARAMOS LA VARIABLE A CARGO DEL SERVOMOTOR DE LA BASE IZQUIERDO
int mx3=150;
INT in3b=120;
int in3=100;
int mn3=45;
//GRIPPER
Servo myservo4; //DECLARAMOS LA VARIABLE A CARGO DEL SERVOMOTOR DEL GRIPPER
int mx4=130;
int in4=100;
int mn4=65;
int pos = 0; //Variable para la posición de nuestro servomotor
void setup() {
[Link](A0); //Declara el puerto donde se conecta el servo
[Link](A1);
[Link](A2);
[Link](A3);
}
void loop()
{
//MI RUTINA SERA QUE MI ROBOT SE AGACHE, AGARRE UN OBJETO, SUBA Y LO MUEVA A OTRO
LADO
//INICIO EN MIS PUNTOS DE ORIGEN
[Link](mn3);
delay(500);
[Link](mx2);
delay(500);
[Link](mn4);
delay(500);
[Link](mn1);
delay(1000);
//BAJAR EL SERVOMOTOR IZQUIERDO A UN NIVEL INTERMEDIO
//INCREMENTO
for (pos = mn3; pos <= in3; pos += 1)
{
[Link](pos);
delay(15);
}
//CONTRAER EL SERVOMOTOR DERECHO A UN NIVEL MINIMO
//DECREMENTO
for (pos = mx2; pos >= mn2; pos -= 1)
{
[Link](pos);
delay(15);
}
//BAJAR EL SERVOMOTOR IZQUIERDO A UN NIVEL INTERMEDIO B
//INCREMENTO
for (pos = in3; pos <= in3b; pos += 1)
{
[Link](pos);
delay(15);
}
//EXTENDER EL SERVOMOTOR DERECHO A SU MAXIMO
//INCREMENTO
for (pos = mn2; pos <= in2; pos += 1)
{
[Link](pos);
delay(15);
}
//BAJAR EL SERVOMOTOR IZQUIERDO A UN NIVEL MAXIMO (opcional)
for (pos = in3b; pos <= mx3; pos += 1)
{
[Link](pos);
delay(15);
}
//CERRAR EL GRIPPER
[Link](mx4);
delay(2000);
//CONTRAER EL SERVOMOTOR DERECHO A SU MINIMO
/* //DECREMENTO
for (pos = in2; pos >= mn2; pos -= 1)
{
[Link](pos);
delay(15);
}
*/
//SUBIR EL SERVOMOTOR IZQUIERDO A UN NIVEL MINIMO, MANTENER EL GRIPPER CERRADO Y
EXTENDER EL SERVOMOTOR DERECHO
[Link](mn3);
delay(100);
[Link](mx4);
delay(100);
[Link](mx2);
delay(500);
//GIRAR LA BASE A 90° Y MANTENER EL GRIPPER CERRADO
//INCREMENTO
for (pos = mn1; pos <= in1; pos += 1)
{
[Link](pos);
[Link](mx4);
delay(15);
}
//ABRIR EL GRIPPER
[Link](mn4);
delay(2000);
//REGRESAR BASE A PUNTO DE INICIO
//DECREMENTO
for (pos = in1; pos >= mn1; pos -= 1)
{
[Link](pos);
delay(15);
}
/*/INCREMENTO
for (pos = 0; pos <= 180; pos += 1)
{
[Link](pos);
delay(15);
}
//DECREMENTO
for (pos = 180; pos >= 0; pos -= 1)
{
[Link](pos);
delay(15);
}
}
*/