Quero fazer com que meu Arduíno pare de rodar o programa quando apertar um botao e  depois quando aperta o botao novamente ele deve recomeçar o programa do zero. Que lógica posso usar?

Exibições: 488

Responder esta

Respostas a este tópico

Uma chave on/off na fonte do arduino resolveria, não?

Verdade. Melhor resposta.

Sem muitos detalhes, fica complicado sugerir alguma coisa.

Olá André!

Como é o seu código para podermos verificar e te ajudar?


A função loop nunca para de executar, então uma coisa que você pode fazer é essa:

No setup, declare uma variável flag do tipo boolean para determinar quando o programa deve ser executado ou não, tipo:

boolean flag = true;

Depois no loop faça o seguinte:


if(pressionou_botao) {

  flag = !flag;

}

if (!flag) {

  return; // Isso vai pular o resto do programa se flag for false

}

// Coloque aqui o programa que deve ser executado quando o flag for verdadeiro

 Jose Augusto 

Se a flag for declarada dentro do setup(), não vai ser uma variável local?

Essa variável deveria ser global ou dentro de loop().

Flavio, você está correto.

A variável flag deve ser declarada e inicializada no cabeçalho do sketch, antes do setup.

Mas, pensando bem, gostei mais do botão liga/desliga.

Pessoal, boa tarde

a solução do problema do AEG apresentada pelo PRN, foi excelente.

Me fez lembrar de um "historia" que me contaram uma vez:

A NASA estava gastando milhões de US$, pesquisando uma caneta esferográfica que fosse capaz de escrever no espaço aberto, para ser usada pelos astronautas.

Os Russos, mandara um lápis  de US$ 0,50 com o astronauta.

Temos que ter cuidado com soluções mirabolantes. kkkkkkkkkk

Rui

Hahaha conheço essa história também, de fato as vezes a solução é bem mais simples do que o que imaginamos

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço