« 電子工作キットを頒布しています(2020年10月6日現在) | トップページ | M5Stack UIMflowでの画像(Image)とEEPROMの扱いについて »

2020年10月15日 (木)

UIFlowだけで、M5Stackのカウントダウンボードを作ってみた

Dsc_0119


補足:

①SDカードが読めないと思ったら、接触不良のようでした。

確認手順

  1. FAT32でフォーマットした16GB以下のスマートカードを用意し、SDスロットに挿す。
    ※2GのFATはダメでした。
  2. UIFlowを起動する。
  3. 新規プロジェクトを作成する。
  4. 高度なブロック⇒SDCard⇒WriteFileのサンプルをクリックする。
  5. Setupにつなげてブロックを完成させる。
  6. 右上の三角(RUN)ボタンを押す。(特にDownloadする必要は無い)
  7. エラーが無ければ成功(SDカードに”test.txt”が出来る。)
    ※エラーなら何度か挿し直すか、SDカードの接点の汚れを落とす

②UIFlowでバッテリー運用すると30秒程度で電源が落ちる。

ファームウェアが古いと起きるという記事もあったが、プログラムによっても起きたり起きなかったり、することが分かった。

電源が切れないプログラムは、高速で画面を表示している場合でした。

日本語のドキュメントに記載は見つかりませんでしたが、パワーセーブの様な動作でした。

 私の処理場合、ループ処理は使わずタイマーだけで処理していました。

無駄な処理ですが、空のループ処理を追加してあっさり解決。


Setupに追加した行

while True:
pass

 

 

 

 

 

(完成した?カウントダウンボード)

以前からやってみたかった、カウントダウンボードをUIFlowの練習を兼ねて作ってみました。

折角なのでオリンピック用にしてみた。(もちろん非公式)

無事に開催されるか?

Img_20201014232901

(開発の様子)

かなり手抜の仕様です。単に手を抜いたわけではなく、UIFLowでカバーできない部分を妥協した結果です。

  • 時間はNTPやGPSから取得するのではなく、M5Stackのタイマーを回しています。
    かなりズレると聞いているので秒までは表示しません。まあ、1日1回合わせれば何とかなるでしょう。
  • 目標の設定は残り日数のみカウントしています。
  • 日本語テキストが表示が出来ないので画像に直接書いています。
  • 文字のセンタリングをしていません。

仕様

  • 23時59分59秒を過ぎるとカウントが1つ減ります。
  • Aボタンを押すとSETUPモードに入り残に数と現在時間を設定・変更できます。
  • データの保管を行っていません。電源を切ると初期化されます。
  • 現在時刻(HH:MM)を表示します。現在時刻は1秒ごとにブリンクします。

Img2

UI部品

  • Title0(SETUP時)
  • Image0(背景)
  • Label0(カウントダウン)
  • Label1(Aボタン)
  • Label2(Bボタン/時計兼用)
  • Label3(Cボタン)
  • rectangle0(カウントダウンの枠)
  • rectangle1(時計の枠)

 

苦労した点

①背景画像を5枚読み込んだが1枚しか選択できない。

⇒UIFlow v1.45のバグぽくて、v1.65Betaにしたらあっさり読めた

②文字列操作が貧弱

例えば時刻の変数HHと分の変数から「HH:MM」形式にしようとすると

書式付きフォーマットがないので、1文字ずつ足していくことになった。

def str_time():
global mode, SS, TIM, LASTDATE, icount, MM, HH, cdown
TIM = ((str('0') + str(MM)))[-1]
TIM = (str(((str('0') + str(MM)))[-2]) + str(TIM))
TIM = (str(':') + str(TIM))
TIM = (str(((str('0') + str(HH)))[-1]) + str(TIM))
TIM = (str(((str('0') + str(HH)))[-2]) + str(TIM))

③UI部品は、一度画面に貼り付けないと呼び出しが出来ない。

⇒仕様なので仕方がない。

今後

電源が切れると初期化されてしまうのは痛い。SDカードに直前の情報を残しておいてそこから再スタートできるようにしたい。

 

 

« 電子工作キットを頒布しています(2020年10月6日現在) | トップページ | M5Stack UIMflowでの画像(Image)とEEPROMの扱いについて »

アマチュア無線」カテゴリの記事

AKC」カテゴリの記事

電子工作」カテゴリの記事

M5Stack」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 電子工作キットを頒布しています(2020年10月6日現在) | トップページ | M5Stack UIMflowでの画像(Image)とEEPROMの扱いについて »

無料ブログはココログ
フォト
2020年10月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31