最終更新日: 2010年12月9日

自動リセットのON/OFFスイッチ

Arduinoはスケッチ転送を開始しようとすると自動的にリセットがかかり、ブートローダーが起動してスケッチが書き込まれるようになっていますが、場合によってはこれが弊害になります。ということでここにスイッチを付けてみました。

どんな時に弊害か…具体的には「自動水やり機」です。これは「トレイの水が無くなってから○時間経過後にモーター駆動」というように、数時間、数日に渡って連続稼働させる事を想定しています。さらに遠隔地からその状況が確認できるよう、USBで常時PC(ubuntuマシン)と接続しています。
Arduino内USB-Serial変換のDTRがLになる事でリセットがかかりますが、ここで、ubuntuのドライバによるものなのか、Arduinoにアクセスした瞬間にリセットがかかってしまう事がありました。
例えばsttyにてArduinoデバイスを設定するとリセットがかかります。また、catにてアクセスすると、DuemilanoveではリセットはかかりませんでしたがUNOではリセットがかかります。この差はドライバの差によるものなのか、USB-シリアル変換によるものなのか、不明です。

いずれにせよリセットされてほしくない。
という事を想定し、ArduinoはDTR信号からAVRのRESET端子の配線を容易にパターンカットできるようになっていますが、さらに幸いにもUNOになってからこのパターンが部品の少ない場所になりました。だったらここにスイッチもマウントできるのではないだろうか…長くなりましたがこれがこの本文の趣旨。

というわけで、ちょっと強引だけど、基板に直接マウントするタイプのスライドスイッチの端子を曲げ、このパターン部(RESET-EN)にハンダ付けしてみました。

結果は上々。固定は端子のハンダ付けのみですが、結構しっかりと固定できました。

編集→転送→動作確認→デバッグを繰り返す時にはSWをON、稼働時にはOFFに切り替えることでとても便利に使えるようになりました。

ま、それだけですが。



home | Elec top

inserted by FC2 system