円形状のディスプレイが、比較的に安価に入手できる事が分かり、「丸いもの写せば面白そう…」と勢いで作りました。
写すものに選んだのは『月』!
月は満ち欠けするので、毎日表示しても飽きないし、日々の時間の経過を感じることも出来て良いなと思いました。
当初は単純にに円形ディスプレイを手元に置くことを考えていたのでディスプレイ、M5Stamp、SDカードで回路を組み極小サイズを目指しましたが、モータ制御が必要になったのでM5Stackを使いました。
M5Stack本体と円形ディスプレイのダブルディスプレイ表示を使い作品を作ったのは勉強になりました。
ディスプレイに写す月は描画をさせようかと思いましたが、HPに月の写真を掲載されている方を見つけ、写真をお借りして表示しています。(関連リンクを参照ください)
※なお、実際の月は太陽が沈む前から見れたり、夜明け前に沈むことはありますが、今回は太陽の動きに合わせて月を動かしています。
1,前日に取得した日の入り時間にM5StackがdeepSleepから復帰
2,Wifiに接続し、現在時刻、今日の月齢、日の出時間、日の入り時間を取得
3,取得した月齢から、SDカードに保存してある画像のうち、その日の月齢の写真を選択して円形ディスプレイに表示
4,現在時刻と日の出時間から月をディスプレイに表示する時間を計算、また日の入り時間から次の日にM5Stackを起動する時間を計算
5,円形ディスプレイは、ステッピングモータに取り付け、日の入りから日の出までの時間をステッピングモータが半周する事で、ガジェットケース上にかたどった山の峰から月が顔を出し、峰を移動して、日の出と共に月は峰に消えていく
6,峰に消えた月(円形ディスプレイ)は、次の表示に備えて、元の位置に戻ります。
7,円形ディスプレイが元に戻ると、deepSleepでその日の日の入りまで待機します