Saudações, estou tentando fazer uma caixinha de musica com leitor RFID mas eu quis enfeitar e coloquei uns leds para quando uma musica tocar eles piscarem continuamente e quando eu colocar outra as luzes piscarem em outra sequência, o que consegui foi deixar eles ligados constantemente assim que ligo a caixa, então fui para o while para os leds piscarem continuamente quando a musica tocar, só que quando a condição ocorre ele entra em loop infinito e não consigo ler mais nenhum cartão. E possível resolver ou terei que escolher entre deixar continuamente ou não ter?

Coloquei o código em anexo e estou colocando o link do arduino online:
https://create.arduino.cc/editor/willneroth/5af5c88e-609c-4921-9ae9...

Exibições: 515

Anexos

Responder esta

Respostas a este tópico

while (conteudo.substring(1) == "42 59 C8 0D")
{
blink(leds[random(5)], random(150, 301));
}

Possivelmente essa parte do código está fazendo ele ficar travado aí. Substitua while por if.

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

vamos por partes.

1. Você definiu os mesmos ports para 2 LEDs;    (Errado)

           int led1 = 0; ...........              

           int leds[] = {0, 1, 2, 3, 4};

2. Você fez pinMode() par os mesmos ports 2 vezes;      (Errado)

            pinMode(led1, OUTPUT);...........

             for (int x = 0; x < 5; x++) {  pinMode(leds[x], OUTPUT); }

3. Você usou os ports da serial para LEDs    int led1 = 0;   e  int led2 = 1;     (Não recomendado),

    Por esta razão que o LED pisca já desde o inicio, pois ele está picando com os níveis da serial.

Teste este sketch que anexei e trocando os pinos 0 e 1 para 14 (Port A0) e 15 (Port A1) e diga o resultado.

Caixa_musica_RFID_V02.ino

RV mineirin

           

      

Sem problemas usar o WCF, agora que você falou eu olhei de novo e vi que fiz a mesma coisa duas vezes só que de formas diferente e as mantive, testei e funciona sem ficar com o led ligado, mas quando dou o play na música ele liga um led aleatório e o desliga, eu gostaria que os leds piscassem continuamente, por isso tinha colocado o while o que me deixou no loop.  

Esse estar sem os leds, mas coloquei como você indiciou por dois leds nas portas A0 e A1 e nas portas 2, 3 e 4.

Anexos

WCMF.

Testa este novo sketch.

Caixa_musica_RFID_V03.ino

RV mineirin

Antes de colocar a música para tocar ele fica em 3.33v e quando toca ele oscila da um pico de 0.70v e depois estabiliza em 0.1v

Para arduino 3,33V é HIGH e de 0,7 a 0,1 é LOW, então estando em LOW os LEDs devem piscar.

RV Mineirin

Então quando passo o cartão ele da um blink e pronto, ele não continua piscando.

Bom dia WCMF,

mostre o esquema novo das suas ligações.

RV mineirin

Bom dia, as portas 2, 3, 4, 14 e 15 estão com os leds, posso até tirar alguns leds ou se for mais fácil posso por um rgb que tenho em algum lugar.

Agora vai

Anexos

WCMF,

testa este sketch:

Caixa_musica_RFID_V04.ino

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço