【電光掲示板の概要】
PIC24Fの高速性を活かした製作例として、電光掲示板を製作してみました。
表示部は秋葉原で入手できる半完成品を使いましたので表示部は容易に
製作できます。また今回は2モジュールだけの表示部ですが、いくつでも従属
接続が可能になっていますので、長い電光掲示板も容易に製作可能です。
この表示部の制御には1msec周期という高速の制御が必要になりますので
PIC24Fの16ビットマイコンの性能が活かせます。
外観は下図のようになりました。
【機能仕様概要】
全体のブロックは下図のよう制御部と表示部で構成されています。
制御部には44ピンのPIC24FJ64GA004を使い、汎用I/Oの構成になっていますので
この単体でもいろいろな機能を組み込むことができます。
表示部には5Vを供給する必要がありますが、かなりの大電流が流れますので
大元の電源から直接コネクタ経由で供給しています。
これで、電源には5VのACアダプタが必須となります。
【回路】
回路図は下図のようになります。
中心にあるのが44ピンのPIC24FJ64GA004で、別のサブ基板に実装したものと
しています。
右上がRS232Cのインターフェースとコネクタ、右下が液晶表示器、下側がICSP用
コネクタ、リセットスイッチ、可変抵抗、発光ダイオードで、左側が外部の表示部
インターフェース用のコネクタです。
表示部は5Vで動作し、PIC24Fは3.3Vで動作していますので、この間のインターフェース
電圧を変換する必要があります。このため、PIC24Fにあるオープンドレインという出力方式
を利用します。オープンドレインで出力して、外部で抵抗で5V電源にプルアップすれば、
これで5Vインターフェースに問題なくできます。
回路図上側にあるのが16進のスイッチで4ビットのコードで出力されます。スイッチ接点
にはプルアップ抵抗が必要なのですが、これもPIC24Fの内蔵プルアップ抵抗を指定すれば
外部でプルアップする必要がなくなります。
電源は簡単な3端子レギュレータで5V固定入力とします。この5Vを直接表示部と液晶
表示器用に使っています。したがって5V以外のACアダプタ等は使えませんので注意して
下さい。さらに表示部に大電流が供給できるよう5V電源専用のコネクタを用意しています。
その他クロック発振には、8MHzのセラミック発振子と、副クロック用の32.768kHzの
クリスタル発振子を接続しています。副クロックは内蔵のリアルタイムカレンダクロックで
時計機能を作るために用意しました。
【基板組み立て】
汎用に使える44ピンのPIC24Fの基板です。
中央にあるサブ基板がPICです。
下側の10ピンコネクタは電光掲示板との
接続用コネクタで5Vインターフェースと
なっています。
はんだ面側には、実装部品は特にありません。
サブ基板です。44ピン用の変換基板が市販されて
いないので、自作しました。
ついでにパスコンも実装できるようにしました。
裏面は0.1インチピッチのピンヘッダで実装しやすい
ようにしました。
電光掲示板の表示部の基板で市販キットです。
IC等のはんだ付け実装は完了した半完成品です
ので組み立ては簡単です。
【プログラム製作】
表示部の制御が大部分の制御になりますが、この部分は下図のように2つのタイマ
の割り込みで制御しています。
今回使用した表示部の制御は、横32ドットが16行で構成されていて、一度に1行しか
表示できませんので、ちらつきを感じないように16行全体を約17msec以内で表示する
必要があります。
つまり1行表示を約1msec以内で繰り返す必要があることになります。
そこでタイマ2を1msec周期のインターバルタイマとして動かして、その割り込みごとに
1行の表示転送をして1行分の表示を行うことにします。
これとは別に、電光掲示板ですから表示内容が右から左に流れるようにしなければ
なりません。これは、表示する16ビットのデータを一定間隔で左シフトすればよいです
から、これにはタイマ1を100msecのインターバルタイマとしてデータのシフトを行うこと
にします。
このように2つのタイマを使って、タイマ2の高速割り込みにより1行表示を繰り返し、
タイマ1の100msec周期で表示するデータをシフトさせます。
図のように割り込みを使うと、メモリのデータを介するだけで、表示制御とデータシフトを
全く独立に考えることができます。
★★★ プログラム ダウンロード