2013年3月22日金曜日

Sleepと外部入力(タクトスイッチ)による復帰の仕方(その1)

今回はArduinoの消費電力を軽減するために、Sleep(休止)と外部入力による復帰の仕方です。

センサー入力がない間は、消費電力を抑えるために、ArduinoをSleepさせておきたい。
でも、ずっとSleepでは意味がないので、復帰もできる。簡単に言えば省エネですね。

まずは、Sleepについてです。
Arduinoに使用されているATMEGA328Pのデータシートの 『Power management and sleep modes』を見ると、いくつかのSleepモードが選択できることがわかります。また、復帰方法についても、それぞれ異なっていることがわかります。

http://www.atmel.com/Images/doc8161.pdf 39ページあたりです。

今回はPower-downモードを使いたいと思います。理由は一番消費電力が少なさそうだからです。
そして、 Wake-up sourcesの列を見ると、INT1,INT0 and pin change と記載されているので外部入力によってWake-up(復帰)できそうなことがわかります。

PCでも休止モードとして聞き覚えのある、アイドルやスタンバイ、パワーセーブモードも選択できることがわかります。でも、今回使うのではパワーダウンモードです。
復帰方法には、タイマーも使えることがわかります。それ以外は、わからないので割愛です。

機能があることは分かったので、次はどう実装するかです。


Gooleで検索すると、ライブラリーが公開されていますが、ブラックボックス化しないで自分で理解したいと思い、さらに調べてみます。






0 件のコメント:

コメントを投稿