Olá novamente meus caros. Eu aqui "traveis" com mais um dúvida na programação do meu "grande" projeto!
Estou tentando criar uma função de pausa dentro de uma rotina "for", utilizando uma variável booleana, como sempre li todo o conteúdo que pude encontrar na internet a respeito do assunto mas ainda não está funfando, alguém sabe o há de errado?
Ao pressionar o botão "start" no void loop() ela chama a função void cortar() (código abaixo), e dentro desta função preciso poder "pausar" e "reiniciar" ao clique de um mesmo botão, ou seja, clica o botão "pausa", função para de rodar, clica no "pausa" novamente, função volta a contagem de onde parou. Alguém sabe onde está o erro ou uma forma melhor de fazê-lo?
void cortar()
{
boolean pausa = false;
btn_i = btnRead();
for (number; number > 000; number--) // repete a função cortar "number" vezes
{ // variável number é selecionada pelo usuário
digitalWrite(tamanho, HIGH);
delay(number1*1000);
digitalWrite(tamanho, LOW);
delay(500);
digitalWrite(corte, HIGH);
delay(500);
digitalWrite(corte, LOW);
delay(500);
printNumber(number);
if (btn_i == btnPause)
{
delay(100);
pausa = !pausa;
while (pausa == true)
{
}
}
alarme(); // ao acabar a rotina de corte chama um alarme
}
Tags:
Pra entenderem melhor, esse é o projetinho. Uma cortadora de uma película chamada "hotfix tape" utilizado em moda. Nela o usuário seleciona o numero da quantidade e o tamanho em cm de cada folha.
Nela o usuário pode pausar a rotina, caso aconteça alguma coisa, ou queira trocar a bobina.
Vai ser equipada com um sensor que ativa na presença da folha e caso a bobina acabe ele desativa, provocando uma pausa na rotina, e soando um alarme para que usuário possa fazer a reposição .
Olá,
Poste seu código completo colando no www.pastebin.com, ou envie aqui como descrito no tutorial do Rui Viana, creio que assim sera mais fácil alguém lhe oferecer ajuda.
Abs.
Oi RMM, boa tarde.
Como bem disse o CK, o ideal é sempre postar um código, ou aqui mesmos mas com arquivo anexado
ou em sites como o www.pastebin.com.
O seu for está "incompleto" . for (number; number > 000; number--)
Veja esta sugestão do código para o for.
Rui
Ok caros colegas, aqui segue o código completo da forma que sugeriram. Desculpem o deslize, não conhecia esta ferramenta.
Valeu Rui, alterações feitas. Não tinha entendido quando li o código, mas quando alterei e executei ele notei a diferença.
Agora só falta fazer o pause funfar.
Oi RMM,
posta o novo code que dou uma olhada.
Rui
Segue o código! Obrigado pela ajuda!
Ja tentei de tudo usando uma booleana. Mas tem que ter uma forma que funcione
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por