[RESOLVIDO] sugestões para problemas com delay/millis/interrupção - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-28T19:53:35Zhttps://labdegaragem.com/forum/topics/sugest-es-para-problemas-com-delay-millis-interrup-o?feed=yes&xn_auth=noTeodoro, desculpe não ter res…tag:labdegaragem.com,2017-03-17:6223006:Comment:6025372017-03-17T03:53:46.419ZTiago Alexandrehttps://labdegaragem.com/profile/TiagoAlexandre
<p>Teodoro, desculpe não ter respondido, eu comecei a responder no meu celular, mas acabei não publicando.</p>
<p>Eu iria dizer exatamente isso, o problema do delay é que o controlador para de executar uma ação para poder aguardar o delay, enquanto no millis ele continua contando o tempo, como se fosse uma Thread, alias de uma pesquisada sobre Threads no arduino existem excelente dicas.</p>
<p></p>
<p>tente refazer a lógica com swithcase é um pouco mais rapido a leitura que os if's…</p>
<p></p>
<p>Teodoro, desculpe não ter respondido, eu comecei a responder no meu celular, mas acabei não publicando.</p>
<p>Eu iria dizer exatamente isso, o problema do delay é que o controlador para de executar uma ação para poder aguardar o delay, enquanto no millis ele continua contando o tempo, como se fosse uma Thread, alias de uma pesquisada sobre Threads no arduino existem excelente dicas.</p>
<p></p>
<p>tente refazer a lógica com swithcase é um pouco mais rapido a leitura que os if's</p>
<p><a rel="nofollow" href="http://playground.arduino.cc/Referencia/SwitchCase" target="_blank">http://playground.arduino.cc/Referencia/SwitchCase</a></p>
<p></p>
<p>ou tente fazer algo assim mais quebradinho</p>
<p></p>
<p><span>if (SELECAO == "CA" && SVA&& CB ==true) {</span><br/><span> CB = false;</span><br/><span> Delay_ms(delay_comutacao);</span></p>
<p><span>}</span></p>
<p>if (SELECAO == "CA" && SVA&& CB ==false) {<br/> CA = true;<br/> Delay_ms(delay_comutacao);</p>
<p>}</p>
<p></p> Você pode estar utilizando a…tag:labdegaragem.com,2017-03-07:6223006:Comment:6001532017-03-07T03:48:11.257ZTiago Alexandrehttps://labdegaragem.com/profile/TiagoAlexandre
<p>Você pode estar utilizando a opção <span>delayMicroseconds(20), no lugar de Delay, é bem util ele faz umas pausas imperceptíveis.</span></p>
<p><span><a href="https://www.arduino.cc/en/Reference/DelayMicroseconds" target="_blank">https://www.arduino.cc/en/Reference/DelayMicroseconds</a></span></p>
<p></p>
<p><span>você pode tambem estar utilizando a biblioteca SimpleTimer, para o uso do millis ela é bem pratica quando o código fica muito grande, simplifica a…</span></p>
<p>Você pode estar utilizando a opção <span>delayMicroseconds(20), no lugar de Delay, é bem util ele faz umas pausas imperceptíveis.</span></p>
<p><span><a href="https://www.arduino.cc/en/Reference/DelayMicroseconds" target="_blank">https://www.arduino.cc/en/Reference/DelayMicroseconds</a></span></p>
<p></p>
<p><span>você pode tambem estar utilizando a biblioteca SimpleTimer, para o uso do millis ela é bem pratica quando o código fica muito grande, simplifica a programação.</span></p>
<p></p>
<p><span><a href="http://playground.arduino.cc/Code/SimpleTimer" target="_blank">http://playground.arduino.cc/Code/SimpleTimer</a></span></p>