Simplificación de efectos LED básicos

Hubo un tiempo en el que tener un LED azul parpadeante en un proyecto era todo lo que necesitabas para ser uno de los niños geniales. Pero ahora necesitas algo más complejo. Los LED no solo se encienden, tienen que aparecer y desaparecer gradualmente. ¿Y parpadear? El calor de hoy respira LED. Si desea un proyecto de este tipo, debe verificar [jandelgado’s] biblioteca jled.

A primera vista, una biblioteca Arduino para el control de LED puede parecer superflua, pero si está interesado en efectos hermosos, codificarlos puede ser un poco tedioso. Si no le importa detener todo mientras atenúa (o apaga) un LED, entonces está seguro de escribir un bucle y son unas pocas líneas de código. Pero si quieres que suceda mientras siguen sucediendo otras cosas, es un poco diferente. La biblioteca lo hace fácil y también está bellamente documentado.

Obviamente, para crear un efecto LED especial, debe crear un objeto JLed. Luego, puede usar métodos de modificación en ese objeto para obtener algunos efectos. La única luz es que debe llamar al método de actualización con el LED periódicamente. Aquí hay un ejemplo del proyecto:

#include <jled.h>

// connect LED to pin 13 (PWM capable). LED will breathe with period of
// 2000ms and a delay of 1000ms after each period.
JLed led = JLed(13).Breathe(2000).DelayAfter(1000).Forever();

void setup() { }

void loop() {
   led.Update();
}

Bastante fácil y legible. Recuerde que algunos Arduinos no pueden hacer PWM en el pin 13, por lo que es posible que deba configurarlo. Nuestra única queja es que debe actualizar todos los LED. Sería bueno si el constructor de JLed mantuviera una lista vinculada de todos los objetos LED para que tenga un método de clase que actualice todos ellos con una llamada. En los ejemplos, el autor mantiene todos los LED juntos y lo repasa. Sin embargo, esto sería fácil de desembolsar y agregar. Oh, espera, lo hicimos por ti. La biblioteca funciona mucho, incluso aprovechando la mayor resolución PWM disponible en el ESP8266, por ejemplo.

La biblioteca puede encender o apagar un LED (incluidos los retrasos), parpadear o respirar un LED para siempre o durante un cierto número, o hacer parpadear un LED o apagarlo. Además de la configuración, puede proporcionar su propia característica brillante si desea crear una plantilla personalizada. Puede modificar la mayoría de las acciones especificando un retraso antes o después, un recuento de recurrencia (que puede ser para siempre) y también puede decirle a la biblioteca que su LED está bajo, por lo que no tiene que recordar mentalmente tirar todo en su código.

¿Ciencia espacial? No. Pero nos gusta. El bloqueo del efecto LED es malo y esto simplifica los LED asíncronos de lujo. ¿Por qué no usarlo? Los IDE recientes pueden instalarlo desde el cuadro de diálogo de administración de la biblioteca, por lo que solo toma un segundo.

Realmente, las bibliotecas son clave para construir sistemas simples. ¿Por qué no apoyarse en las espaldas de los demás? Algunos de nuestros favoritos tratan con SPI y derivado integrado proporcional (PID).

  • Ostraco dice:

    “El calor de hoy respira LED. “

    Tenía un mouse Logitech con cable que hace eso. Afortunadamente se puede apagar.

  • jawnhenry dice:

    Un pensamiento sobre “Simplificación de los efectos LED básicos

    Sí, eso casi debería cubrirlo …

  • Alex99a dice:

    Por favor. No más LED azules. Por favor.

    • Al Williams dice:

      Si te parece mejor, hice la horquilla con un LED verde.

    • Genki dice:

      ¡Entra el LED rosa! ¡Conciencia ardiente sobre el cáncer de mama, un bulbo a la vez!

      • Steven Gann dice:

        Le doy 2 horas antes de que los abogados de Susan G Komen se comuniquen con usted.

    • pícaro dice:

      Me gusta el blues helado. Las computadoras de escritorio HP tenían botones de encendido azul hielo alrededor de 2008 y me encantaron

  • arbustaj555 arbustaj555 dice:

    Intenté hacer esta “respiración” con tubos de rayos catódicos fríos hace 15 años cuando se enfriaron. Pero no podía entenderlo haciéndolo con solo unos pocos transistores discretos.

    • TGT dice:

      No sé qué señal de régimen necesita un cátodo frío, pero siempre se puede usar un 555 cargando y descargando un condensador grande y grueso con el tiempo.

  • WestfW dice:

    La gente se pregunta por qué el software moderno es tan lento e inflado, y luego quiere que sus LED “respiren” en la siguiente oración …
    (Los LED con chips integrados de “destello” y “cambio de color” están disponibles; ¿hay alguno con el efecto de “respiración”?)
    (Sin embargo, muchos “desarrolladores” de Arduino necesitan encontrar esto útil. “Nosotros” necesitamos revisar y escribir bibliotecas que no sean de bloque para un montón de cosas que tienden a iniciar a los novatos).

    • Artenz dice:

      Probablemente podría hacer un efecto LED de respiración en 10 líneas, usando un pin PWM, casi sin procesador en la parte superior.

  • Nombres para los que se utilizan dice:

    “Respirando” hu. Siempre los hemos llamado “roncar” por el efecto de distracción si intentas dormir en la misma habitación con esa luz (tal vez no te pongas azul) que sigue cambiando.

  • Sheldon dice:

    “El calor de hoy respira LED”
    Eurgh. Quiero que la gente deje de llamarlo “respiración”, ¿qué hay de malo en llamarlo simplemente “entrando y saliendo”?

    • oscuridad dice:

      Probablemente porque Apple lo llamó así en sus libros de maquetas, y se quedó.

      • Daniel dice:

        sí, pero una manzana realmente tenía LED que “respiraban”. no simplemente aparecían y desaparecían, sino que la sincronización estaba determinada por la respiración de una persona. Entonces no fue realmente un desvanecimiento lineal.

        • Jim dice:

          Según la patente de Apple en 1999, es simplemente sinusoidal. _ “… genera un patrón de parpadeo del indicador del modo de reposo basado en la función sinusoidal a través de PWM …” ._ La inspiración y el tiempo pueden haber sido el ritmo de respiración de un durmiente, pero nada más fantástico que eso. Aquí estamos de nuevo con las patentes, ¿eso significa que tenemos que quedarnos con los LED parpadeantes ordinarios?

          • Ostraco dice:

            O simplemente aprenda a leerlos en lugar de interpretarlos como “todo lo que hay bajo el sol, y el sol es gratis”.

    • jawnhenry dice:

      … Necesito usar JARGON para mantener el excelente sin tratar. Ellos podrían comprender, una mentira. ¿No puedes, ahora puedes? …

      “La palabra ‘usuario’ es la que utiliza el profesional informático cuando quiere decir ‘idiota'”. – Dave Barry

  • Noche dice:

    Respirar es tan fácil como … respirar. Un efecto de vela realista es un poco más complicado y mucho más interesante.

    • Pensador dice:

      Realmente musical en muchos casos:
      http://www.instructables.com/id/Listen-aa-led-tea-light/

  • Sjaak dice:

    No estoy a la par con arduino, pero ¿por qué no poner la subrutina de actualización en una interrupción de tiempo?

  • PIC fanboi dice:

    Por lo general, programo los PIC juntos. Para lograr el mismo efecto de respiración, simplemente giro (instrucción única RLF) el registro PWM de 8 bits periódicamente. Una vez que llegue a cero, simplemente empujaré la arena.
    Registro PWM:
    00000000
    00000001
    00000011
    00000111

    11111111
    11111110
    11111100

    La salida real habilitada para PWM se logra mediante el dispositivo periférico integrado en paralelo. Por lo tanto, se trata de cuatro instrucciones cada 0.1 s.

  • Al Williams dice:

    Como PSA, agregué UpdateAll a mi bifurcación Git del proyecto, pero no me di cuenta de que el generador de copias predeterminado no hizo una copia adecuada del objeto (duh), que se rompió a medida que se escriben los ejemplos. He actualizado para proporcionar un generador de copias predeterminado, por lo que ahora funciona como debería incluso si escribe su código como se escriben los ejemplos. Hice un tirón corriente arriba, así que espero que algún día lo doblen.

    Pero si descargó mi bifurcación antes de este mensaje, debe actualizarlo.

  • Mike Massen dice:

    Publicación y comentarios interesantes, gracias 🙂

    Sucede que puede hacer que el cuero o cualquier número en diferentes condiciones parezca como si tuviera una conexión eléctrica defectuosa modulando el modo de respiración (con lumen general disminuyendo durante algún tiempo, etc.) con una secuencia pseudoaleatoria. Para el observador aficionado (y electrónico), esto desencadena el pensamiento “uh oh” de que algo está mal y llama la atención sobre la unidad, por cualquier motivo 😉

    Para el programador experimentado consciente, también se podría ingresar la secuencia de datos como encriptación de datos de bajo nivel (simple), por lo que para la mayoría solo verían algunas fallas, mientras que los que están listos sacan su teléfono móvil, ponen la cámara en el modo adecuado con el software adecuado, obtienen el flujo de datos, procesa la cosa pseudoaleatoria y el protocolo de codificación y “recibe el mensaje”. Por supuesto, hay varias permutaciones que podrían ofrecerse. ¿No es divertido vivir cuando se puede combinar la electrónica con la psicología y la seguridad de los datos: -o)

Victoria Prieto
Victoria Prieto

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *