Hola a todos
soy estoy aprendiendo recian a usar arduino
estoy trabajando con un arduino uno, para hacer el cronometro de un marcador deportivo, generando un pulso cada segundo y otro pulso cada un minuto, cuando se genera el pulso del minuto resetea el display de 7 segmentos para que los segundos cuenten hasta 60.
mi problema es la pausa, cuando activo la pausa solo corta los pulsos , pero no detiene el contador,
const int inputPin = A5;
const int ledPin2 = A2; // asigne pin A2 para minuto y el A1 para segundo
const int ledPin3 = A1;
int ledState = LOW;
int ledState1 = LOW; // que partan apagados
long previousMillis = 0;
long previousMillis1 = 0;
long intervalOn = 5;
long intervalOff = 59995;
long interval1On = 100;
long interval1Off = 900;
unsigned long tiempo = 1000;
int val = 0; //val se emplea para almacenar el estado del boton
int state = 0; // 0 LED apagado, mientras que 1 encendido
int old_val = 0; // almacena el antiguo valor de val
int value = 0;
void setup() {
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(inputPin, INPUT);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
}
void loop(){
value = analogRead(inputPin);
if (value == LOW) {
unsigned long currentMillis1 = millis();
if (ledState1 == LOW) {
if(currentMillis1 - previousMillis1 > interval1Off) {
previousMillis1 = currentMillis1;
ledState1 = HIGH;
}
} else {
if(currentMillis1 - previousMillis1 > interval1On) {
previousMillis1 = currentMillis1;
ledState1 = LOW;
}
digitalWrite(ledPin2, ledState1);
unsigned long currentMillis = millis();
if (ledState == LOW) {
if(currentMillis - previousMillis > intervalOff) {
previousMillis = currentMillis;
ledState = HIGH;
}
} else {
if(currentMillis - previousMillis > intervalOn) {
previousMillis = currentMillis;
ledState = LOW;
}
digitalWrite(ledPin3, ledState);
value = analogRead(inputPin);
if (value == HIGH) {
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
return;
}}}}}
saludos