33.番線表示・進路予告表示機の作成

  

はじめに

   複数のボードが集まる運転会では、ボードの位置によってポイントに取り付けた高輝度の
   LEDも見にくく、進路方向が分からない場合があります。
   そこで、7セグLEDを用いた番線表示機と文字が表示できる進路予告表示機を作ってみました。

   7セグLEDを用いた番線表示機は、TTLの74シリーズのICのみを使い。
   進路予告表示機は、PIC16F873Aのマイコンを使用してみました。
  

1.7セグ番線表示機

 回路を作成
   9個の入力をBCD(2進数)に変換するデコーダIC 74147を経由して
  7セグLEDを表示するデコーダIC 74247で表示させます。
  74247の5番ピンはジャンパーピンでGNDに接続するとゼロサプレス(0の時表示しない状態)に
  なります。

 回路図  回路図はこちら (PDFファイルです)

 作成は、ユニバーサル基板で作成しました。
 部品の制約もなく、単純にICのピンをつなぐだけですので、プリント基板は作成していません。 
  1〜9まで表示します。

2.進路予告表示機

  7セグでは数字だけなので、漢字や図形も表示できるように、8x8ドットのマトリクスLEDを
  用いてみました

  回路を作成

  マトリクスLEDはカラムと行の構成で、1列8行に8ドットの表示をして、表示する列をシフトして
  表示する仕組みです。 単純に列と行で出力が16本必要になり、入力を入れると20本以上
  の入出力が必要になります。
  また、制御は、マイコンで制御するのが一番容易で、今回は、前回使用したこともある、
  PIC16F873A を使用します。

  表示の仕組み
   
  プログラムで、文字のパターンを作成し、読んだデータをBポートに出力して
  それをCポートの出力によりどの列に表示させるかを制御させることでLEDは
  点灯します。これを高速で繰り返すことにより、目の残像現象により点灯して
  いるように見せることで表示が可能になります。

  ピンアサイン
   ・ポートA は入力
   ・ポートB はデータ出力
   ・ポートC は列制御、表示制御、表示パターン制御、USART機能に割り当てます 

    RA0〜RA5 スイッチ入力6本(PullUP)
    RB0〜RB7 データ出力8本
    RC7 RX(受信)(現在は未実装)
    RC6 TX(送信)(現在は未実装)
    RC5 表示パターン制御用入力1
    RC4 表示パターン制御用入力2
    RC3 表示ON/OFF
    RC2 列制御BCD 3ビット目
    RC1 列制御BCD 2ビット目
    RC0 列制御BCD 1ビット目

   列を制御する場合に8本必要ですが、74HC138(3to8ラインデコーダ)を使用して
   マイコン側のピンを有効に使用できるようにしました。
   2進数で3つの出力ピンを使い000〜111で1〜8まで制御します。

回路図
    回路図はこちら (pdfファイルです)

プログラムの開発

  PICマイコンは、ポートの数から、PIC12F873Aを使用します。
  秋月電子で400円ぐらいとチョット高価です。 
  開発ツールは、MicroChip社のMPLAB IDE v8.50です。
 
 プログラム仕様
  表示文字のデータは、テーブル方式で1列分のデータを8ビットで構成して
  8列分用意します。 入力ピンは6本なので これを6組用意します。
  さらに、文字数を増やすために、RC4,5ピンで選択するパターンを4つにして
  6組×4=24文字対応にして、プログラムの中に記載しました。

  タイマーイベントを使用してそのイベントで表示する方法もありますが、
  PICのクロックが20Mhzと高速のため、mタイマーイベントを使用せずに、
  プログラムのループの中で完結させています。

  PIC16F873AにはUSARTというシリアル通信機能を持っていますので
  シリアル通信でコマンドを受信して表示を切り替えることも可能です。
  インターフェース上は使用できるようにしておきますが、プログラムは
  現段階では未実装です。

 プログラムソース      leddisp01.asm
 ビルドしたHEXファイル  leddisp01.HEX

部品リスト

名称 品名 数量
PIC PIC16F873A 1
IC 74HC138 1
ダイオード 1N4148 1
ドットマトリクスLED OSL641501-ARA(秋月電子) 1
抵抗 1/4w 10kΩ 9
1kΩ 1
470Ω 8
セラロック 20MHz 1
積層セラミックコンデンサー 0.1μF 2
電解コンデンサー 10μF 16V 1
ICソケット 28ピン 1
16ピン 1
ショートピン 4連 1
コネクタ 8連 6連 4連 各1

 電解コンデンサーは、容量を大きくすると、PICKitとの接続によるICSPの機能が効かなくなります。
 10μF以下を使用してください。

2015/08/01 ダイオードD1の型番が間違っていましたので訂正しました。誤:1S2069→ 正:1N4148

  ドットマトリクスLEDのピン間隔が少し合わないので、PCBEでプリントパターンを作成して
  感光基板で回路基板を作成しました。
  この回路のプリントパターン (PCBEで作成) ledmat01.pcb 

  2013/11/30 PIC・ICへの電源が接続していないパターンにミスがありましたので、PCBEファイル
           と下記パターン図・実体配線図を訂正しています。

   過去のパターンでは赤線のように接続してください。

  部品の実装

     プリントパターン(ハンダ面)
      

     部品実装面
       
      2013/11/30 ダイオードの向きが間違っていたので修正
               パターンにミスがあったものの修正
      
      作成した基板
      
      
      実験中の文字表示 文字の向きが・・・
      

サンプルソースでの登録文字とジャンパの関係は以下のようになります。
 (ジャンパーは電源ON時に判定されるので、電源ONのままでは途中で
  切り替えても変わりません)

ジャンパー 入力ピン
JP1 JP2 sw1 sw2 sw3 sw4 sw5 sw6
on on
on off
off on
off off


次回は、活用編です。
 このユニットをボートと接続します。


  ご注意:
       このサイトに記載してある内容・製作・改造に関し、万一損害が生じても当方では責任を
       持ちませんのでご自身の責任の範囲でお願いします。
  
       7セグ表示で使用した、74147,74247のロジックICですが、入手が困難になっているようです。
       もし作成される場合は、入手可能か確認の上、製作するようにしてください。
       (2013年11月現在)


Copyright (c) 名古屋電鉄 http://nagoden.la.coocan.jp/