AIと協働して、小さなキーボードを作ってみました。キーは6つ。左上につまみ、右上に小型ディスプレイを載せています。

6つのキーと、ロータリーエンコーダー
キーは2行×3列に並べました。画面にはK1〜K6の割り当てを表示しています。つまみのほうは音量操作の表示です。
ボタンを押す操作と、つまみを回す操作を一台へまとめられるので、特定の機能を呼び出すものはキーへ、値を増減するものはつまみへ、という使い分けができます。
ロータリーエンコーダーは、可変抵抗のように「今この角度だから、この電圧」という読み方をする部品とは違います。一般的なものは位相のずれた2つの信号から、どちらへ回ったかを読み取ります。回転方向に応じて音量を上げ下げする、といった操作に使えます。
キーボードでの実装例はQMKのエンコーダー資料にもあります。使用するファームウェアによって設定方法は変わりますが、回した動作へキーや機能を対応付ける考え方は共通です。
画面に割り当てを出す
ディスプレイのフットプリントには「0.96" 80×160(RGB)SPI」と記載しています。小さい画面ですが、6キー分の割り当てとつまみの状態を表示するには収まっています。
キー数の少ないキーボードは、どのキーに何を入れたかを忘れると使いにくくなります。画面へ出しておけば、キーキャップの文字と実際の設定が違っても確認できます。
SPIの画面を扱う場合、キーを読む処理に加えて、表示を更新する処理も必要です。毎回すべてを描き直すのか、変化した部分を更新するのかで、処理量も変わります。キー入力への反応を保ちながら表示する、という点も考えることになります。
基板上の配置
手前にキー、奥に表示器を置き、つまみは左へ寄せました。指で操作する部分と、見る部分を分けた配置です。USBの接続口は上側に出しています。
部品同士がぶつからずに載ることと、指を掛けて操作しやすいことは別です。とくにつまみは、周囲に指を入れる余裕が必要になります。こういうところは、基板を眺めているときより実物のほうが分かりやすいです。
0 件のコメント:
コメントを投稿