はい、Arduinoを突然停止しても安全です。
まあ、ほとんど安全です。
さまざまなArduinoで使用されるプロセッサには、3種類のメモリがあります。
Flash-プログラムが保存される場所。プログラムはここからデータを読み取ることができますが、書き込むことはできません。
RAM-プログラムの実行中にプログラム変数が保持される場所。ここのデータは、Arduinoをオフにすると消えます。プログラムはここで常に読み取りと書き込みを行います。
EEPROM-プログラムが内容を保存できる場所では、次回の実行時に必要になります。通常、めったに変更されないが、プログラムの実行時には常に必要なもの。センサーのキャリブレーションデータと同様。
ほとんどのプログラムは、フラッシュとRAMのみを使用します。Arduinoは、これらのプログラムで好きなときにいつでもオンとオフを切り替えることができます。
プログラムがEEPROMに書き込む場合、EEPROMへの書き込み中に電源を切ると、そこのデータが破損する可能性があります。
それがプログラムに与える影響は、データが何であるかによって異なります。
センサーのキャリブレーションデータが破損すると、センサーが検出しているものが何であれ、測定値が悪くなります。
EEPROMデータを使用してチェックサムを書き込むと、破損を検出でき、不良データを使用する代わりにプログラムをシャットダウンできます。
もちろん、プログラムがEEPROMに書き込むかどうかはわかります。別のライブラリをロードし、特別なコマンドを使用してEEPROM領域の読み取りと書き込みを行う必要があります。
本当に危険なのは、EEPROMに書き込むその短い瞬間だけです。それはめったに起こらないため(通常は制御された条件下でのみ)、EEPROMデータを破損することもまれです。
概要:
EEPROMを使用している場合を除き、Arduinoのオンとオフを危険なく自由に切り替えることができます。その場合でも、ほとんどの場合は回避できます。