チャンネルデバイダーのVR制御(構想編10)

f:id:torusanada98:20180707200507j:plain

構想編10

ボリューム制御のソフトコーディング&デバッグが一通り終わったので、ソースの整理と表示モジュールの取り付け方法の検討を行います。

ソースの整理

前回の記事の冒頭でも書きましたが、ソースを勢いで書いてきたため、整理が必要な状況です。一通り実装が終わったので整理を行います。具体的に行う作業は以下のとおりです。

1)使用していない関数の削除

ネット上に掲載されていた7セグ表示用のサンプル関数をそのままコピペした部分があり、一部使用しない関数がありました。その関数を削除します。

2)コメントの追加

その場の勢いで変数名を決めたため、後から見て何の変数かわからなくなりそうな部分が多々ありました。ソースのメンテナンス性を考慮してコメントを追加します。

3)変数の型見直し

最初はグローバル変数の確保にほぼ全て「int」型を指定していました。状態変数やフラグなのどは、「byte」で事足りるので変更しました。上記ソースの整理の結果、使用メモリは以下のとおり削減できました。

f:id:torusanada98:20180707200530p:plain

1項はコンパイラが判断して不要な関数のメモリ展開を行わないためか、リソースの使用量に変化はありませんでした。3項はRAMだけでなくフラッシュメモリの使用量の圧縮ができました。コメントはこんな感じで追加しています。

f:id:torusanada98:20180707200612p:plain

英語表記の方が格好いいですが、後でわからなくなってしまったら意味がないので日本語で記述しました。

表示の取り付け検討

まだ構想編ですが、表示の取り付け方法について検討してみます。デバッグ時の写真のとおり、7セグ表示モジュールをそのままむき出し状態で取り付けると格好悪い為、なにかいいものがないかと思いながら近所のスーパービバホーム店内を巡ってみました。使えそうなものがありました。スモークの入ったアクリルパネルです。

f:id:torusanada98:20180707200647j:plain

正式名称は、アクリルサンデーEXのブルースモークタイプです。厚みが2mmで全光線透過率は19%となっています。加工方法は別途検討するとして、表示に被せるとこんな感じになります。

f:id:torusanada98:20180707200721j:plain

なかなかいい感じではないでしょうか?せっかくなので、表示モジュールの正面パネルへの取り付け方法についても検討します。7セグの表示モジュールには、4カ所に取り付け用に穴が開いています。

f:id:torusanada98:20180707200807j:plain

このうち対角の2カ所を使って、配線引き出しおよび正面パネル固定用の基板に取り付けます。丁度いい大きさの基板がなかったので、標準基板をカットして準備しました。

f:id:torusanada98:20180707200846j:plain

固定用基板にスタット取り付け用の穴を開けて、正面パネル取り付け用のスタッドを取り付けます。表示モジュールへの配線は電源(5VとGND)およびI2C用ライン2本(SCLとSDA)なのでそれぞれ配線用の2極の端子台2個を取り付けて完成です。

f:id:torusanada98:20180707200950j:plain

表示モジュールの配線は、電源およびI2C用のスルーホールが取り付け用の穴の脇にありますが、それぞれ2ペアあり、取り付け穴として使わない方を使用して、ネジとの干渉を防止する予定です。また、現状は表示モジュール取り付け用のスタッドは金属ですが、表示モジュールの基板パターンと干渉するため、本番用に樹脂スタッドを準備する予定です。

f:id:torusanada98:20180707201031j:plain

現状は取り付け用スタットのトップと表示モジュールの正面間のクリアランスを3mm取っていますが、実際に取り付けてみて表示が奥すぎる場合は、スタッドの長さを短くして表示モジュールの位置を調整する予定です。後は、アクリル板の加工(カットと取り付け用の穴開け)および、正面パネルの角穴をいかにきれいに開けるかがポイントです。正面パネルの角穴については、加工性の良い黒のシートを上から被せて、カット部の仕上げを隠す工夫を検討したいと考えています。次回はユニット内の基板の構成について検討します。

 

つづく(構想編11)