省電力化の実現方法
Wio BG770Aでの省電力化は、非常にシンプルです。
基本的には、delay関数を呼ぶだけです。delay関数を使用することで、マイコンが低消費電力に移行し、消費電力を大幅に削減することが出来るボードです。
どれぐらい省電力なのかは、以下のサイトでも詳しくは掛かれていますが、ここでの待機はdelay関数を呼ぶだけで簡単に実現できます。
背景
マイコンボードで省電力化を実現しようとしたときに、ちょっと詳しい人であれば、「何も処理をしないときはスリープモードに移行して、必要なときにIOやタイマーを割り込みに復帰させて、処理としてまたスリープに移行」という流れが思い付くと思います。
なので、Wio BG770Aで省電力化を実現しようと、まずは割り込み処理を実装してみたのが以下の記事です。
そして、次に省電力化のためにスリープモードなどに移行する方法を調べていて、上記のdelay関数を呼ぶだけで十分省電力化が実現されていることに気が付きました(笑)
ちょっと考察
ArduinoIDEの環境でさまざまな開発ボードが使用できて、その多くは、delay関数を呼び出すことができて、単純に時間待ちをする処理を実現することができます。ただ、それは単純に時間を待っているだけで、CPUも動作しているので、特に電力が削減されることはあまりないです。
ただ、今回のWio BG770Aの場合は、delay関数を呼ぶだけで省電力化を簡単に実現することが出来ます。もちろん、そもそもマイコンが省電力である点や、delay関数を呼び出した先でおそらく何かしらの工夫がいろいろされているのだと思いますが、Wio BG770Aをシンプルに使いたいユーザーにとっては、delay関数を呼ぶだけで省電力化が実現されているのはとてもすごいことだと思います!
さらに、通常のマイコンの場合は、省電力化のためにDeepSleepモードまで移行すると、内部のプログラム変数が保持されないことが多いので、DeepSleepモードに移行するときにデータを保持したい場合は、何かしら工夫をすることが一般的だと思います。ただ、今回のWio BG770Aについては、delay関数を呼び出して省電力化されるため、内部のプログラム変数が保持できないといったことは当たり前ですが発生しません。なので、とても簡単に省電力化が実現できるとともに、プログラム自体もあまり難しいことを考える必要がないので、とても簡単に省電力化して使うことができます!
まとめ
Wio BG770Aの場合は、delay関数を使うことで十分に省電力化することができます!
なので、難しいことはあまり考えずに、とりあえず、delay関数を使っていろいろ実装しましょう!
その他参考リンク