No entanto, algumas questões, especialmente as soluções para questões incomuns, são difíceis de encontrar. Portanto, se você precisar parar um programa Arduino, mas não conseguir fazê -lo, este guia será útil para você, pois expliquei diferentes maneiras de interromper um programa Arduino.
Em que situações o programa Arduino precisa ser interrompido?
O motivo para parar o programa Arduino pode variar, alguns deles são:
Métodos parando um programa Arduino
Existem várias maneiras de interromper um programa Arduino e depende de que razão a execução dele precisava ser interrompida:
Usando loops ou declarações condicionais
Loops e declarações condicionais são uma das maneiras de impedir que o código do Arduino seja executado por um período infinito de tempo. Se você quiser parar o código do Arduino depois que o resultado desejado for alcançado, o uso de loops como e enquanto ou declarações condicionais, como serem e o caso Switch, são as opções mais viáveis.
Desconectando o suprimento de Arduino
Outra maneira de interromper o programa Arduino é desconectando o conselho do Arduino do suprimento, assim que a oferta for desconectada, a placa desligará e, portanto, a execução da placa Arduino parará. No entanto, se o código já for enviado para o quadro, ele começará a executar novamente assim que a placa estiver conectada com o suprimento novamente. Este método só é recomendado quando o conselho se torna sem resposta ao executar o código.
Redefinindo o Arduino usando o botão de redefinição ou o pino de redefinição
Todas as placas Arduino são fornecidas com o botão de redefinição, bem como com o pino de redefinição, usando o pino restante Um botão de redefinição externo pode ser feito. Então, para interromper a execução do programa Arduino, pressione o botão Redefinir que interromperá a execução por segundos até que a placa seja reiniciada novamente.
Usando o modo de suspensão do Arduino
Se o programa Arduino for necessário para ser executado por algum tempo, então o modo de suspensão do Arduino poderá ser usado. E há total de 6 modos de sono disponíveis para o Arduino:
Fora os seis, existem três modos principais que são usados principalmente que são:
Como usar o modo de suspensão do Arduino?
Para usar o modo de suspensão, há uma biblioteca específica que pode ser baixada a partir daqui, ou você pode instalá -lo no gerente de biblioteca do Arduino IDE, pesquisando o modo de suspensão em sua barra de pesquisa.
Para ilustrar como usar o modo de suspensão para Arduino, usei o modo de desativação cujo código é fornecido abaixo:
#include // biblioteca para modo de suspensão
int sec = 0; /* declarando a variável para armazenar a contagem*/
Dorme dorme;
Divisão longa não assinada; /*Duração para a qual o Arduino precisa estar no modo de suspensão*/
Void Setup ()
Serial.começar (9600);
SleepDuration = 5000; // Definindo a duração em milissegundos
Void Loop ()
atraso (100);
Serial.imprimir ("acordar para");
Serial.impressão (seg); / *Imprimir os segundos para os quais o Arduino permanecerá em */
Serial.println ("sec");
sec ++; // Adicionando os segundos
atraso (1000);
if (sec> = 10) // mantendo o Arduino ligado por 10 segundos
sec = 0;
Serial.imprimir ("vai dormir para");
Serial.impressão (sono sono); // imprimindo a duração do sono para Arduino
Serial.println ("milissegundos");
atraso (100); /* dando atraso para permitir a serial imprimir os dados antes de dormir*/
dormir.pwrdownMode (); // dando o modo de suspensão para Arduino
dormir.SleepDelay (SleepDuration); // Dormindo o Arduino para a duração fornecida
No código acima, Arduino funciona por dez segundos e depois vai para o modo de desativação por 5000 milissegundos (5 segundos), parando assim o código Arduino. Após 5000 milissegundos (5 segundos), a função de loop é executada novamente, é assim que você pode parar o programa Arduino. Abaixo está a saída do código Arduino:
Observação: As interrupções também podem ser usadas para o Arduino movê -lo para dentro e fora do modo de suspensão
Qual é a diferença entre atraso e modo de suspensão?
O atraso interrompe apenas a execução do programa Arduino por algum tempo, enquanto o modo de suspensão não apenas interrompe a execução do programa Arduino, mas também conserva o poder que é benéfico caso as baterias estejam sendo usadas para ligar a placa Arduino.
Usando atrasos no código Arduino
Adicionar atrasos no código Arduino também pode ser a única maneira de parar o código Arduino. Novamente, o uso deste método apenas interromperá a execução do programa Arduino para apenas alguns por algum tempo especificado. Então, se você deseja parar o código do Arduino por um curto período de tempo, esse método pode ser usado.
Nota importante: Todos os métodos acima, exceto o uso dos loops, declarações condicionais, modo de suspensão e desconexão do Arduino do suprimento.
Conclusão
Às vezes, pode ser necessário parar um código Arduino e há várias maneiras de fazê -lo. Os códigos Arduino podem ser parados usando loops, declarações condicionais. Você também pode redefinir o Arduino, mas esses métodos param temporariamente o código Arduino. Para interromper o código ao executá -lo, você precisa de uma biblioteca de terceiros chamada Sleep_N0M1.