Arduino루프 중지

  1. Sleep_n0m1라이브러리를 사용하여void loop()중지
  2. exit(0)사용하여void loop()중지
  3. 무한 루프를 사용하여void loop()중지

이 튜토리얼에서는 Arduino에서 루프를 중지하는 방법에 대해 설명합니다. Arduino에는 두 종류의 루프가 있습니다. 하나는 기본적으로 제공되는 void loop()이고 다른 하나는 사용자가 생성 한 것입니다. 사용자가 만든 루프는 break 방법을 사용하여 쉽게 끝낼 수 있습니다. Arduino의void loop()를 종료하려면 다음 방법을 사용할 수 있습니다.

Sleep_n0m1라이브러리를 사용하여void loop()중지

위의 방법은 모든 Arduino 보드에서 작동 할 수 있지만 Arduino는 계속해서 전력을 사용합니다. Sleep_n0m1라이브러리를 사용하면 수동으로 재설정하거나 타이머를 사용할 때까지 Arduino CPU를 영구 절전 모드로 전환 할 수 있습니다. 이것은 모든 Arduino 보드에서 작동하지 않을 수 있습니다.

#include <Sleep_n0m1.h>
Sleep sleep;
unsigned long sleepTime; //how long you want the Arduino to sleep

void setup()
{
   sleepTime = 50000; //set sleep time in ms, max sleep time is 49.7 days   
}

void loop()
{
  // Your Code    
  sleep.pwrDownMode(); //set sleep mode
  sleep.sleepDelay(sleepTime); //sleep for: sleepTime
}

코드 작성을 마친 후Sleep_n0m1라이브러리를 사용하십시오. 이 방법은 약간의 힘을 끌어옵니다. 자세한 내용은이 링크를 사용하십시오.

exit(0)사용하여void loop()중지

Arduino의void loop()는 코드 다음에exit(0)메소드를 사용하여 종료 할 수 있지만Arduino.cc는이 루프를 종료하는 메소드를 제공하지 않으므로이 메소드가 작동하지 않을 수 있습니다. 모든 Arduino 보드 용.

void loop() {
// All of your code here

// exit the loop 
exit(0);  //0 is required to prevent error.
}

exit(0)후에는 Arduino를 수동으로 재설정 할 때까지 작동이 중지됩니다. 따라서 코드가 작업을 마친 후에이 메서드를 사용해야합니다.

무한 루프를 사용하여void loop()중지

위의 방법은 모든 Arduino 보드에서 작동하지 않을 수 있으므로 다른 방법을 사용해야합니다. 무한 루프 방법은 모든 Arduino 보드에서 작동하지만 Arduino는 깨어 있고 계속해서 전력을 소비합니다. 이 방법에서는 코드 뒤에 무한 루프를 삽입 할 수 있습니다. Arduino는 코드를 처리하고 무한 루프에 들어가 수동으로 재설정 할 때까지 그대로 유지됩니다.

void loop(){
    
    // All of your code
    while(1){ // infinite loop
        
    }
}

Arduino가 무한 루프에 들어가면 재설정 할 때까지 반환되지 않으므로 코드 작성을 마친 후에는무한 루프를 사용해야합니다.