Arduino リセット

Ammar Ali 2023年10月12日
  1. リセットボタンを使用して Arduino をリセットする
  2. Softwarereset ライブラリを使用して Arduino をリセットする
  3. Adafruit SleepyDog ライブラリを使用して Arduino をリセットする
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 秒でリセットされます。リセット方法を使用してウォッチドッグをリセットできます。詳細については、ライブラリドキュメントをお読みください。

著者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook