¿Cómo hacer parpadear los LED con un microcontrolador?

Lo que planeo hacer es programar un microcontrolador para realizar un seguimiento del tiempo y hacer parpadear las luces LED.

Las características que necesitaría:

  • Disminuir/aumentar el intervalo entre destellos
  • Luces LED específicas de flash (habrá dos colores LED diferentes)
  • Destelle varias luces LED simultáneamente
  • La capacidad de espaciar las luces LED más alejadas ~6" entre sí (las luces estarán en una sola línea)

Estoy planeando comprar Arduino Uno y estas luces LED . Usaría un máximo de 6 LEDS a la vez.

¿Sería esto todo lo que necesito para hacer esto?

Bueno, todo lo que realmente necesita para comenzar a funcionar sería su Arduino, LED, resistencias, una placa de prueba y un par de cables de puente. Aparte de eso, todo lo demás que mencionó debe clasificarse como un ejercicio de software, su especialidad.

Respuestas (3)

Como no ha aceptado una respuesta, arrojaré mis sugerencias.

La mayor parte de la complejidad aquí estará en el software y, dada su experiencia, no debería tener problemas allí.

Desde el punto de vista del hardware, recomiendo probar primero con un LED con una resistencia en serie al pin UNO al que está conectado. Los LED a los que se vincula no indican un consumo de corriente, si no puede averiguarlo, le sugiero que configure su resistencia en 2,2 K ohmios (no pregunte por qué, siempre empiezo allí). Si es demasiado tenue, reduzca la resistencia hasta que encuentre un brillo con el que esté satisfecho.

Consiga un voltímetro y mida la caída de tensión en la resistencia; debería ser aproximadamente 1,4 V menos que la tensión de alimentación, pero siempre vale la pena comprobarlo. (ver la respuesta de Martin para más detalles sobre este bit)

Divida este voltaje por la resistencia que elija y ahora sabe la corriente que necesita un LED para alcanzar el brillo que desea. Asegúrese de que este número sea menor que la corriente de salida máxima que puede suministrar el UNO. Si no es así, deberá aumentar su resistencia o usar el UNO para conducir un MOSFET para encender y apagar el LED; para ser honesto, si es demasiado, es posible que el UNO haya muerto en este punto o al menos estar caliente.

Si desea conducir más de un LED desde el pin, deberá disminuir su resistencia para asegurarse de que fluya suficiente corriente a través de los LED para asegurarse de que los LED tengan el brillo que desea. Nuevamente, tenga cuidado de no consumir más de lo que puede suministrar el UNO; básicamente será un múltiplo de la corriente que calculó para el LED único.

Si aumenta por encima de la salida de corriente máxima del UNO, entonces podría distribuir los LED en más pines de salida o usar un MOSFET para controlar los LED.

Fuera de eso no deberías tener demasiados problemas.

Estás viendo algo que debería ser relativamente sencillo.

Realmente, la configuración del hardware no debería molestarte demasiado. El Arduino tiene pines más que suficientes para acomodar los 6 led. Como tal, puede configurar las luces en paralelo, conectadas a pines en el Arduino, con una placa de prueba o como quiera, con las resistencias correspondientes.

Hacer parpadear los LED tampoco es un problema, sería cuestión de poner los pines altos. Cada vez que necesite hacer parpadear un LED, simplemente seleccione el pin y configúrelo alto, agregue un retraso por la cantidad de tiempo que necesita que esté encendido y luego vuelva a configurarlo bajo.

Aquí hay un ejemplo:

int led1 = 1;
int led2 = 2;
int led3 = 3;
int led4 = 4;
int led5 = 5;
int led6 = 6;

void setup () [
    pinMode (led1, OUTPUT);
    pinMode (led2, OUTPUT);
    pinMode (led3, OUTPUT);
    pinMode (led4, OUTPUT);
    pinMode (led5, OUTPUT);
    pinMode (led6, OUTPUT);
}

void loop () {
    //will flash the led for one second, you can even put conditions on this 
    //(you wanted time?)
    digitalWrite (led1, HIGH);
    delay(1000);
    digitalWrite (led1, LOW);
    delay(1000);
    // add for more led's as needed
}

De hecho, el pin 13 en tu Arduino ya debería tener una resistencia incorporada.

Ahora, si desea que los LED parpadeen al mismo tiempo, tendrá que investigar cosas como esta .

Salud.

Querrá algunas resistencias para limitar la corriente del pin Arduino a los LED. El valor dependerá del color del LED (ya que esto afecta el "voltaje directo" del LED). Calculaste la resistencia con la ley de Ohm.

El voltaje a través de la resistencia es

V R = 5 V L mi D

La corriente (indicada por I) define el brillo de los LED (y si aumenta demasiado, los encontrará muy brillantes durante un período muy corto, y nunca más volverán a brillar :). La hoja de datos del LED especificará la corriente máxima.

Una vez que sepa el voltaje y la corriente, es simplemente:

R = V R / I