Olá pessoal todos bem?

Estou querendo reproduzir um projeto que encontrei no instagram e achei bastante interessante, mas cheguei em um ponto que não estou conseguindo progredir. Primeiro vejam a imagem e o link do vídeo abaixo para compreenderem melhor como o projeto deve ficar:

Videohttps://www.instagram.com/reel/CTc__uMBhAF/?utm_source=ig_web_copy_...


O projeto consiste em um sensor piezoeléctrico que vai por baixo da pele da caixa (Instrumento musical tipo tambor). De acordo com as variações ele produz um efeito ou vários em seguida conforme o vídeo.

Estou usando o ESP32 e para o controle dos Leds a biblioteca FastLED.h

Para facilitar a programação e o entendimento de todos, para simular a "batida" estou verificando se há dados na serial para depois entrar na função do efeito. 

Minha dificuldade: A cada efeito criado (Para cada batida) ele entra em um laço for com delay, deixando o processamento travado até que o efeito chegue ao fim da fita Led com 120 Leds (No meu projeto final gostaria de usar pelo menos 600 Leds, mas é algo a ser pensado no futuro). Tentei utilizar a função millis() mas não obtive sucesso. 

Arquivo Arduino: RX_Led.ino 

Então, ficou bem explicadinho? Gostou dessa ideia? Legal né?!!!!!! :)

Exibições: 557

Responder esta

Respostas a este tópico

Bom dia, 

Minha percepção do projeto. 

1) Existe um sensor de áudio - microfone ou sensor piezoletrico. 

2) Um circuito analógico compara (op amp comparador) a amplitude do sinal de aúdio e gera um pulso com duração determinada por essa amplitude. 

3) O microcontrolador determina esse tempo e reflete a mesma duração na sequência de pulsos dos Leds. 

Interessante! Mas eu queria fazer o meu, e usar um piezoletrico conforme especifiquei no tópico

Pesquise no Youtube aqueles links, pode ser que encontre algo

Boa tarde Y, (se não gosta que te chame pelas iniciais, avise),

veja se este sketch abaixo funciona como você precisa.

No seu projeto final o disparo da rotina "sinelon()" será pelo sinal de som recebido pelo micro controlador.

Isto você vai ter que fazer por conta própria. kkkkk.

RX_Led_V02.ino

RV mineirin

Boa tarde Y,  (se não gosta que te chame pelas iniciais, avise),

veja como ficou com este sketch que postei.

https://labdegaragem.com/video/ws2812

RV mineirin

Boa Rui! 

Ficou legal demais. 

Obrigado Gustavo.

Boa tarde Rui, ficou praticamente o mesmo código que o meu. A minha dificuldade está em exatamente em ter um efeito atrás do outro. 
Outro efeito que fica muito bom é esse:


fadeToBlackBy( leds, NUM_LEDS, 20);
pos = map(beat8(40, 0), 0, 255, 0, NUM_LEDS-1 );
leds[pos] += CHSV( gHue, 255, 192);

FastLED.show();

Boa noite Y, 

não entendi "A minha dificuldade está em exatamente em ter um efeito atrás do outro. "

O meu código esta fazendo isto, uma atrás da outra.

Testei o seu código aqui ele fazia uma vez e travava acesso no final.

RV mineirin

Boa noite RV, Eu quero dizer de ter sequencia de efeito constante, antes dele chegar no final da fita, ou seja, durante o laço for o micro fica travado e não cria outro efeito.

Bom dia Y, (se não gosta que te chame pelas iniciais, avise),

para realizar este projeto primeiramente recomento que você esqueça o código e desenhe uma carta de tempo (timing chart)  do funcionamento.

Com base em uma carta de tempo fica muito mais fácil programar o micro controlador. 

RV mineirin

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço