Parpadeo sin retraso
Algunas veces tu necesitas dos cosas a la vez. Por ejemplo, tu necesitas hacer parpadear un LED mientras lees otra entrada. En este caso, tu no puedes usar delay(), si lo haces se detendrá todo lo demás del programa mientras el LED parpadea. En este programa se demuestra como hacer que el LED parpadee sin necesidad de un delay().
¿Qué se necesita?
Arduino Board
LED
Resistencia de 220 ohms
A continuación se muestra el esquema de como debe ir conectado el LED y la resistencia en el Arduino.
Para armar el circuido, toma el LED e insértalo en el Arduino, la patita positiva en el pin 3 y la patita negativa que es la más corta del LED a tierra. Ahora conecta tu Arduino a la computadora y corre el programa Arduino con el siguiente código.
Código
En este código se utiliza la función millis(), es un comando que regresa el número de milisegundos desde que el Arduino empieza a correr el programa para hacer parpadear el LED.
const int ledPin = 13; // el # de pin donde se encuentra el LED int ledState = LOW; // estado del LED long previousMillis = 0; // guarda la ultima vez que el LED se actualiza long interval = 1000; // intervalo de tiempo cuando el LED parpadea void setup() { pinMode(ledPin, OUTPUT); } void loop() { unsigned long currentMillis = millis(); if(currentMillis - previousMillis > interval) { // guarda la ultima vez que el LED parpadea previousMillis = currentMillis; // si el LED está apagado, lo prende y viceversa if (ledState == LOW) ledState = HIGH; else ledState = LOW; // establecer el LED con el estado de la variable digitalWrite(ledPin, ledState); } }
Hola, tengo una pregunta, estoy haciendo un programa con "case" para apagar y encender leds con mando a distancia, quiero hacer intermitentes pero no con "delay" por que hasta que no acaba me congela todo el programa, me han hablado de "millis" pero no tengo idea de como cambiarlo, podrías decirme como seria??
ResponderEliminarPuedes adaptar fácilmente el código que está lineas arriba....
ResponderEliminar