Monthly FB NEWS 月刊FBニュース 月刊FBニュースはアマチュア無線の電子WEBマガジン。ベテランから入門まで、楽しく役立つ情報が満載です。

My Project

第36回 【入力した信号を表示する】汎用表示器

JP3DOI 正木潤一

2023年9月1日掲載


このところの月刊FBニュースでは、冶具や計測器といった製作記事が多いように思います。回路製作や工作に役立つ汎用的な冶具を、1つ私も作ってみたいと思いました。自分の中で今最も関心が高く、製作意欲の旺盛な分野は「LCD(キャラクタLCD)」です。C言語を使い始めてからI2C通信制御が簡単に書けるようになり、LCDを気軽に使えるようになりました。今回は、『汎用キャラクタLCD』を使って、さまざまなパラメーターを表示する『汎用表示器』を作ってみたいと思います。

コンセプト

今回の製作は1度で終わるものではなく、マイコンのプログラムを更新して機能を拡大させていくものです。基本機能として、入力された信号やデータを表示できる物で、作業台に置いておけば何かと少し役に立つと思います。また、なにかを作る際に、表示部を改めて作らなくても動作確認が出来る汎用表示器として便利です。表示可能な信号や情報の種類を徐々に増やしていきたいと思います。


使用するLCDは16文字×2行のキャラクタLCD。低消費電力なのでコイン電池での駆動も可能。ピンピッチ変換基板付き。秋月電子通商製。

「LCD付きスピーカーマイク」(2022年6月号)で使ったのは8文字×2行のLCDでしたが、今回は最大で1度に32文字の表示に対応しているので、その分表示できる情報が多くなっています。工夫次第でいろんな用途に使えそうです。

用途(=各種データ表示)

LCDはPICマイコンで制御します。マイコンにはI/Oポート(デジタル)やA/D(アナログ入力)ポート、シリアルポート(UART)があるので、さまざまな信号を入力して演算し、その結果をLCDに表示することができます。今回は最初のベースとして、とりあえず3つの表示機能を実装させることにしました。

なお、表示させるパラメータ(つまり入力信号の種類)は、プッシュスイッチを押して選択します。

・電圧(外部センサを使った各種測定)


アナログポートに入力された電圧を表示します。これ自体は、電池の残量の目安や回路上のロジック電圧など、マルチメーターを使うまでも無い簡単な電圧チェックに使えるかと思います。ただし、マイコンのA/D変換の仕様上、電源電圧以上の電圧を測ることはできません。

しかし、この機能は電圧を測ることが直接の目的ではなく、測定結果を直流電圧で出力するセンサーを接続していろんなパラメーターを測るためのものです。たとえば、温度に比例した電圧を出力する温度センサーを使って温度を表示したり、パルスオキシメーター用センサーを使って血中酸素濃度を表示させられます。いずれも、入力電圧を得たいパラメーターに変換する式を別途プログラムする必要があります。

・シリアルデータモニター


デジタル(UART)ポートに入力されるシリアルデータを1バイトごとに表示します。ASCIIコードとして表示されます。

・CI-Vコマンドモニター


デジタル(UART)ポートに入力されるシリアルデータを1バイトごとに表示します。16進数の数値として表示されます。自分でプログラムしたCI-Vコマンドが意図したとおりに出ているかを確認することもできます。これらの他にも、将来プログラムを改良して、マグネットセンサーを使って自転車の速度を計測したり、GPSモジュールからの位置情報を表示させたりしていきたいと思います。

製作

今回はほぼマイコンのプログラム作成となります。ハードウェアの工作はマイコンとLCDの配線、外部コネクタとマイコンの配線程度です。それ以外は、ジャックを取り付けてケースからLCDを覗かせるための四角い窓を開ける工作です。


回路はマイコンとLCDとの接続のみ。入力信号は直接マイコンに入力する。

筐体はコイン電池(CR2032)を内蔵可能な『タカチ』のケースを使用します。CR2032の公称容量が255mAhで、LCDとPICマイコンを合わせた消費電流は0.6mA程度なので、長時間の使用が可能です。



背面にCR2032を収めるスペースがあり、ピッタリ収まる専用基板も用意されている。小さな回路を組み込むのに向いているケース。


アナログ入力とデジタル入力には2.5mmジャックを2個使用。このように2つをピッタリ並べないと収められない。

回路が極めて簡単なので実装図は描きませんでした。ところが、簡単な回路でも行き当たりばったりで配線すると見栄えが悪くなりますね。私は回路を組むときには「これでもか」というほど回路を小さく組めるように配置を最適化しますが、部品が少ない場合は極端にいい加減になる癖があります。しばらくハンダ付けしていなかったこともあって、ムダに引きまわす配線になってしまいました。


タカチのプラスチックケース『CS90』に専用基板『CSPB90』を内蔵。(ジャックなどが干渉する部分は切り取る必要がある。

一方で、ケースや基板の切削加工はすこぶる調子が良く、LCDの位置合わせや固定はすぐに上手くいきました。


LCDは基板が少し干渉する部分を『コ』の字に切り取り、端子を逃がすことで取り付けた。

LCDを覗かせる窓は、以前のように熱で溶かして四角く開けました。ただ、その加工する際に傷を付けてしまいましたので、コネクタ表示や装飾を兼ねてテープを貼って隠しました。

この汎用ディスプレイは作業机に置いて使いますが、小さくて軽いため側面にケーブルを接続するとすぐに倒れたり向きが変わったりします。そこで、昨年のハムフェアにて¥100円で買ったジャンクのWEBカメラからスタンドを流用しました。


ケーブルを付けた状態でも安定するように、しっかりとしたスタンドを付けたところ。

ソースコードはこちらからダウンロードしてください。

動作する様子

最後に

とりあえず、前述のようにいくつかのパラメーターを表示するものはできました。あとは、他のデータや信号に対応させていき、具体的な用途に使えるようにしていきたいと思います。また、信号源(センサーなど)とワイヤレスで通信できるように改良していくのも面白いと思います。特に動作電流の多いデバイスを接続する場合は電源を分けたほうがいいので、この表示器は情報の表示に徹するほうが電源効率が良くなります。

文字だけを表示するLCDを「キャラクタLCD」と呼びます。今回製作した表示器は、プログラムを変更することで様々な情報を表示させることができます。スマホに代表される「GUI(Graphical User Interface)」の時代ですが、文字だけの「CUI(Character User Interface)」ディスプレイで何ができるかを考えて工夫するのも面白いと思います。

My Project バックナンバー

2023年9月号トップへ戻る

サイトのご利用について

©2024 月刊FBニュース編集部 All Rights Reserved.