ポモドーロ・タイマーの構成
操作手順
手順
- 電源を付けると自動でWifiに接続し、NTPより時刻を取得します
- 取得すると画面にはアナログ時計が表示されます
- この状態でポモドーロ・タイマーの設定ができます。ダイアルを回すと1分間隔でWork時間を指定できます(25分)に設定します。下部のM5刻印部分がボタンになっています。ボタンをクリックすると確定されます。確定されると赤でWork時間が表示されます。
- 次に、休憩時間を指定します(5分)。同様にダイアルを回して時間を選択、ボタンで決定します。確定されると緑で休憩時間が表示されます
- 設定した時間でよければスタート。変更したい場合はCancelを選択して再度、設定します。
- 画面が赤くなり、ボタンをクリックするとWorkがスタート
- Work完了すると音と光で教えてくれます
- 画面が青く変わり、ボタンをクリックすると休憩がスタート
- 休憩が完了すると音と光で教えてくれます
- 1ポモドーロが完了すると、時計モードに戻ります
開発
ハードウェア
- M5Stack Dial ESP32S3 スマートロータリーノブ 商品コード: M5STACK-K130 5,907Yen
- M5Stack用NeoPixel互換LED搭載 HEXボード 1,562Yen
- モバイルバッテリー: TNTOR モバイルバッテリー 軽量 小型 4.5mm 2500mAh 2,180Yen
- ケース:セリア)ペンケース 100Yen
ソフト設計
ポモドーロタイマーのフローを下記のように設計しました
Uiflow2.0に公開しているので、必要に応じて確認・ダウンロードしてください。 https://uiflow2.m5stack.com/?pkey=90072c7ab74b4b93ac680947cf01ef25
開発はUiflow2.0で行います。 M5DialはUiflow2.0でしか動きません。画面はスプライトを使うと残像なく綺麗に表示することができますが、M5Unified.h、M5GFX.hを使った開発がよくわからなく。 Uiflow2.0だけでの開発となりました。
Uiflow2.0でのビジュアルプログラミング
今回はプログラムコードがそれなりに長いため、極力関数化をして 全体の見通しをよくしています。
![[uiflow2_block_1722433417310.png]]
プログラム解説
時刻はNTPを使って時刻合わせ(GMT-9)をしています そのため、バッテリー駆動ですがWifi接続が必須となります。 Wifi接続用のSSID、SSID-PASSはご自身の環境に合わせて書き換えてください