省電力機能(スリープ)を動作させます

〔Seeeduino XIAOの使い方に戻る〕


ArduinoIDEのライブラリで、メニューバーから[ファイル]→[スケッチ例]→[Energy Saving]があります
このライブラリはArduino IDEに"Seeeduino XIAO"ボードを追加した時にインストールされた様で、
"Seeeduino XIAO"の省電力(スリープ)が出来るみたいです。

で、スケッチを眺めていたらどうも"Arduino Zero"系統のピン配置で出来ている様なので、
[EnergySaving.cpp]をオーバライドして"Seeeduino XIAO"のピン配置に変更しました。
そのライブラリは[SavePowerXIAO]と命名しました、ここに置いておきます。
"SavePowerXIAO"の登録方法は、ここのページの登録方法1を参照してインストールしましょう。

尚、[EnergySaving]のソースはGitHubのこちらにあります。


《WakeUpOnExternalInterrupt》

このサンプルスケッチは、外部ピンの割り込みによりスリープモードからウエイクアップさせる例です。

"Seeeduino XIAO"ボードのD4ピンにスイッチをプルダウンで配線します。

@ XIAOの"USB port"とPCをUSB Type-Cコネクターケーブルで繋ぎます。

A ArduinoIDEを起動させ、ボードとポート設定を"Seeeduino XIAO"に設定します。

B メニューバーから[ファイル]→[スケッチ例]→[SavePowerXIAO]→[WakeUpOnExternalInterrupt]を
  順番にクリックします。

C スケッチをコンパイルして書き込みます。

D 内蔵LED(L:黄色)が20回点滅(約20秒)してスリープモードに入ります。

E スイッチを押せばウエイクアップします。

F 以降はDからの繰り返しです。

注意
スリープ中は、スケッチの書き換えができません。
ウエイクアップしている時か、リセットパッドを2回ショート(ON/OFF)させブートローダーモードに
するしかないです。


《WakeUpOnRTCInterrupt》

このサンプルスケッチは、RTCで時間設定によりスリープモードからウエイクアップさせる例です。

@ XIAOの"USB port"とPCをUSB Type-Cコネクターケーブルで繋ぎます。

A ArduinoIDEを起動させ、ボードとポート設定を"Seeeduino XIAO"に設定します。

B メニューバーから[ファイル]→[スケッチ例]→[SavePowerXIAO]→[WakeUpOnRTCInterrupt]を
  順番にクリックします。

C スケッチをコンパイルして書き込みます。

D 起動したら、時間を"12時48分0秒"で書き込みアラームの設定が"30秒"と毎秒起動になっているので、
  30秒毎にスリープモードとウエイクアップを繰り返します。
  又、ウエイクアップしたら内蔵LED(L:黄色)が20回点滅(約20秒)を行います。




【きむ茶工房ガレージハウス】
Copyright (C) 2006-2020 Shigehiro Kimura All Rights Reserved.