ボクにもわかる地上デジタル 7セグメントLED表示


7セグメントLED表示器の例

7セグメントとは

 7セグメントとは地上デジタル放送のワンセグとは無関係で、7区画の素子で数字を表す表示です。デジタル時計や電卓のデジタルの数字といえば7セグメント表示が一般的です。
 上の写真が2桁の7セグメント表示器で、1つの数字に7区画のセグメントLEDを使用して表示しています。数字に7個のセグメントLEDと、小数点にも1セグメントが用いられているので、1桁につき8セグメントのLEDを使用しています。
 7セグメントLEDは、かつてのデジタル表示や電子工作で良く使われましたが、最近は液晶が増えてきて、あまり使われなくなってきています。電子工作では8文字の数字や文字、カナ表示が可能なキャラクタ液晶が良く使われます。7セグメントLEDよりも配線数が少なく、表現力も高く、しかもバックライトなしの8文字キャラクタ液晶だと1台300円ほどの価格ですので、7セグメントLEDを使うメリットが見出せません。
 そこで、7セグメントLEDを活用するために、キャラクタ液晶の出来ないところを狙うことにしました。ここでは、電圧入力をデジタルに変換するアナログ入力、7セグメントLED単体の大きさとほぼ同じ小型モジュール、キャラクタ液晶と変わらない価格の3つの特長をもつ「小型7セグメントLEDモジュールの製作方法」を紹介します。
 下表は今回作成する7セグメント表示モジュールと市販の8文字のキャラクタ液晶との比較表です。

7セグメント表示モジュールとキャラクタ液晶の比較
表示方式 7セグメントLED キャラクタ液晶

表示文字数 2文字 8文字
文字種 数字
abc
カナ ×
使用端子数 18本 8本
使用GPIO数 10本 6本
単品価格 30円〜 300円〜




サイズ 25×17mm 80×37mm
接続IF 種類 電圧
(単体動作可能)
デジタル
(要マイコン)
端子数 6本 14本
数値入力 ADC 1ポート GPIO 6ポート
モジュール価格(例) 300円 300円

小型7セグメント表示モジュールの製作方法(ハードウェア)


完成した7segモジュール

 ここでは簡単に作れる小型7セグメント表示モジュールの制作方法を紹介します。この表示モジュールは、アナログの電圧入力に比例した(1)電圧表示、(2)レベルメータ表示、(3)百分率の数字、(4)HEX表示が行えます。これらの表示は、7セグメントLEDと基板の間に挟み込んだPICマイコンとソフトウェアによって実現されます。

 この7セグメント表示モジュールの製作に必要な部品は以下のとおりです。価格は1モジュールを製作するための使用数分の数割りの参考価格です。

7セグメント表示モジュール製作用の部品
部品名 型番 数量 参考価格
7セグメントLED
アノードコモン
HDSP-K211(※) 1個 25円
PICマイコン
(14ピン)
PIC16F688 1個 160円
両面スルー基板 CEM-3 2.54mm 11x9穴 26円
(99x@100/375)
ピンヘッダ オス 6P 8円
(6x@50/40)
チップ抵抗 680Ω 8個 18円
(8x@2.25)
合計 237円

    ※ピンコンパチ品:A-552SRD(PALA LIGHT) A-552SR(PALA LIGHT)
             ELD512(EVERLIGHT) SL-9262(SANYO) HDSP-K211K(HP)

 まず、モジュールのハードの製作から行います。準備しなければならない部品は、下表の主要部品に書かれた部品と、エナメル線などです。両面基板に、ピンヘッダ、マイコンを実装し、マイコンを挟み込むように7セグメントLEDを実装します。つまり、製作図の10番目にあるように、最下層のピンヘッダから順に、基板、マイコン、7セグLEDが重ねられたサンドイッチ構造にします。

小型7セグメント表示モジュールの製作方法
説明 写真
1.主要部品

・7セグLED HDSP-K211
・PIC16F688マイコン
・両面基板
・ピンヘッダ(6ピン)
・チップ抵抗 680Ω×8
 又は1/6Wカーボン抵抗
 (写真には含まれない)
1.主要部品
2.両面ユニバーサル基板

・9×7マスに切断
 (切断マスを考慮する)
2.両面ユニバーサル基板
3.基板厚まで切断

・切断時に、破片が目に
 入らないように注意。
3.基板圧まで切断
4.ピンのハンダ付け()

・この上にPICが乗る
・盛り上らないように
4.ピンのハンダ付け
5.ピンの配線()

・この上にPICが乗り、
 穴にPICが刺さる。
・穴を埋めないように
・盛り上らないように
5.ピンの配線
6.マイコンの実装()

・4と5の配線上にPICを
・写真の位置に取り付け
・左下がPICの1番ピン
6.マイコンの実装
7.PICのハンダ付け()

・配線済の部分を半田付
・その他はチップ抵抗の
 半田付け時に実施。
7.PICのハンダ付け
8.LEDへの配線()

・同じセグメント同士を
 接続する(左右の桁間)
・アノードコモン以外
・この上にLEDが乗るので
 穴を埋めないように
8.LEDの配線
9.配線のチェック()

・必ずテスターで確認
・この次に進むと修正が
 できないので要注意。

10.LEDのハンダ付け

・PICの方向と表示方向を
 あわせる。
 -PICは左下が1番ピン
 -LEDは小数点が右下
  (写真の手前が下)
10.LEDのハンダ付け
11.抵抗のハンダ付け
         ()
・680Ω×8本(やや暗い)
・220〜470Ωで明るく
 (但し寿命が短くなる)
・写真の右側が1番ピン
・隣接ランドに接しない
 ように注意する。
 (とくに斜めのチップ)
・ジャンパー線7本も
 (上部2本、下部5本)


・通常の1/6W抵抗でも可
 (半田付けが難しい)
11.抵抗のハンダ付け
リード抵抗のハンダ付け
12.完成 12.完成

 上図のとおりに配線した場合の6ピンヘッダの役割を下表に示します。なお1番ピンは基板端に近いほうです。PICkit2を接続する場合は、PICkit2本体の表裏が表示に対して反対向きになるので御注意ください。
 製作したモジュールは下表のような接続端子を持ち、下図のような回路で動作します。アナログ入力が負になったり電源電圧を上回る場合はダイオードで保護する必要があります。

7セグメント表示モジュールの外部接続端子
ピン番号 ピン名 説明
1 MODE(Vpp) モード切替(H:測定開始 L:モード切替)
2 VDD DC5V電源入力
3 GND グラウンド(0V)
4 ICSPDAT PICkit2データ用
5 ICSPCLK PICkit2クロック用
6 AN6 アナログ入力(0V〜電源電圧まで)

        ┳ 5.0V           
        ┃              
0.1uF      ┃              
 ┏━━●━━━●━━━━━━━━━━━━━┓
 ┃  ┃   ┃             ┃
 ┻  >┌──╂───────────┐ ┃
 ┳ 10<|  ┃           | ┃
 ┃  k>|  ┃           | ┃
 ┃  ┃| 1 ┃ 3 4 5 6      | ┃
┳╋┳ ┗┿=● ● ● ● ● ●     | ┃
     | ┃ 2 ┃    ┃     | ┃
     | ┃  ┃    ┃     | ┃
     | ┃  ┃    ┃     | ┃
     | ┃  ┃    ┃7セグLED | ┃
     | ┃  ┃    ┃表示面から| ┃
     | ┃  ┃    ┃ の透視図| ┻
     └-╂──╂───-╂─────┘ ▲ D1
  PUSH SW ┃  ┃    ┃アナログ入力 ┃
   ━┻━ ┃  ┃    ┗━━━━━━━●━∧∨∧━○
  ┏○ ○━┛  ┃            ┻  1k
  ┃       ┃            ▲ D2
  ┃       ┃            ┃
 ┳╋┳     ┳╋┳          ┳╋┳

7セグメント表示モジュールの接続方法

 なお、回路の都合(ダイナミック点灯とLEDドライバ無し)のために、やや暗めの表示になります。チップ抵抗の680Ωを470Ωにすると、若干、輝度が上がります。PICマイコンの寿命を考えなければ220Ωにするとこで明るい表示が行えるようになります。

小型7セグメント表示モジュールの表示モード

 ここで製作する7セグメント表示モジュールには複数のモードがあります。MODEキー(モジュールのピン1)を押す(LレベルしてHレベルに戻す)たびに表示モードが変わります。下表に各モードの説明を示します。

7セグ表示モジュールの表示モード
モード名 表示範囲 備考
P1 電圧表示 0.0〜5.0[V] 電源電圧=5.0V
P2 レベルメータ表示 0〜8[本] 小数点を起点に周回
P3 1バイトHEX 00〜FF INTの0〜255に相当
P4 百分率の数字 0〜99[%] 101段階表示にも対応予定

小型7セグメント表示モジュールの製作方法(ソフトウェア)

 モジュールが完成したらPICkit2に付属の書き込みソフトウェア「PICkit2 PROGRAMMER」を使ってPICに書き込みます。ZIPファイル(7seg.zip)をダウンロードして解凍するとHEXファイルが入っていますので、「PICkit2 PROGRAMMER」のメニューバーにある「File」メニューの「Import Hex」を選択して、ダウンロードして解凍したHEXファイルを読み込ます。そして、PICkit2をモジュールのピンヘッダに差し込み、PICkit2 PROGRAMMERのウィンドウ内の「Write」ボタンを押す(または「Programmer」メニューの「Write Device」を選択する)とPIC16F688にソフトウェアを書き込むことが出来ます。

7セグ表示モジュール用ソフトウェア
ファイル 説明 Ver 更新
7seg_0_5.zip ソースおよびHEXファイル(最新) 0.5 10/07/18
7seg.c ソースリスト(通常版 1703words) 0.3 10/03/21
7seg.zip PIC16F688用HEXファイル 0.3 10/03/21
7seg_lite.c ソースリスト(軽量版 826words) 0.4 10/07/17
7seg-lite.zip PIC16F688用HEXファイル
PIC16F676用HEXファイル
0.2
0.4
10/03/07
10/07/17

4桁7セグメント表示モジュールの製作方法

 さらにPIC 16F88とOSL40562-IGを用いた4桁表示可能な7セグ表示モジュールを製作しました。OSL40562-IGはダイナミック点灯表示用の配線済の12ピンのLED表示器です。
 ダイナミック点灯とは4桁を同時に表示するのではなく、1桁ずつの表示を高速に切り替える表示方法です。同時表示に比べて輝度が低下する欠点がありますが、PICへの接続数が少なくて済みます。
 本7セグメントLEDモジュールには高輝度タイプのLEDが使用されているので、少ない電流でも適度な(実用的な)輝度が確保できます。(予めダイナミック点灯を考慮した設計になっている)

4桁7segモジュール


4桁7セグメント表示モジュールの製作方法
説明 写真
1.両面ユニバーサル基板
・10×7マスに切断
 (切断マスを考慮する)

2.ピンヘッダを切断
・切断時に、破片が目に
 入らないように注意。

3.ピンの半田付け()
裏面にピンヘッダを実装
・ピンヘッダの半田付け()
・ICとの配線()

4.PICの実装()
・前項の配線の上にPICを
 実装()
・PICの半田付けは裏面

5.LEDの実装()
・PICの上にLEDを実装
・LEDの半田付けは裏面

6.抵抗の実装()
・470Ω抵抗を実装()



4桁7セグ表示モジュール用ソフトウェア
ファイル 説明 Ver 更新
7seg4.zip HEXファイル(PIC16F88用) 1.0 11/03/21
7seg4.c ソースリスト 1.0 11/03/21

4桁7セグ表示モジュール用ソフトウェア使用方法
6pin I/F (LED表示面から見て左側が1番ピン)

   pin name         役割
    1  MODE(Vpp)    モード切替(H:測定開始 L:モード切替)  
    2  VDD          DC5V電源入力  
    3  GND          グラウンド(0V)  
    4  ICSPDAT      PICkit2データ用  
    5  ICSPCLK      PICkit2クロック用  
    6  AN6          アナログ入力(0V〜電源電圧まで)  
    
    6pin I/FはPicKit2と互換。ソフト書き込み時に使用可能。
    向きに注意:PicKit2の1番ピンがLEDの上位桁側になるように接続。

使用方法

    MODEを押すたびにモードが変わる。
    長押しでモードを固定する。(次に電源を入れたときのモード)
    
    mode=1:電源電圧を5Vにして 0〜5Vのアナログ電圧を表示する
    mode=2:0〜8の9段階のレベルメータ表示
    mode=3:入力値の16進数表示モード 0000〜FFFF
    mode=4:入力値の整数表示モード 0〜9999
    mode=5:0〜15Vの電圧を1/3に分圧して入力して元の電圧を表示

    mode=5は安定化電源の電圧表示を行うために作成したモードです。
    電源電圧(2番ピン)は5Vを、6番ピンに安定化電源(0〜15V)を1/3に
    分圧した電圧(0〜5V)を入力します。LEDへは分圧前の電圧を表示。
    (mode=1の表示を3倍しているだけ。)

ラトルズ プリント基板で作るPIC応用装置

 ラトルズから出版されている「プリント基板で作るPIC応用装置」を使えば、4桁表示の7セグメント表示のハードウェアを容易に製作することが出来ます。7セグメントの配線の本数が多いので、4個分の7セグメントの配線作業を簡略化できるメリットがあります。

ラトルズ PIC応用装置-数字表示装置 製作例
ラトルズ 数字表示装置
(「プリント基板で作るPIC応用装置」から)

 本誌に付属の基板を使って数字表示装置を製作し、本誌記載のソフトウェアのソースのmain関数を下記のように変更するとこで電圧計(入力電圧は1/3に分圧してAN6へ入力する)として使用することが出来ます。

void main(void){
    OSCCON = 0b01110000;
    unsigned int adc_sum;
    int i;

    led7_init();
    an6_init();

    PEIE = 1;
    ei();

    delay_s(1);
    
    while(1){
        adc_sum = 0;
        for(i=0;i<64 ;i++) adc_sum += an6_getv();
        led7_putui( adc_sum/43 );   // 15V→5V分圧時の電圧表示(43で割る)
        led7_dot(2);                // 整数2桁 少数2桁 [電圧]
        __delay_ms(50);
    }
}
		
電圧計のmain関数

 電圧として使用した場合の写真を下図に示します。基板の左側に取り付けたのは多回転半固定抵抗で、電圧を1/3に分圧してAN6入力しています。また、PICは5Vを給電しているので、0〜15Vの範囲の電圧を測定できます。

ラトルズ PIC応用装置-数字表示装置 電圧計
ラトルズ 数字表示装置を電圧計として使用

 ラトルズの「プリント基板で作るPIC応用装置」に関する情報は下記も参照してください。

プリント基板で作るPIC応用装置
書籍+基板 基板のみ

7セグメント表示のサンプル

 下の表に7セグメント表示のサンプルを示します。かつては下記と異なる表現のものがありましたが、現在では数字の7セグメント表示については、ほぼ統一されています。

7セグメント表示のサンプル(数字)
    __    __    __    __    __  
   /   /  /   /  /   /  /   /  /   / 
  /__ /  /__ /  /__ /  /__ /  /__ /  
  /   /  /   /  /   /  /   /  /   /  
 /   / . /   / . /   / . /   / . /   / .  
   ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    
  1    2    3    4    5    
    __    __    __    __    __  
   /   /  /   /  /   /  /   /  /   / 
  /__ /  /__ /  /__ /  /__ /  /__ /  
  /   /  /   /  /   /  /   /  /   /  
 /   / . /   / . /   / . /   / . /   / .  
   ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    
  6    7    8    9    0    

 下記はアルファベットの7セグメント表示です。こちらは様々な表現方法があります。おおむね、読みやすさを重視する場合と、他の数字や文字と同じ表現を避ける場合とがあります。下記は後者を元にした表示例です。C、E、G、Uは小文字でも表現できますし、h、i、o,xは大文字で表現する場合もあり、さらに、Sは数字の5と同じ表現にすることで読みやすくする場合もあります。

7セグメント表示のサンプル(アルファベット)
    __    __    __    __    __  
   /   /  /   /  /   /  /   /  /   / 
  /__ /  /__ /  /__ /  /__ /  /__ /  
  /   /  /   /  /   /  /   /  /   /  
 /   / . /   / . /   / . /   / . /   / .  
   ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    
  A    b    C    d    E    
    __    __    __    __    __  
   /   /  /   /  /   /  /   /  /   / 
  /__ /  /__ /  /__ /  /__ /  /__ /  
  /   /  /   /  /   /  /   /  /   /  
 /   / . /   / . /   / . /   / . /   / .  
   ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    
  F    G    h    i    J    
    __    __    __    __    __  
   /   /  /   /  /   /  /   /  /   / 
  /__ /  /__ /  /__ /  /__ /  /__ /  
  /   /  /   /  /   /  /   /  /   /  
 /   / . /   / . /   / . /   / . /   / .  
   ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    
  K    L    M    n    o    
    __    __    __    __    __  
   /   /  /   /  /   /  /   /  /   / 
  /__ /  /__ /  /__ /  /__ /  /__ /  
  /   /  /   /  /   /  /   /  /   /  
 /   / . /   / . /   / . /   / . /   / .  
   ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    
  P    q    r    S    t    
    __    __    __    __    __  
   /   /  /   /  /   /  /   /  /   / 
  /__ /  /__ /  /__ /  /__ /  /__ /  
  /   /  /   /  /   /  /   /  /   /  
 /   / . /   / . /   / . /   / . /   / .  
   ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    
  U    V    W    X    y    
    __    __    __    __    __  
   /   /  /   /  /   /  /   /  /   / 
  /__ /  /__ /  /__ /  /__ /  /__ /  
  /   /  /   /  /   /  /   /  /   /  
 /   / . /   / . /   / . /   / . /   / .  
   ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    
  Z    −    null      Hi!

 上記のアルファベットを使わずに単語表示する場合もあります。単語表示の場合は読みやすさが重視されるので、数字や他の文字と同じ表現になっても、差し支えない場合が多いからです。

7セグメント表示のサンプル(単語)
    __    __  
   /   /  /   /
  /__ /  /__ /
  /   /  /   /
 /   / . /   / .
   ̄ ̄    ̄ ̄  
    On
    __    __    __   
   /   /  /   /  /   / 
  /__ /  /__ /  /__ /  
  /   /  /   /  /   / 
 /   / . /   / . /   / .
   ̄ ̄    ̄ ̄    ̄ ̄  
    OFF
    __    __    __    __    __  
   /   /  /   /  /   /  /   /  /   / 
  /__ /  /__ /  /__ /  /__ /  /__ /  
  /   /  /   /  /   /  /   /  /   /  
 /   / . /   / . /   / . /   / . /   / .  
   ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    
          Error    
    __    __    __    __  
   /   /  /   /  /   /  /   / 
  /__ /  /__ /  /__ /  /__ /
  /   /  /   /  /   /  /   / 
 /   / . /   / . /   / . /   / .
   ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄  
        PASS
    __    __    __    __  
   /   /  /   /  /   /  /   / 
  /__ /  /__ /  /__ /  /__ /
  /   /  /   /  /   /  /   / 
 /   / . /   / . /   / . /   / .
   ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄  
        FAIL
    __    __    __    __    __  
   /   /  /   /  /   /  /   /  /   / 
  /__ /  /__ /  /__ /  /__ /  /__ /  
  /   /  /   /  /   /  /   /  /   /  
 /   / . /   / . /   / . /   / . /   / .  
   ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    ̄ ̄    
          HELLO    
    __    __    __  
   /   /  /   /  /   / 
  /__ /  /__ /  /__ /
  /   /  /   /  /   / 
 /   / . /   / . /   / .
   ̄ ̄    ̄ ̄    ̄ ̄   
    bye
    __    __  
   /   /  /   / 
  /__ /  /__ /  
  /   /  /   /  
 /   / . /   / .  
   ̄ ̄    ̄ ̄    
   Hi!
    __    __   
   /   /  /   / 
  /__ /  /__ /  
  /   /  /   / 
 /   / . /   / .
   ̄ ̄    ̄ ̄  
   Go
    __    __   
   /   /  /   / 
  /__ /  /__ /  
  /   /  /   / 
 /   / . /   / .
   ̄ ̄    ̄ ̄  
   Ng
    __    __  
   /   /  /   / 
  /__ /  /__ /  
  /   /  /   /  
 /   / . /   / .  
   ̄ ̄    ̄ ̄    
    Hi
    __    __  
   /   /  /   / 
  /__ /  /__ /
  /   /  /   / 
 /   / . /   / .
   ̄ ̄    ̄ ̄  
    Lo

電子工作の関連ページ

設計編 - 自作アンテナ  八木アンテナ概略 アンテナ設計手順
設計編 - 自作アンテナ部品アンテナ部品の設計方法
設計編 - 自作ブースター 自作ラインブースターの製作方法
設計編 - プリアンプの実験CQ出版:地デジTV用プリアンプの実験
設計編 - RFコンバータ 任天堂RFモジュレータHVC-103を改造
設計編 - 7セグメント  表示器モジュールの製作 表示サンプル
方式編 - 赤外線リモコン 赤外線方式リモコン 家製協 NEC SIRC
方式編 - ZigBeeリモコン ZigBee無線方式 RF4CE
方式編 -デジタルオ-ディオSPDIF TOSLINK 角型光コネクタ 丸型
方式編 - 緊急地震速報放送テレビ ラジオでの速報放送と受信機
方式編 - デジタル    デジタル回路 論理回路 ロジックIC

地デジTopへ戻る