Iniciar programa con un boton

Buenas a todos, quiero que este programa se me inicie cuando presione el botón, pero no logró encontrar la solucion...agradezco alguna ayuda....

`#include <Servo.h>
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;

int pinservo1 = 2;
int pinservo2 = 3;
int pinservo3 = 4;
int pinservo4 = 5;
int pinservo5 = 6;
int Button = 7;
// estados del boton
int estaon = LOW;

void abrir() {
servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
}
void indice(char op) { //con 1 abre y con 2 cierra
switch (op) {
case 1:
servo1.write(0);
break;
case 2:
servo1.write(180);
break;
}
}

void corazon(char op) {
switch (op) {
case 1:
servo2.write(0);
break;
case 2:
servo2.write(180);
break;
}
}

void anular(char op) {
switch (op) {
case 1:
servo3.write(0);
break;
case 2:
servo3.write(180);
break;
}
}
void menique(char op) {
switch (op) {
case 1:
servo4.write(0);
break;
case 2:
servo4.write(180);
break;
}
}
void pulgar(char op) {
switch (op) {
case 1:
servo5.write(0);
break;
case 2:
servo5.write(180);
break;
}
}
void cerrar() {
indice(2);
corazon(2);
anular(2);
menique(2);
pulgar(2);
delay(1000);
}
void contar() {
cerrar(); // en 180
delay(1000);
indice(1); // en 0
delay(1000);
corazon(1);
delay(1000);
anular(1);
delay(1000);
menique(1);
delay(1000);
pulgar(1);
delay(1000);
}

void regresivo() {
abrir(); // en 0 para 5
delay(1000);
pulgar(2); // en 180 para 4
delay(1000);
menique(2); // para 3
delay(1000);
anular(2); // para 2
delay(1000);
corazon(2); // para 1
delay(1000);
indice(2); // para 0
delay(1000);
}

void setup() {
// configurar pin como entrada
pinMode(Button, INPUT);
// CONFIGURAR PIN DE servo COMO SALIDA
servo1.attach(pinservo1, 610, 2550);
servo2.attach(pinservo2, 670, 2540);
servo3.attach(pinservo3, 660, 2600);
servo4.attach(pinservo4, 660, 2600);
servo5.attach(pinservo5, 660, 2600);
pinMode(pinservo1, OUTPUT);
pinMode(pinservo2, OUTPUT);
pinMode(pinservo3, OUTPUT);
pinMode(pinservo4, OUTPUT);
pinMode(pinservo5, OUTPUT);
Serial.begin(9600);
abrir();
}

void loop() {
// LEER EL ESTADO DE PINES DE BOTON A VARIABLES
estaon = digitalRead(Button);

// SE OPRIMIO EL BOTON DE ENCENDIDO?
if (estaon == LOW) {
// ENTONCES ENCENDEMOS EL LED
digitalWrite(pinservo1, LOW);
digitalWrite(pinservo2, LOW);
digitalWrite(pinservo3, LOW);
digitalWrite(pinservo4, LOW);
digitalWrite(pinservo5, LOW);
}
cerrar();
delay(1200);
abrir();
delay(1200);
contar();
delay(1200);
regresivo();
delay(1200);
}`

Por favor edita tu post y adjunta el código de acuerdo a las Normas del Foro en Español, punto 7. Antes de volver a copiarlo, usa la opción Autoformato del menú Herramientas de la IDE. Es para tu beneficio.

A ver, el programa se inicia cuando das energía a la placa, si no fuese así no podría leer el estado del pulsador. Lo que tu quieres es que una parte del programa solo se ejecute luego de pulsar el botón. ¿Correcto?

Hola MaximoEsfuerzo, es exactamente lo que necesito y gracias por el consejo del auto formato!!!

Moderador:
Por favor, lee las Normas del foro y edita tu código/error usando etiquetas de código.
Ve a edición, luego selecciona todo el código que has publicado, lo cortas y click en (<CODE/>)


Edita tu código y no avances en respuestas sin hacerlo por favor.
Gracias por tu colaboración.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.