Olá pessoal, sou iniciante com Arduíno e estou com um problema. Estou criando um programa e preciso que em uma determinada parte dele a execução seja parada e direcionada para o inicio, no caso para void loop(). Algo assim:
if (digitalRead(start))
{
// escreve no LCD as opções para escolha
tela.print("Qual o sabor?", 0, 0);
tela.print("Verde=Limao", 0, 8);
tela.print("Amar=Maracuja", 0, 16);
if (digitalRead(limao))
{
tela.clrScr();// limpa o lcd e pede para escolher a intensidade da bebida
tela.print("Qual Intensidade", 0, 0);
tela.print("Maricas", 0, 8);
tela.print("Macho", 0, 16);
if (digitalRead(maricas))
{
tela.clrScr(); // mostra a opção escolhida e pede para confirmar
tela.print("Voce escolheu:", 0, 0);
tela.print("LIMAO para", 0 , 8);
tela.print("MARICAS", 0 , 16);
tela.print("Confirma", 0 , 24);
tela.print("Cancela", 0 , 32);
if (digitalRead(confirma))
{
tela.clrScr();// exibe a mensagem que a bebida está sendo preparada
tela.print("Bebida", 0 , 0);
tela.print("Sendo", 0 , 8);
tela.print("Preparada", 0, 16);
}
else(digitalRead(cancela));// caso fosse pressionado o botão cancela o programa deveria parar aqui e voltar para o inicio da função loop()
return; // neste ponto não sei como faço para isto acontecer. O return deu erro e não consigo chamar a função loop() ai no lugar do return;
//continuação do programa...
Tags:
Oi NL, boa noite,
Vou recomendar a voce a leitura do tópico: http://labdegaragem.com/forum/topics/sugest-o-de-como-postar,
Principalmete a recomedação de não postar códigos na área de texto do tópico.
Ok, agora com sua dificuldade.
Coloque a parte funcional do seu programa dentro de uma
função while (), e defina uma condição pra que a execução saia do while.
Qdo esta condição for atingida, a execução sairá do while e voltará para o inicio da função loop ().
Rui
Oi NL, bom dia.
Correçao na minha informação. while não é função, é uma estrutura de controle.
Rui
Olá Nei Lopes.
Só para você ter conhecimento, o Arduino usa a seguinte estrutura:
void setup() // é executado uma vez
{...}
void loop() // é executado continuamente
{...}
"Todo" o seu programa deve ficar dentro de loop(), com exceção da rotina de interrupção, você pode e deve criar funções, também recomendo separar em arquivos - TABS)
Para ser mais preciso as funções setup() e loop() estão dentro de uma função chamado main()- é padrão do C.
Seria bom você explicar com mais detalhes, o que realmente pretende e anexar todo o seu código.
pense em algo assim(é uma possibilidade)
void loop()
{
//funcoes
condicao = TRUE;
while(condicao)
{
//seu programa
...
else(digitalRead(cancela))
condicao = FALSE; ou break;
...
}
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por