Hola a todos.
Estoy haciendo un proyecto en mi auto, consiste en que cada vez que pase las 5000 rpm encienda un led por 1 segundo y luego mantenerlo apagado, el motor llega a 8000 rpm.
ya tengo la lectura de las rpm del motor, por lo que necesariamente debe ser con millis().
quede aqui:Código: C
if (rpm > 5000) { led = 1; unsigned long tiempo = millis(); while (millis() < (tiempo + 1000)); led = 0; }
Algo así.
:lol:
Hola.
No puedo usar while() por que tengo que mantener la lectura de las rpm en todo el tiempo. :?
Hola a todos.
Estoy haciendo un proyecto en mi auto, consiste en que cada vez que pase las 5000 rpm encienda un led por 1 segundo y luego mantenerlo apagado, el motor llega a 8000 rpm.
ya tengo la lectura de las rpm del motor, por lo que necesariamente debe ser con millis().
quede aqui:
if (rpm > 5000) {
}
:lol:
void loop() {
if (rpm >= 5000) {
tActual = millis();
Serial.println((tActual - tInicio));
if (tActual - tInicio <= 1000) {
digitalWrite(solenoid_pin, HIGH);
digitalWrite(led_pin, HIGH);
} else {
digitalWrite(led_pin, LOW);
digitalWrite(solenoid_pin, LOW);
}
} else {
tInicio = millis();
}
}
Gracias por los comentarios.
Me ayudaron los videos sobre el funcionamiento de millis()
es algo demasadio simple, pero lo solucione así:Código: [Seleccionar]void loop() {
if (rpm >= 5000) {
tActual = millis();
Serial.println((tActual - tInicio));
if (tActual - tInicio <= 1000) {
digitalWrite(solenoid_pin, HIGH);
digitalWrite(led_pin, HIGH);
} else {
digitalWrite(led_pin, LOW);
digitalWrite(solenoid_pin, LOW);
}
} else {
tInicio = millis();
}
}