» Eletrônicos » Arduino »Efeitos de fogo em tiras de LED e Arduino

Efeitos de fogo em faixas de LED e Arduino

Saudações os habitantes do nosso site!
Neste artigo, consideraremos alguns efeitos muito úteis para o interior que podem ser criados usando a faixa de LED. Também falaremos sobre algoritmos, sobre como os cálculos matemáticos permitem que os LEDs criem a ilusão de calor e conforto, a saber, uma chama, uma chama digital real.

Todos os códigos-fonte que serão analisados ​​mais tarde podem baixar da página do projeto autor (AlexGyver).

Primeiro, vamos lidar com e componente. Para você faça você mesmo fazer tanta beleza em casa Os seguintes componentes são necessários:
- Driver para fita RGB;
- fita RGB;
- Fonte de alimentação 12V para fita RGB;
- Arduin® Nano.



Qualquer um de vocês pode baixar e baixar o firmware e obter sua lareira digital. Vamos controlar as tiras de LED do microcontrolador, neste exemplo Arduino Nano.

Vamos começar com a dimensão zero mais simples - um ponto (ou uma fita inteira de pontos).


Esta é a faixa de LED RGB mais comum, alimentada por 12V e possui controle de três canais para cada cor.


Usando o sinal PWM (temos 8 bits), você pode definir o brilho de cada cor e obter 16,7 milhões de cores e tons. Mas estamos interessados ​​no fogo, ou melhor, na sua imitação. Para simular uma chama, decidiu-se trabalhar no espaço de cores hsv (cor, saturação, brilho).

Esses três parâmetros permitem obter 255 tons básicos, além de cada tom para fazer 255 gradações de saturação, ou seja, mistura com a cor branca. Bem, o terceiro parâmetro é o brilho, em uma linguagem simples - uma mistura de tonalidade com a cor preta.

Existem vários algoritmos para a conversão de um espaço hsv conveniente para RGB, basta usar um deles.

Em seguida, você precisa especificar o comportamento do incêndio. Suponha que a intensidade da chama seja uma certa quantidade, o que no valor mínimo fornece aos LEDs cor vermelha saturada e baixo brilho, e no valor máximo fornece cor branco-amarelo e máximo brilho.

Para obter o efeito chama, precisamos fazer com que esse valor faça movimentos oscilatórios aleatórios, os movimentos devem ser aleatórios, mas ao mesmo tempo bastante suaves, isto é, algo semelhante a uma luz trêmula. Após esse valor, respectivamente, a cor e o brilho da chama ao longo do gradiente serão alterados.



O autor propõe resolver esse problema da seguinte maneira: existe um algoritmo de filtragem muito simples, com média de execução, que transforma uma mudança acentuada de valor em um processo tranquilo, apenas um coeficiente e um cálculo bastante simples.

A idéia é a seguinte: é necessário, digamos 5 vezes por segundo, definir uma nova posição aleatória para o valor do incêndio, e algo em torno de 50 vezes por segundo para filtrar esse valor, alterando-o gradualmente. Como resultado, um processo aleatório é formado.

Em um exemplo da vida real, tudo funciona como pretendido.

Agora precisamos traduzir nosso valor na cor da chama de acordo com a lei mencionada acima e obter um fogo unidimensional.


A faixa de LED programada dessa maneira pode ser oculta, por exemplo, pelo rodapé ou por alguma saliência. Além disso, essa fita pode fornecer iluminação de fundo, parece bastante interessante e incomum.

Além disso, a fita pode ser enviada para o chão a uma curta distância e, assim, alcançar um efeito bastante interessante.

E, é claro, um pedaço de fita pode ser usado para iluminar uma lareira ou simulá-la. E se você remover a cor brilhante do amarelo para o laranja, obterá uma imitação de brasas.

Como temos fita RGB, podemos fazer qualquer cor de fogo por si só. Você quer verde morto - tão facilmente!

Precisamos de um fogo magicamente azul - não há problema!

Em seguida, instale o programa e os drivers, conforme escrito nas instruções em página do projeto, faça o download e execute o firmware.
No início, existem todas as configurações necessárias. Com a ajuda deles, você pode personalizar totalmente o fogo para si mesmo, a saber: cor, comportamento e similares.


Na verdade, essa foi a maneira mais fácil de fazer a faixa de LED "queimar". Agora vamos ver exemplos mais interessantes. Para mais trabalho você precisará faixa de led de endereço.

Essa fita permite controlar individualmente cada um de seus LEDs e cada um inclui 16,7 milhões de tons de cores.
Tudo está conectado de maneira muito simples, de acordo com este esquema:

Nenhum driver é necessário, mas um resistor é recomendado. Você pode ficar sem ele, mas existe a chance de queimar o primeiro LED e, se isso acontecer, os próximos também não funcionarão.
Com iluminação direta, por exemplo, de debaixo do sofá, você obtém um excelente sofá infernal com o efeito de brasas.


Além disso, essa fita pode ser empurrada regularmente perfil de luz e use como um elemento independente do interior.

Parece muito bom, concordo, mas ainda vamos tentar alcançar chamas individuais.

Vamos deixar o algoritmo da mesma forma. Dividimos a fita em zonas de diferentes larguras, cada zona terá seu próprio processo aleatório. Para tornar esse processo ainda mais semelhante a uma chama real, preencheremos as zonas das bordas para o centro, aumentando gradualmente nosso valor aleatório para o valor atual. Também no processo de “queima”, o tamanho das zonas também deve mudar aleatoriamente.

É assim que parece:


Agora, vamos ver outro processo aleatório interessante chamado ruído Perlin, que Ken Perlin criou em 1983.

O ruído de Perlin permite criar uma distribuição suavizada aleatória da magnitude em qualquer número de dimensões. O conhecido filtro de nuvem no Photoshop é um exemplo de ruído bidimensional de Perlin.

Mas o ruído tridimensional de Perlin torna possível gerar, por exemplo, uma paisagem montanhosa e gerá-la de forma aleatória e sem fim, e ao mesmo tempo praticamente sem criar uma carga nos componentes do computador, uma vez que o algoritmo não é muito caro em termos computacionais.

O plano de ação é o seguinte: primeiro, crie uma região de ruído Perlin bidimensional e mova-a de uma certa maneira, digitalizando a linha de pixels e transmitindo-a para os LEDs.

O algoritmo, como mencionado acima, não é muito complicado e Arduino lidar calmamente com ele.O resultado é um efeito muito legal, o mais suave possível, aleatório e já muito semelhante à chama real da iluminação final.

Com iluminação direta, fica assim:

Mas todos esses eram algoritmos de disparo para uma fita. E que tal colar a fita em um padrão em zigue-zague e tentar fazer fogo bidimensional na matriz?


Tais matrizes podem ser compradas dos chineses. Colocamos um difusor e um vidro colorido com filme automotivo acima da matriz, ou seja, este é um monitor com resolução ultra baixa e real.




A propósito, parece bem realista. Veja o vídeo original do autor para mais detalhes:



Só isso. Obrigado pela atenção. Até breve!
1
1
1

Adicionar um comentário

    • sorrirsorrisosxaxaoknão seiyahoonea
      chefearranhartolosimsim simagressivosegredo
      desculpedançardance2dance3perdãoajudabebidas
      pararamigosbomgoodgoodapitodesmaiarlíngua
      fumaçapalmascraydeclararirônicodon-t_mentionbaixar
      calorirritantelaugh1mdareuniãomoskingnegativo
      not_ipipocapunirlerassustarsustospesquisar
      provocarthank_youistoto_clueumnikagudoconcordar
      malbeeeblack_eyeblum3corargabar-setédio
      censuradobrincadeirasecret2ameaçarvitóriayusun_bespectacled
      sacudirrespektlolpreviubem vindoKrutoyya_za
      ya_dobryiajudantene_huliganne_othodifludproibirfechar

Aconselhamos que você leia:

Entregue-o para o smartphone ...