Arduino 3) 頻繁に起きる再起動を探る
2016.11.19
今使っているArduinoUNO R3
使い始めたころから、突然再起動がかかるのです。
なにぶん、何も知らないところからのスタートなので、
これも仕様通りなのだろうと思っていました。

例えば、
void setup(){} に試験的なコードを書き、
void loop(){} の部分を空欄にしておくと、
setupに記述した処理を終えた後
何も動かすコードがないので、一定時間過ぎた後再起動するのでは?
なんて無知ゆえ甘いことを考えていたのです。

ところがloopに、1秒ごとカウントするコードを書いて、
永遠に終わらない処理をさせてみたところ
不定期に再起動が起きることを確認しました。
つまりプログラム的なものではないな・・と

PCのUSBポートから給電させて動かしているのですが、
PC側のArduinoIDE又はドライバが定期的に再起動信号を送っているのか?
なんてことも考えたわけですが、事態は簡単に解決いたしました。

外部給電ソケット端子に、9V角形乾電池を接続すると症状は再現しませんでした。
あと、別のPCに接続してみても症状は再現しませんでした。
つまりは、私のPCのUSBで電力を十分に供給できていないということのようです。
結構デリケートなのね。LCDが思った以上に食うのかしら?

ではUSB接続しながら外部電源を接続した場合はどうなるのか?
ダブル電源カッケー!なんて中二病みたいな事にはならないようです。
外部電源端子に推奨されているのは7V~12V
7V以上外部から供給された時点でUSB給電を止め外部電源に切り替わるようだ。
外部から7V以上入れても、
三端子レギュレータで5Vに減圧されて使われるので問題ない。安定は9Vと言われているようで、多少熱はでるが12Vでも問題ないという話。

ということで手軽に実験するのであれば、
十分に電力を供給できるUSBポートを使うか、
9Vのアダプタ又は乾電池を使う必要がある。

- CafeNote -