センサー入力がない間は、消費電力を抑えるために、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 件のコメント:
コメントを投稿