HOWTO · Arduino

Arduino リセット

リセットボタン、softwarereset ライブラリ、Adafruit SleepyDog ライブラリを使用して、Arduino をリセットできます。

このページの内容

このチュートリアルでは、Arduino をリセットする 3つの方法について説明します。最初の方法は、Arduino にあるリセットボタンです。2 番目の方法は Softwarereset ライブラリであり、3 番目の方法は Adafruit SleepyDog ライブラリです。

リセットボタンを使用して Arduino をリセットする

Linux を使用している場合、Arduino IDE が Arduino ボードと通信できなくなるバグがあります。その結果、Arduino にコードをアップロードできず、エラーが発生します。この場合、この方法を使用して Arduino をリセットできます。

まず、ハブなしで Arduino をコンピューターに直接接続してください。ハブを使用すると、エラーが発生する場合があります。次に、Arduino の電源を切り、リセットボタンを押し続けながら、もう一度電源を入れます。これにより Arduino がリセットされ、エラーなしで別のコードを簡単にアップロードできます。

Softwarereset ライブラリを使用して Arduino をリセットする

スケッチを使用して Arduino をリセットする場合は、Softwarereset ライブラリを使用して簡単にリセットできます。このライブラリは AVR​​アーキテクチャと互換性があるため、Arduino Uno、Mega、Yun、Nano、Leonardo ボードで使用できます。このライブラリを使用するには、Arduino IDE で利用可能なライブラリマネージャーを使用してインストールする必要があります。

このライブラリには、Arduino をリセットするための 2つの方法があります。1つは、ウォッチドッグタイマーを使用して Arduino をリセットする標準メソッドです。もう 1つの方法は、プログラムを再起動するだけの単純な方法です。

void loop() {
  // All of your code
  softwareReset::standard();  // Reset using the standard method
  softwareReset::simple();    // Restart the program
}

リセットコードの下に記述されたコード行は実行されないことに注意してください。したがって、コードが完成したら、必ずリセットを使用してください。詳細については、ライブラリドキュメントをお読みください。

Adafruit SleepyDog ライブラリを使用して Arduino をリセットする

上記のライブラリは、5つの Arduino ボードでのみ機能します。Arduino がそれらのいずれでもない場合は、ほぼすべての Arduino ボードをサポートしているため、このライブラリを使用できます。このリンクを使用して、Arduino がこのライブラリと互換性があるかどうかを確認してください。

#include <Adafruit_SleepyDog.h>

void setup() {
  // Make sure to reset the watchdog before the countdown expires or
  // the Arduino will reset!
  int countdownMS = Watchdog.enable(4000);
}
void loop() {
  // All of your code
}

上記のコードでは、Arduino は 4 秒でリセットされます。リセット方法を使用してウォッチドッグをリセットできます。詳細については、ライブラリドキュメントをお読みください。