LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: Etico em 22 de Dezembro de 2011, 23:44

Título: Sobre como desligar o arduino com segurança
Enviado por: Etico em 22 de Dezembro de 2011, 23:44
Olá senhores. Este é meu primeiro tópico aqui no fórum e gostaria de fazer uma pergunta que envolve algo que tem me deixado preocupado.

Comecei a brincar com o Arduíno faz dois dias, e não sei qual a melhor forma de desconectar ele do computador.

Por exemplo, ao iniciar a IDE em meu primeiro teste fiz o upload do Blink e fui contemplado com o piscar infinito. Então após o teste eu queria terminar aquela tarefa e fazer com que o LED parasse de piscar. Minha solução foi desconectar o cabo USB. Achei minha atitude muito drástica, existe uma melhor forma de fazer isso?

Desde já agradeço...
Título: Re: Sobre como desligar o arduino com segurança
Enviado por: amando96 em 23 de Dezembro de 2011, 00:01
Não sei se precebo... queres fazer o LED parar de piscar e para isso retiras a fonte de alimentação(neste caso o USB) e achas demasidado drástico?
Título: Re: Sobre como desligar o arduino com segurança
Enviado por: Etico em 23 de Dezembro de 2011, 00:49
amando96 sim é isso mesmo. Eu gostaria de saber uma forma segura de parar os "projetos" depois que já vi como o sketch funciona.
Título: Re: Sobre como desligar o arduino com segurança
Enviado por: CBX em 23 de Dezembro de 2011, 01:50
desde que o cabo não seja desligado quando está a fazer upload de um sketch não vejo problema nenhum em desligar o arduino assim
Título: Re: Sobre como desligar o arduino com segurança
Enviado por: Etico em 23 de Dezembro de 2011, 02:27
Veja, cheguei em uma solução e gostaria de saber se concordam com o que fiz.

Código:

Código: [Seleccione]
void setup() {}

void loop() {}


Simplesmente executo um sketch vazio para cancelar o upload anterior. Existe mal nisso?

Resta saber sobre como desligar, mas acredito que não tem como fugir de desconectar o cabo USB para este fim, né?

Att.,

Etico
Título: Re: Sobre como desligar o arduino com segurança
Enviado por: senso em 23 de Dezembro de 2011, 04:00
Mas o micro-controlador é feito precisamente para ser desligado assim, tipo qual é a diferença para o micro se está a correr código que pisca uma luz que tu vez ou se está a fazer saltos de um lado para o outro?
É desligar o cabo usb e siga, que ele não se constipa.
Título: Re: Sobre como desligar o arduino com segurança
Enviado por: Tyran em 23 de Dezembro de 2011, 09:25
Não percebo porque motivo é drástico remover o cabo usb. E ao usar esse sketch é igual pois o micro está a executar instruções na mesma. Deve ficar a fazer algo do tipo rjmp PC-0.
Título: Re: Sobre como desligar o arduino com segurança
Enviado por: zordlyon em 23 de Dezembro de 2011, 11:13
Não há qualquer problema nisso, repare numa coisa, tem o arduino ligado via USB ele tá para ali a executar uma tarefa qualquer, por exemplo piscar um led, e voce tira o cabo USB, o que está a fazer? a tirar-lhe a fonte de alimentação.

Agora vejamos outro caso, tem o arduino alimentado por uma bateria ou por uma pilha, e tem um interruptor para desligar o arduino certo?

Então quando vai ao botão e passa para OFF o que está a fazer? A tirar-lhe alimentação enquando ele tá ligado certo? Isto também é drástico?

Cumprimentos,
André Carvalho.
Título: Re: Sobre como desligar o arduino com segurança
Enviado por: tiagogala em 23 de Dezembro de 2011, 13:29
Acho que a confusão aqui é que, por exemplo, no caso de um computador, se não executarmos nenhum programa ele parece que está parado, mas na verdade o processador está num loop infinito à espera de inputs (de sensores, de periféricos, etc.), apesar de parecer que o programa parou, na verdade está sempre a saltar de um lado para o outro à espera que aconteça alguma coisa, no caso dos microcontroladores é a mesma coisa, o sketch que é carregado nunca pára de ser executado (daí haver um void loop() {} ).
Um sketch (programa) num microcontrolador não pode ser pensado como um programa de um computador, porque esse programa nunca pode terminar. Já num computador existe um sistema operativo que, depois de um programa terminar, continua à espera de inputs.
Título: Re: Sobre como desligar o arduino com segurança
Enviado por: GnGz em 23 de Dezembro de 2011, 13:30
Podes sempre usar um RTOS como o BRTOS ou coisa assim.

Mas é completamente normal desligar a alimentação.
Título: Re: Sobre como desligar o arduino com segurança
Enviado por: Etico em 23 de Dezembro de 2011, 13:32
zordlyon obrigado pela ótima explicação, esclareceu minha dúvida.

Agora se me permita, gostaria de verificar uma coisa.

Quando fiz um projeto para piscar um led e depois desliguei o Arduíno, ao ligá-lo novamente o led voltou a acender. Isso é normal? Digo, ao se ligar a placa ela busca o último sketch enviado por upload?

Me perdoem pelo abuso ao fazer tantas perguntas.  :-[

Att.,

Etico
Título: Re: Sobre como desligar o arduino com segurança
Enviado por: Etico em 23 de Dezembro de 2011, 13:36
tiagogala Bravo! Você conseguiu abstrair meus pensamentos. Estou iniciando nesse mundo dos microcontroladores, é um pouco novo para mim. Obrigado pela ajuda.

O que ocorreu foi eu pensar que ao tirar a alimentação abruptamente poderia ocorrer a queima de algum componente. Enfim, agora posso afirmar que estou adaptando ao Arduíno.

Att.,

Etico
Título: Re: Sobre como desligar o arduino com segurança
Enviado por: GnGz em 23 de Dezembro de 2011, 14:03
O Microcontrolador é como um computador.

Quando você liga o computador, ele passa pela bios e depois para o sistema operativo certo?

No caso do arduino é praticamente a mesma coisa, passa pelo bootloader e de seguida passa ao sketch.

Sempre que envias um sketch este fica "guardado" na memória Flash. Ao "dár" alimentação ao arduino inicia-se o bootloader que de seguida se não houver nenhum programa a ser escrito passa ao sketch que está guardado na memória flash.

Cumps :D