Boa noite, tenho uma duvida referente ao comando while.
A minha duvida é seguinte, quando eu chamo a comando para acionar ele vai executar um comando por um tempo, dai ele para. queria saber se tem como para essa contagem no meio como se fosse uma parada de emergência.
if(armazenavalor == 16738455) //comando acionado por controle remoto
{
while(aux<8000)//define o tempo
{
esquerda(); //aciona o comando para girar o motor para esquerda
aux++;
}
aux=0;// reseta contagem
irrecv.resume();
}
teria como colocar um botao no meio dessa programação parar a contagem?
Ola, use a instrução break para sair de uma interação do while, for, do e switch.
if (armazenavalor == 16738455) //comando acionado por controle remoto {
while (aux<8000) //define o tempo {
if (_Condicao_para_sair_) {
break;
};
esquerda(); //aciona o comando para girar o motor para esquerda
aux++;
}
aux=0;// reseta contagem
irrecv.resume();
}
Também pode incluir uma condição and no teste do while.
while (aux<8000 && girar) {...}
Existem também a instrução continue, que pula o resto do código e continua com a interação.
break: sai da interação.
continue: deixa de executar o resto do código da interação, mas continua nela.
pksato:
Ola, use a instrução break para sair de uma interação do while, for, do e switch.
if (armazenavalor == 16738455) //comando acionado por controle remoto {
while (aux<8000) //define o tempo {
if (Condicao_para_sair) {
break;
};
esquerda(); //aciona o comando para girar o motor para esquerda
aux++;
}
aux=0;// reseta contagem
irrecv.resume();
}
Também pode incluir uma condição and no teste do while.
while (aux<8000 && girar) {...}
Existem também a instrução *continue*, que pula o resto do código e continua com a interação.
break: sai da interação.
continue: deixa de executar o resto do código da interação, mas continua nela.
Muito obrigado pelas instruções. Vou aplicar no meu codigo e verificar se a intereção com "while (aux<8000 && esquerda) {...}" da certo. e o "if (Condicao_para_sair) { break;};"
Não faz parte daqui mas nesse projeto estou utilizando um controle remoto IR. E meio que fiz a listagem de codigos do cotrole e coloquei na programação do arduino um dia anterior estava funcionando tudo os comando. Dai eu fui dormi, e no outro dia eu simplesmente liguei o arduino na energia, ele nao funciono. Fui verificar o pq nao tava funcionando o controle tava enviando outro codigo, isso normal? Ou tenho que fazer alguma alteração eu utilizei a biblioteca IRremote.h
lincon_teko:
Não faz parte daqui mas nesse projeto estou utilizando um controle remoto IR. E meio que fiz a listagem de codigos do cotrole e coloquei na programação do arduino um dia anterior estava funcionando tudo os comando. Dai eu fui dormi, e no outro dia eu simplesmente liguei o arduino na energia, ele nao funciono. Fui verificar o pq nao tava funcionando o controle tava enviando outro codigo, isso normal? Ou tenho que fazer alguma alteração eu utilizei a biblioteca IRremote.h
Olá,
Sugiro que você inicie um novo tópico para cada duvida, assim vai facilitar quando alguém for pesquisar um problema semelhante ao seu
Infelizmente acabo nao funcionando o que o @pksato me instruiu a fazer nao deu certo. Quando aciono pelo controle para executar o seguinte comando :
{
if( armazenavalor == 16750695)// Botao "1" para acionar os motores por um tempo.
{
while(aux<3000)//define o tempo
{
if( armazenavalor == 16738455)//botao "OK" para parar de contar
{
break;
};
direita(); //aciona o comando para girar para direita
aux++;
}
aux=0;
irrecv.resume();
}
}
Ele esta fazendo o seguinte ele executa a ação enviado pelo controle remoto. Ele executa o comando do contador e quando clico para ele para no controle remoto ele nao para de jeito nenhum, alguem tem alguma outra solução?