Como parar o programa Arduino?

Como parar o programa Arduino?
Arduino é uma das opções viáveis ​​para os alunos que desejam aprender a programar os microcontroladores, pois essa plataforma fornece tudo o que um iniciante precisa para começar com a programação Arduino. Além disso, um iniciante pode esperar alguns problemas no início enquanto tenta escrever um programa Arduino, portanto, não se preocupe, pois uma ampla gama de ajuda online está presente na Internet.

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:

  • A placa Arduino às vezes pode ficar presa em um loop
  • Quando o valor ou saída do desejo é alcançado
  • Para executar o código novamente

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
  • Desconectando o suprimento de Arduino
  • Redefinindo o Arduino usando o botão de redefinição ou o pino de redefinição
  • Usando o modo de suspensão do Arduino
  • Usando atrasos no código Arduino

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:

  • Modo de desativação
  • Modo de espera
  • Modo ocioso
  • Modo de espera estendido
  • Modo de redução de ruído ADC
  • Modo de economia de energia

Fora os seis, existem três modos principais que são usados ​​principalmente que são:

  • Modo ocioso
  • Modo de espera
  • Modo de desativaçã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.