Bom, a alguns dias um amigo meu comentou que possui um estudo de automação em sua casa, e ja ocorreu algumas vezes do projeto travar e ele ter que desparafusar toda sua caixa que contém o arduino, roteador e etc para apenas resetar seu Arduino. Com isso ele me perguntou se existe alguma solução para fazer esse reset.
O ATMega, quando ligado, está com o pino 1 (reset), em nível alto (1). Ao aplicarmos 0v (nível baixo) neste pino, o ATMega é resetado.
Repare que no barramento inferior do Arduino Uno, logo abaixo do microcontrolador, temos um dos pinos com a marcação RESET. Podemos utilizar este pino para resetar o microcontrolador, simplesmente aplicando à ele 0 volts.
Seguindo esse princípio, podemos ligar um push-button ao pino RESET, a outra perna do botão ao GND, e utilizar um resistor pull-up para manter o pino em nível alto quando o botão não estiver sendo acionado.
O circuito fica mais ou menos assim, com um resistor de 220 ohms junto ao push-button. Usei um programa de teste para piscar o led ligado à porta 7 :
Simples e fácil, esse post ficou mais como uma dica mesmo pra ter um maior domínio sobre o Arduino.
E qual a sketch necessária pra rodar esse reset externo?
ResponderExcluirNenhum, é apenas uma maneira de resolver pra quando você tiver uma solução embarcada, dentro de uma caixa parafusada por exemplo, e seu sistema travar e você nao precisar abrir tudo para apertar o botão.
Excluir