LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: kmy em 19 de Março de 2011, 10:14
-
Tenho uma duvida, queria saber se é possível, no arduino correr códigos em simultâneo, por exemplo, fazer um ciclo para por um led a ligar/desligar, e fazer outro a por um servo a mexer, mas isto sem que um ciclo interfira com o outro.
Será que é possivel?
-
claro.. tens a variiavel milis.. fazes um ciclo, e enquanto essa variavel nao se incrementar durante o tempo minimo fazes o que quiseres no meio disso.. Ve o sketch blinkwithoutdelay
-
Uma especie de multitarefa?
É possivel mas é so aparente
-
interrupções.. mas n podes usar o delay(), pk entra em conflicto..
procura pela biblioteca mstimer2..
tenho um exemplo de utilização disso aqui no fórum para o lcd 16*2, com text scroll.. usa o pesquisar que encontras.. ;)
-
Usando o blinky sem delay como exemplo, é muito simples de meter montes de código a correr aparentemente em paralelo.
Piscar um led não demora tempo nenhum.
Interrupções é um bocado overkill para o que ele quer fazer.
-
É perfeitamente possível e fácil:
http://troniquices.wordpress.com/2010/05/24/arduino-a-fazer-varias-coisas-ao-mesmo-tempo/ (http://troniquices.wordpress.com/2010/05/24/arduino-a-fazer-varias-coisas-ao-mesmo-tempo/)