Arduino - Cargar un Array de datos con For, los datos están disponibles cada 15 seg en sincronía con Millis

 
Vista:

Cargar un Array de datos con For, los datos están disponibles cada 15 seg en sincronía con Millis

Publicado por Cacu (1 intervención) el 24/02/2021 18:07:44
Hola a todos y gracias de antemano por la ayuda!!!
Explico desde cero el problema:

En el loop tengo un bloque que cuenta pulsos de un sensor:
(Este debe estar todo el tiempo funcionando por lo que debo evitar el uso de Delay en el resto del codigo)

1
2
3
4
5
6
7
8
int estado = digitalRead(D1);
  if (estado == HIGH) {
    estadoSalida = 1;
  }
  if (estadoSalida == 1 && estado == LOW) {
    contPulsos++;
    estadoSalida = 0;
  }

El problema esta cuando quiero usar cada 15 segundos, los pulsos que conté en contPulsos e ir completando un array de datos.
Las aproximaciones que tengo que no resuelven el tema son la siguientes:

1
2
3
4
5
6
7
8
9
10
11
12
for (p = 0; p < N; p++)
  { if (millis() > (starTime + tiempoCiclo)) {
      velPulsos = (contPulsos * 0.242);
      datos[p] = velPulsos;
      Serial.print("Posicion:");
      Serial.print(p);
      Serial.print("Velocidad:");
      Serial.print(datos[p]);
      starTime = millis();
      contPulsos = 0;
    }
}

Calculo que lo estoy encarando mal, reconozco que nunca estudié programación. Cualquier ayuda o consejo que puedan darme será muy agradecido. Saludos!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder