Hola, necesito ayuda por favor, ya puedo reiniciar el código para que el sero vuelva a hacer el loop en cierta cantidad de tiempo, pero ahora necesito que el loop del servo se repita n cantidad de veces cuando es tiempo y que se vuelva a reiniciar el código, sin embargo no se como hacerlo.
#include <Servo.h>
// Declaramos la variable para controlar el servo
Servo servoMotor;
unsigned long startMillis; //some global variables available anywhere in the program
unsigned long currentMillis;
const unsigned long period = 10000;
void setup() {
// Iniciamos el monitor serie para mostrar el resultado
Serial.begin(9600);
// Iniciamos el servo para que empiece a trabajar con el pin 9
servoMotor.attach(9);
startMillis = millis();
}
void loop()
{
currentMillis = millis();
if (currentMillis - startMillis >= period)
{
startMillis = currentMillis;
servoMotor.write(0);
delay(3000);
servoMotor.write(90);
delay(1000);
}
}
Yo soy más de usar un bucle for, me gustan más para estas cosas que los if, pero es cuestión de gustos (me pone nervioso no ver una sentencia else...lo veo como a medias jejejej)
#include <Servo.h>
#define numero_ciclos 10 //aquí definimos el número de veces que se va a ejecutar este bucle
// Declaramos la variable para controlar el servo
Servo servoMotor;
unsigned long startMillis; //some global variables available anywhere in the program
unsigned long currentMillis;
const unsigned long period = 10000;
void setup() {
// Iniciamos el monitor serie para mostrar el resultado
Serial.begin(9600);
// Iniciamos el servo para que empiece a trabajar con el pin 9
servoMotor.attach(9);
startMillis = millis();
}
void loop()
{
//Se ejecuta el bucle numero_ciclos veces
for (int i = 0; i < numero_ciclos; i++) {
currentMillis = millis();
if (currentMillis - startMillis >= period)
{
startMillis = currentMillis;
servoMotor.write(0);
delay(3000);
servoMotor.write(90);
delay(1000);
}
}
//Pasadas las numero_cilcos veces se ejecuta el resto de codigo
/***************************/
/***** RESTO CODIGO *****/
/***************************/
}