制御基板の作動確認ができたので、少しづつソフトを作っていきます。
ソフト製作
時計/時刻合わせ
ざっと考えた仕様は以下の通り。
・表示
1行目 年/月/日 サイズ3(7x5の3倍)
2行目 時:分:秒 サイズ4
曜日は自動計算、1行目の上に記号(S M T W T F S)で表示、Sun:赤、Sat:青、他白
・操作(時刻設定)
セットボタン(長押し)で時刻合わせ開始、秒、分、時、月、年の順に桁選択、年の次は→秒からと繰り返し。
再度セットボタン(長押し)で時刻合わせ完了。
選択桁ブリンク 2Hz
モードボタン→桁インクリメント、繰り上がりはしない。秒桁は、00にリセット。
時刻合わせ中も時計機能は作動
現状、作成状況は、表示部分まで実装。
簡易オシロ(波形)
ざっと考えた仕様は以下の通り。この機能は、どちらかと言うとデバッグ用です。
256サンプリング、表示、サンプリング の繰り返し。
表示は左から前回値を消して、書くことの繰り返し
表示エリア 150ドット分なので、あとは飛ばす。表示性能上、スクロール表示は断念
実際に音を拾ってみたところ。サンプリング自体は約3KHzでやってますが、表示周期は3Hz位になってしまいます。ただ、ちゃんと音が取れていることは分かります。
簡易スペアナ
同じく仕様。この機能も、どちらかと言うとデバッグ用です。
256サンプリング。窓関数(ハニング窓)、FFT、表示、の繰り返し。
棒グラフ化 レベルによる色分け、ピークホールド、ホールド値は一定レートで0に。32高調波まで。
基本的なところまで実装。表示関係の細かい仕様はまだですが、表示性能との兼ね合いで断念するかもしれません。写真は、実際にバイオリンを弾いてみた状態で、ちゃんとスペクトルが分かります。緑色の数字は、サンプリングからFFT計算までの所要時間(ms)です。表示の遅さを除けば、十分使えそうです。
練習時間タイマー
最終的な目的である練習時間積算タイマー機能の仕様です。
・音判別(練習判別)
マニュアル:練習開始、終了、1時間毎に確認アラート5分間待ち、終了自動判定
簡易版、ある程度大きな音
詳細版、バイオリンの音検知。本当にできるでしょうか。
・操作
モードスイッチで、年、月、週、日の積算時間を表示
履歴標示:月、週、日選択時は、日単位、年選択時は、月単位
まずは、画面イメージだけ作りました。本当に、千時間を超える練習をするのかは、自分自身不明です。
バックライト制御
ノーマル状態で セットスイッチ 消灯を含む4段階の輝度を設定。バックライトの自動消灯、点灯機能など、出来るだけ省電力化の工夫を実装予定。合わせて、PICのスリープ機能も実施しないと、電池が持たなそうです。
今後の計画
ソフトの各機能の仕様を検討しながら、一部実装を開始しました。一通り機能するようにするにはあと一歩ですが、表示処理をどこまで早くできるかを見ながら、細部を詰めていく予定です。
ソフトも開発のサイクルに乗りそうなの、ケース実装を含めたハードを最初に完成させていきます。
よろしかった、お付き合い願います。