AVR ATtiny2313 7セグ4桁ボード〜そこ(7セグ)んとこ、詳しく
2008年9月製作/9〜10月記事 ※2013年2月 ページデザイン変更 前回はAVRの開発環境を整えて、ATtiny2313のテストボードを製作し、簡単なソフトでLEDの点灯とスイッチを操作する実験をしました。このくらいの規模のテストボードでも、思い浮かんだアイデアはまずまずの形になって動作します。感動します。 だんだんわかってくると欲が出ます。3個のLEDでは表現の幅が狭く、比較的単純なアプリにとどまります。そこで今度は、「少し上等な」ボードを作ることにします。このボードは7セグLEDを使って4桁の数字が表現できます。グッと応用が広がりますよ。 この回ではまず、7セグLED(通称 7セグ)がどんな部品なのか簡単に説明します。 次に、7セグをマイコンで点灯させる方法を説明します。ここがキモです。 最後に、ボードを設計するときのポイントを紹介します。 設計した回路の検証として、ブレッドボード上で7セグを点灯させた動画も用意しました。 本番の製作作業の紹介は次回です。 |
7セグの仕組みと種類 |
7セグの仕組み ATtiny2313テストボードで使った3つのLED、その中身は図のようになっています(左端、赤色LEDの図)。 LEDは豆電球とは違い、電流を流す向きが決まっています。工作前の部品は足の長さが違っていて、長い方をアノード、短い方をカソードと呼びます。電流が流れる向きで言ったらアノードが+側、カソードが−側です。ちょうど記号の矢印の向きです。逆向きでは光りません。 7セグは棒線状の区切り(セグメント)が7個で数字を形作っています。それで7セグと呼ばれます。右下の点は小数点を表します。セグメント1つ1つは、実は普通のLEDと同じです。7セグは8個のLEDを寄せ集めただけなのです。 7セグのデータシート(部品の仕様書)では、メーカーや型番によらず普通は上から時計回りにA,B,C,D,E,F,Gと名前が振られます。小数点はDP(Decimal Point)です。 部品から生えてるピンとセグメントの対応には規格がないので、メーカーや型番によってバラバラです。データシートのピンアサイン一覧表が重要になります。データシートがなくても実物から手探りでピンアサインを調べることはできますが、面倒です。 7セグの種類 7セグの正体はLEDを8個寄せ集めたものです。部品からは8x2=16本の足が出ることになります。しかし本数が多いと扱いが不便なので、実際はまとめられる足を1本にまとめて製造されます。 アノードを共通化したものがアノードコモン、カソードを共通化したものがカソードコモンです。 メーカーは大抵、同じ型番でアノードコモンとカソードコモンの両方を製造していて、型番の一部にA,K(C)など付けて区別します。 どちらを使うかは回路の設計者次第です。逆に、どちらの部品が手に入ったかで回路が決まることにもなります。どうしても迷ったらカソードコモンをお勧めします。理由は後ほど。 |
7セグの駆動方式 | ||
マイコンで7セグを駆動する(光らせる)には定番のやり方があります。ATtiny2313に限らずAVR全般、PIC他どのマイコンでも同じです。 左図はマイコンのポートに7セグをつなげた図です。 マイコンでは電流の入出力のための端子をポートと呼びます。(*) 7セグが1個の場合、通常のLEDが8個(A〜GとDP)つながってるのと同じことです。コモンに電流を流し、A〜DPに文字の形になるよう電流を流せばその形で7セグは光ります。光を消すには全部のI/Oピンの電流を止めてもいいですし、コモンだけ止めても消えます。 7セグが2個以上の場合、2つの駆動方式があります。「スタティックドライブ」「ダイナミックドライブ」。例として、それぞれの方式で7セグを3個つなげてみましょう。
|
スタティックドライブ | |
いつでも全部の桁が点灯しているので、スタティックドライブと呼びます。ダイナミックドライブの説明を読むと、この呼び名にピン!と来ます。 スタティックドライブのメリットは、光らせ方が7セグ1個の場合と何も変わらず、配線も簡単なことです。しかし困ったデメリットがあります。 1つめ。 3桁でI/Oピンが(8+1)x3=27個も必要で、7セグを増やすごとにI/Oピンが9個必要です。そんなに沢山のI/Oピンを持つマイコンはありません。 2つめ。 当たり前ですが、消費電力が7セグ3個分です。7セグを増やすごとに消費電力が増えます。乾電池で動かすマイコン機器では深刻な問題です。※パルス点灯という方法で解決できますが、ここでは説明しません。 |
7セグ4桁ボード設計のポイント | ||||||
複数桁の7セグを駆動する方法がわかったところで、次はそれを実現する回路を考えます。7セグがアノードコモンかカソードコモンかで回路は若干違います。始めにカソードコモンの7セグで回路を考え、次にそれをアノードコモンの7セグで置き換えてみましょう。 カソードコモンの7セグを使った回路
アノードコモンの7セグを使った回路
確かな設計のためには カソードコモンにしろアノードコモンにしろ、狙い通りの設計をするには本当は、トランジスタの性質を理解して厳密な計算をしたり、ATtiny2313のDC特性をデータシートから読み取ったうえで、ブレッドボード上で各ポイントの電流や電圧を測って抵抗値を決めていったりするものでしょう。しかしこの製作では「光ればいい」「見えればいい」「部品が壊れなければいい」で行きます。 |
実験?実験! | ||||
こうやって考えた回路が正しく動作するか検証するため、アノードコモンの場合でブレッドボード上に仮組みしてみました。アノードコモンの7セグを1個(1桁)使います。よって、トランジスタはPNP型(2SA1015)を1個使います。 「8.」の形が1秒間隔で点滅します。テストプログラムのソースは【ここをクリック】。※拡張子.cを.txtに変更してあります。
テストプログラムの説明 回路上、I/Oピンで電流を受ける形になりますが、ソフトウェアの記述としてはI/Oピンの入出力方向を出力に設定します。そしてLレベルを出力すれば電流を受け(点灯)、Hレベルを出力すれば電流を止める(消灯)、というわけです。 ATtiny2313への書き込み ブレッドボード上にISPの6ピンは配線しません。前回製作したテストボードにATtiny2313をセットして今回のソフトを書き込み、それを引っこ抜いてブレッドボードにセットします。 結果 無事点滅しました。セグメントに流れる電流は実測値で8.9〜9.4mAでした。コレクタ電流は63〜64mA、ベース電流は0.8〜0.9mAでした。全体的にもっと電流を多くしたい気もしますが良しとします。(*) ただ、赤色の7セグはこのくらいの電流でも結構明るく光ります。その様子は動画を見てください。型番や色が違う別の7セグを使うと値は若干変わります。
参考として 乾電池2本(直列で3V)でも試したところ、セグメントに流れる電流は2.6mAでした。電源の電圧が違うなら抵抗の値も全部変えなければならないところを承知で試したのですが、それでも目立つ光だったのには、さすが赤色の7セグだと思いました。光が濃く見えてむしろ好みかも。同条件で緑色の7セグだと、とても薄い光です。 カソードコモンでは カソードコモンの回路図はアノードコモンと同じ図面に描いたので、そちらを見てください(上記リンクをクリック)。 テストプログラムは、実はアノードコモンのものがそのまま使えます。アノードコモンの場合は「点灯→消灯→点灯→…」ですが、カソードコモンでは全く同じプログラムで実際の動作が「消灯→点灯→消灯→…」になります。Lレベルを出力で消灯、Hレベルを出力で点灯、だからです。直感的でわかりやすいです。 本番用の(4桁の)回路図は次回、部品一覧表と合わせて紹介します。 |
部品を減らす工夫 |
7セグを4桁駆動するにはトランジスタが4個必要です。2SC1815(NPN型)も2SA1015(PNP型)も、簡単に入手できるトランジスタなので、沢山必要でも問題なしです。安いし。 ※2013/02 追記 どちらのトランジスタも東芝製はディスコン(生産終了)になってしまいました。適当な同等品で代用してください。 ところでトランジスタにはベース電流の制限抵抗と、ベース〜エミッタ間に渡す抵抗が付きものです。部品点数が増え、配線の手間が掛かります。それで、「トランジスタ+抵抗2個」が一塊になったデジトラ(デジタルトランジスタ)というものがあります。見た目も大きさも2SC1815などとほぼ同じです(若干小さい)。これを使うのもありです。 また、抵抗込みでトランジスタを7〜8個まとめたトランジスタアレイというICがあります。これを使っても組み立ての手間が省けます。いずれにしてもLEDの電流制限抵抗は必要です。 しかしデジトラにしろトランジスタアレイにしろ、NPN型のものはよく売られていますが、PNP型のものは入手しにくいようです。そんなわけでこのページの始めの方、「7セグで迷ったらカソードコモンがお勧め」だったのです。 |
テストボードとしての工夫 |
アノードコモンでもカソードコモンでも、様々な形、大きさの7セグがあります。2桁がくっついたものや、ダイナミックドライブで駆動することを前提とした3桁、4桁の7セグもあります。これは桁数分のセグメントが内部配線済みでピン数が少なくなっています。時計表示に使える「18:88」、こんな7セグも面白いです。 いろんな7セグを試せるよう、テストボードは制御部と表示部に分けました。制御ボードにマイコンやトランジスタを載せ、表示ボードに7セグだけを載せ、これらのボードがコネクタで抜き差しできます。 また、表示が見やすくなるよう、表示ボードは制御ボードに垂直に挿すようにしました。カッコイイです。 |
◆ ◆ ◆ |
次回は、7セグ4桁ボードの回路図と部品一覧を紹介します。製作のコツも紹介できればと思います。 完成後、最初に試す動作テストプログラムや、応用例として簡単なカウンタも紹介します。 何度も写真が出てきているように、実際に製作して動作していますよ。 |
(C) 『昼夜逆転』工作室 | [トップページへ戻る] |