» Electrónica » Arduino »Efectos de fuego en tiras de LED y Arduino

Efectos de fuego en franjas LED y Arduino

Saludos los habitantes de nuestro sitio!
En este artículo, veremos algunos efectos muy útiles para el interior que se pueden crear con la tira de LED. También hablaremos sobre algoritmos, sobre cómo los cálculos matemáticos permiten a los LED crear la ilusión de calidez y confort, es decir, una llama, una llama digital real.

Todos los códigos fuente que se analizarán más adelante pueden descargar desde la página del proyecto autor (AlexGyver).

Primero, tratemos con e componente. Para ti hazlo tu mismo hacer tanta belleza en casa Se requieren los siguientes componentes:
- Controlador para cinta RGB;
- cinta RGB;
- Fuente de alimentación 12V para cinta RGB;
- Arduin® Nano.



Cualquiera de ustedes puede descargar y descargar el firmware y obtener su hogar digital. Controlaremos las tiras de LED desde el microcontrolador, en este ejemplo Arduino Nano.

Comencemos con la dimensión cero más simple: un punto (o una cinta completa de puntos).


Esta es la tira de LED RGB más común, que funciona con un voltaje de 12V y tiene control de tres canales para cada color.


Usando la señal PWM (la tenemos de 8 bits), puede configurar el brillo de cada color y así obtener 16,7 millones de colores y sombras. Pero nos interesa el fuego, o más bien su imitación. Para simular una llama, se decidió trabajar en el espacio de color hsv (color, saturación, brillo).

Estos 3 parámetros le permiten obtener 255 tonos básicos, más cada tono para obtener 255 gradaciones de saturación, es decir Se mezcla con el color blanco. Bueno, el tercer parámetro es el brillo, en un lenguaje simple: una mezcla de sombra con negro.

Existen varios algoritmos para convertir de un conveniente espacio hsv a RGB, solo use uno de ellos.

A continuación, debe especificar el comportamiento del incendio. Suponga que la intensidad de la llama es una cierta cantidad, que en el valor mínimo le da a los LED un color rojo saturado y bajo brillo, y en el valor máximo le da un color blanco-amarillo y un color brillante máximo.

Para obtener el efecto de llama, necesitamos hacer que este valor realice movimientos oscilatorios aleatorios, los movimientos deben ser aleatorios, pero al mismo tiempo bastante suaves, es decir, algo similar a una luz temblorosa. Siguiendo este valor, respectivamente, el color y el brillo de la llama a lo largo del gradiente cambiarán.



El autor propone resolver este problema de la siguiente manera: existe un algoritmo de filtrado muy simple, promedio de ejecución, que convierte un cambio brusco de valor en un proceso uniforme, solo un coeficiente y un cálculo bastante simple.

La idea es esta: es necesario, digamos 5 veces por segundo, establecer una nueva posición aleatoria para el valor del fuego, y alrededor de 50 veces por segundo para filtrar este valor, cambiándolo gradualmente. Como resultado, se forma un proceso aleatorio de este tipo.

En un ejemplo de la vida real, todo funciona según lo previsto.

Ahora necesitamos traducir nuestro valor al color de la llama de acuerdo con la ley mencionada anteriormente, y obtener un fuego unidimensional.


La tira de LED programada de esta manera puede estar oculta, por ejemplo, por la placa base o por alguna protuberancia. Además, dicha cinta puede proporcionar iluminación de fondo, se ve bastante interesante e inusual.

Además, la cinta se puede enviar al piso desde una corta distancia, y así también lograr un efecto bastante interesante.

Y, por supuesto, se puede usar un trozo de cinta para iluminar una chimenea o simularla. Y si elimina el color brillante de amarillo a naranja, obtendrá una imitación de carbones humeantes.

Como tenemos cinta RGB, podemos hacer cualquier color de fuego por sí mismo. Quieres verde muerto, ¡tan fácilmente!

Necesitamos un fuego mágicamente azul, ¡no hay problema!

Luego instale el programa y los controladores, como está escrito en las instrucciones en página del proyecto, descargue y ejecute el firmware.
Al principio hay todas las configuraciones necesarias. Con su ayuda, puede personalizar completamente el fuego para usted, a saber: color, comportamiento y similares.


En realidad, esta fue la forma más fácil de hacer que la tira de LED se "quemara". Ahora veamos ejemplos más interesantes. Para más trabajo necesitarás dirección led strip.

Esta cinta le permite controlar individualmente cada uno de sus LED y cada uno incluye uno de 16.7 millones de tonos de color.
Todo está conectado de manera muy simple, de acuerdo con este esquema:

No se necesitan controladores, pero se recomienda una resistencia. Puede hacerlo sin él, pero existe la posibilidad de que se queme el primer LED, y si esto sucede, los siguientes tampoco funcionarán.
Con iluminación directa, por ejemplo, debajo del sofá, obtienes un excelente sofá infernal con el efecto de las brasas ardientes.


Además, dicha cinta se puede insertar en un perfil de luz y usar como elemento independiente del interior.

Se ve bastante bien, de acuerdo, pero todavía tratemos de lograr llamas individuales.

Dejaremos el algoritmo igual. Rompemos la cinta en zonas de diferentes anchos, cada zona tendrá su propio proceso aleatorio. Para hacer que este proceso sea aún más similar a una llama real, llenaremos las zonas desde los bordes hasta el centro, aumentando gradualmente nuestro valor aleatorio a su valor actual. También en el proceso de "quemado", el tamaño de las zonas también debe cambiar al azar.

Así es como se ve:


Ahora echemos un vistazo a otro proceso aleatorio interesante llamado ruido de Perlin, que surgió Ken Perlin en 1983.

El ruido de Perlin le permite crear una distribución suavizada aleatoria de la magnitud en cualquier cantidad de dimensiones. El conocido filtro de nube en Photoshop es un ejemplo de ruido bidimensional de Perlin.

Pero el ruido tridimensional de Perlin permite generar, por ejemplo, un paisaje montañoso, además, generarlo de manera muy aleatoria y sin fin, y al mismo tiempo prácticamente sin crear una carga en los componentes de la computadora, ya que el algoritmo no es muy costoso computacionalmente.

El plan de acción es el siguiente: primero, cree una región de ruido Perlin bidimensional y muévala a lo largo de cierta manera, escaneando la línea de píxeles y enviándola a los LED.

El algoritmo como se mencionó anteriormente no es muy complicado y Arduino Tratar con calma con él.El resultado es un efecto tan genial, tan suave como sea posible, aleatorio y ya muy similar a la llama real con iluminación final.

Con iluminación directa, se ve así:

Pero todos estos fueron algoritmos de fuego para una cinta. ¿Y qué hay de pegar la cinta en un patrón en zigzag e intentar hacer fuego bidimensional en la matriz?


Tales matrices se pueden comprar a los chinos. Por encima de la matriz, colocamos un difusor y vidrio teñido con película automotriz, es decir, esta es una pantalla de resolución ultrabaja de alta resolución.




Por cierto, se ve bastante realista. Vea el video original del autor para más detalles:



Eso es todo. Gracias por su atencion Hasta pronto!
1
1
1

Agrega un comentario

    • sonriesonrisasxaxaokno sabesyahoonea
      jeferascarsetontosisi-siagresivosecreto
      lo sientobailardance2dance3perdónayudabebidas
      pararamigosbuenobuenosilbatodesmayarselengua
      fumaraplaudirllorardeclararburlóndon-t_mentiondescargar
      calorfuriosorisa1mdareuniónMoskingnegativo
      not_ipalomitas de maizcastigarleerasustarasustabuscar
      burlagraciasestoto_clueumnikagudode acuerdo
      malbeeeojo negroblum3ruborpresumiraburrimiento
      censuradocortesíasecreto2amenazarvictoriaYusun_bespectacled
      shokrespektjajajaPrevedbienvenidokrutoyya_za
      ya_dobryiayudantene_huliganne_othodigolpearprohibircerrar

Le recomendamos que lea:

Pásalo por el teléfono inteligente ...