省電力機能(スリープ)を動作させます
〔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.