PIC24F電子遊戯(4)
更新日:2021年2月26日

オーディオレベルメーターに仕上げる
なぜか私的に盛り上がっている「マジョカアイリスハック」の実用製作第二弾の発表です。今回はオーディオクラフト工房とコラボしました。まずは完成した姿を御覧下さい。
(オーディオレベルメータに仕上げました)
横長液晶を活かせる製作にしてみました。どこまでの表示スピードに追従出来るかで良し悪しが決まると思いますが、なんとか実用になるレベルだと信じております。このPICの限界ですね。回路図はこんな感じです。回路図はクリックすると大きく見れます。
(オーディオレベルメータの回路図です)
マイコンはPIC24FJ64GA004になります。このシリーズの定番になりつつあります。RAMが8kBありますので、4色モードでなんとか640x48ドットの画面が構成出来ます。その辺りはプログラムソースで確認して下さい。オーディオ信号のラインレベルを表示する装置です。オペアンプで増幅した信号を整流してから電解コンデンサで一時的にホールドしてその電圧レベルをPICのADコンバータで読み込んでメータ表示を行っています。レスポンスを良くするため放電用の抵抗値を小さくしています。信号レベルが大きくなると表示の色が変わるようにしています。その区分けをどこにするかは好みなので必要な方はプログラムソースを見て改造して下さい。表示レベルは基準信号を再生しながら「0」表示が点灯するかしないかのレベルに可変抵抗を調整して下さい。信号のレベルはdBに換算してメーターの表示に反映しています。基準信号はスピーカーの周波数特性測定に使ったサインスイープ信号を使いました。今回使用したマジョカアイリスハックの液晶モジュールは緑基板タイプでしたので、バックライト電圧が高いものです。一応12V程度の電圧を220Ωの抵抗を介して点灯させています。少し暗かったかもですので、抵抗は好みで調整して下さい。操作でバックライトの輝度を落とすことも出来ます。
(オーディオレベルメータの内部)
(極めてスッキリとした中身です)
(PICマイコンのポート割付)
LCDモジュールへの制御を出来るだけ高速化するためにRCxポートは全てモジュール用のデータバスに当てました。スイッチは3個のみです。キー入力のプルアップ抵抗はマイコン内蔵を使いました。表示用フォントは24x24ドットでデザインしています。同時4色の発色が可能ですが今回も最大3色でデザインしています。全部で53個分です。
(表示フォント一覧)
カラーデータを少し変更しています。結局元に戻したことになりました。
(基本の15色)
表の右側に番号に対応して色を付けてみましたが、実際に見える色とは少し異なるかもしれませんのであくまでもイメージとして捉えて下さい。PICの内部には4色モードでフォントが展開されています。色的には寂しいのでパレット方式で表示色を変えるようにしています。今回かなり配色をいじりました。今回は4色をフルに使っています。
(パレット色の定義)
ボタンスイッチ操作でパレット色の変更と表示フォントの変更が行えます。LCDモジュールのバックライトの輝度も変更が可能です。
(スイッチ操作一覧)
表示のパレット色を実際の状態で確認下さい。少しピンボケなところもありますが。
(パレット色一覧)
全て自分の好みで配色していますので、合わない人は自由に改造して下さい。と言っても同じ物を作られる方は殆どおられないとは思いますが。
(背面はこんな感じです)
過去のケースを流用していますので、あらぬ所の穴は気にしないで下さい。OUT端子は別機器につなぐためのものです。IN端子と並列になっております。
オーディオ機器に接続する装置ですので、電源を入れる度に折角設定したパレット色やフォントが初期化されると困るのでI2CタイプのEEPROMを接続して外部記憶しています。電源ON時に読み出して内部設定しています。今回は手持ちのものを使いましたので容量が大きいですが数バイトしか使用しないのでそこは皆さんのチョイスでお願いいたします。当然制御も異なるのでそこはよろしくです。
(EEPROMの割付)
この製作のMPLAB IDE用のプロジェクトファイルを公開いたします。ここからダウンロードして下さい。コード生成はMCCを使用しました。また合わせて「Peripheral Library」も組み込んでいます。前回でも説明しましたが、MCCで恩恵を受けた部分と受けない部分があります。今回もI2CとADコンバータは個別にプログラムを組んでいます。しかしながら初期化の部分はMCCを使用していますのでその部分は楽になっています。
プロジェクトファイルのダウンロードはこちらへ
今回のプログラムでの画面書き換えはメイン部分が約62msec、前処理に20msec程掛かっています。トータルで約82msecなので1秒間に12枚書き換えが可能です。オーディオレベルメータの表示にも充分追従可能と思います。その動画はTwitterで公開していますので、よろしくお願いいたします。
コツさえ掴めばLCDモジュールの製作はサクッと出来るようになります。さてさて次は何を作ろうかな。これからもPIC24Fでマジョカアイリスハックを楽しみましょう。

「PIC24F電子遊戯の表紙」へ戻る