boa noite pessoal !!!
alguem me tira uma duvida
estou fazendo um projeto que um lampada tem que pisca umas 10 vez depois continua com o poograma.
so que eu estou usando 10 delay high e 10 low pra pisca
so que isto trava o pograma
eu tentei usar o millis pra não usar muitos delay mas não dei usar ele muito bem.
se alguem poder me dar uma idea eu fico agradecido
Olá companheiro,
É difícil de explicar, primeiramente que você não colocou parte do seu código aqui de como está fazendo existe muitas maneiras de haver travamento. E geralmente está associado ao erro de código. Quando se trabalha com a plataforma Arduino sempre deve especificar o código que está sendo usado, pois muitas vezes é nele que está o problema. Ligações erradas e cuidados com as portas digitais e analógicas irão danificar direto o Arduino então o seu código para completamente ou nem funciona.
//código…
delay(10, HIGH); //espera 10 ms ligado
delay(10, LOW); //espera 10 ms desligado
//continua o codigo…
Se fizer desta forma nem conseguirá ver bem o pisca adequadamente, pois é 10 ms muito rápido. O atraso ficará por conta da execução de seu código. Colocar o pisca dentro de um loop só para ter o efeito de pisca não é uma boa também, pois está deixando de receber ou enviar informações pela portas do Arduino naquele tempo para para o efeito de animação.
Existem outros recursos de espera como uso de interrupção que pode por seu código e quando termina ele retorna a fazer o código principal. É um bom recurso. Lembrando que o arduino só tem um núcleo de microcontrolador para processar uma única tarefa por vez. Diferente para o ESP32 que possui dois núcleos e pode executar multitarefa, no entanto necessita do FreeRTOS como sistema operacional de gerenciamento.
Então poste aqui o código para poder fazer uma análise melhor do seu problema.
1 curtida
adciona o zap que te ajudo… 62 985501244 emerson
1 curtida
Manda o ZAP que posso ajudar