Bom Dia, Eu tenho uma duvida e gostaria de compartilhar com voces.

Preciso fazer uma programacao no arduino que faça duas coisas diferentes ao mesmo tempo.

Por exemplo, um carrinho que ao fazer uma curva ligue a seta (fique piscando um led) ao mesmo tempo que o servo motor da direcao atue.

Como seria isso? Alguem ja passou por isso ?

Exibições: 3465

Responder esta

Respostas a este tópico

Se usar o código do famoso blink, poderá ver como fazer a seta, e se usar o exemplo do servo, fara a movimentação deste, use os dois exemplos da própria IDE, e estude a maneira de implementar ambos, é uma boa maneira de aprender vários conceitos, ou você quer um código pronto?

Um abraço!

Existem várias soluções possíveis, mas eu faria por interrupção de tempo.

Vc pode usar:

http://playground.arduino.cc/Code/SimpleTimer

No primeiro exemplo a função "repeatMe()" é disparada em um intervalo de tempo definido. Dentro dela vc pode colocar um comando para inverter o estado do pino que é a seta, ou o que precisar. Só evite codigos demorados (com delay ou for() longo).

Olá FAbricio,

    Lembro disso quando comecei a aprender arduino,  o truque esta em usar a função mills() para setar o tempo de ação em cada uma das ações,  visto que ela não interrompe a execução do sketch.

   Tipo, para mandar o carrinho fazer a curva, você terá que ler o comando vindo de algum lugar, digamos que seja da serial vinda de um radio,   bem para fazer essa leitura, você não pode fazer um numero muito grande de vezes ao mesmo tempo senão encavala,  dai você usa o mills() captura o tempo e de X  em X  tempo manda executar a leitura.

   Já como o mills() não afeta a execução,  agora vocÊ pode mandar de Y em Y tempo ele ligar e desligar o led,  da mesma forma que poderá fazer dezenas de outras coisas, desde que nenhuma interrompa o sketch principal,  mas todas sejam executadas conforme o tempo informado por mills().

Fabricio procure no youtube o canal do Ivan Seidel os videos sobre Threads no Arduino.

segue o conselho do Rodrigo, o caminho é threads, é mais profissional, vai funcionar redondo e não é muito complicado. Esse Ivan que o Rodrigo fala, até tem uma biblioteca pronta. Foi muito útil em um projeto meu.

https://m.youtube.com/watch?v=oeP_NiajWME
https://m.youtube.com/watch?v=0SyutmiLzj0

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço