Aitendo M6955 + 秋月LCD+ロータリーエンコーダ その9
都知事選の結果はだいたい予想通りでした。実は4位の人にもっと票とって欲しかったのですが。それでもかなりの健闘ですね。今後に期待してます。
さて、やっと動画にできるようになりました。(まだAM/FMの2モードですが。)
基本動作のロータリーエンコーダで選局。押下でバンド切り替えです。
LEDは押下で赤、左右回転で青・緑を切り替えています。
ちょっとひねったところでは、ロータリーエンコーダをゆっくり回すとそのバンドの基本ステップ(AMなら9KHz、FMは0.1MHz)で、早めに回すとその3倍のステップで周波数が変わるようにしています。
エンコーダはタイマー割り込みで制御していますので、回転速度についてはエンコーダ信号の立ち上がり間隔での割り込み回数を計測しています。
やってみると「早め」って結構定義が難しいですね。とりあえず閾値を少しずつ変えてこんなものかな、というところに設定していますが、まだ調整がいりそうです。
他に、文字表示にスケール機能を持たせて大きく表示できるようにしました。
これで周波数表示を2倍にして表示しています。
一応動くのでソースをアップします。
「m6955_type1.c」をダウンロード :メインです。
「graphics2.c」をダウンロード :強化したグラフィックルーチンです。
「m6955ctl.c」をダウンロード :M6955の制御ルーチンです。
「PIC24F_I2C.c」をダウンロード :I2C制御ルーチンです。
「spilcd.c」をダウンロード :SPI LCDの制御ルーチンです。
「font8x8.h」をダウンロード :フォントデータです。
「m6955.h」をダウンロード :M6955定義ファイルです。
「spilcd.h」をダウンロード :SPI LCDの定義ファイルです。
次はスペアナ的バンド状態表示にトライしようと思います。
それではまたです。
コメント