arduinoで4桁7セグメントLEDの表示
arduinoでの4桁7セグメントLEDの表示を行うメモです。
7セグメントLEDの基礎については、下記の記事が参考になると思います(2015/01/28追記)
武蔵野電波のブレッドボーダーズ 「7セグメントLEDを使ってみよう」
武蔵野電波のブレッドボーダーズ 「LEDは楽しい電子部品」
まともに動かすのに意外と時間がかかります。
4桁7セグメントLED表示機能の詳細
LEDを表示します。
利用した部品
・赤色7セグメントLED表示器(カソードコモン) OSL40562-LR x 1 ・・・ 秋月電子にて購入
・12ビットシリアル-パラレル変換IC NJU3714D x 1 ・・・ 秋月電子にて購入
・トランジスタアレイ(7ch)TD62003AP x 1 ・・・ 秋月電子にて購入
・1/4W 330Ω カーボン抵抗 x 8 ・・・ 秋月電子にて購入
NJU3714Dはポピュラーなシフトレジスタ74HC595と同じように使えます。
12ビットあるので、表示パターン用の8ビットと桁切り替え用の4ビットを1つで制御できます。
LEDに使う抵抗値の計算
秋月電子のHPに計算方法が紹介されていたので計算しました。
OSL40562-LR の商品説明およびデータシートからVF=2.0V、IF10mAとすると
抵抗 = (5V -2.0V) / 10mA = 300Ω となります。
手持ちの330Ωを利用することにします。
この時にカーソドードコモン流れる最大電流は1桁当たり8個のLEDが点灯するので
10mA x 8 = 80mA
となり80mA必要です。
arduino UNOでは1ピン当たり40mAしか流せないのでこのままではLEDが
点灯出来ません。そこでトランジスタを使ってもっと多く流すようにします。
今回はトランジスタアレイTD62003APを使いました。
このICは7つ分のNPNダイリストントランジスタが入っていて抵抗やらも内蔵されているので、
直接ロジックピンに接続して利用できます。
このあたりは、『昼夜逆転』工作室(J.Sugitaさん) のホームページの
「8桁対応 7セグテストボード」の記事が大変参考になりました。
取りあえず、回路もどきを書いてみました。
うーん、PowerPointで書いたのでちょっと汚いです。
フリーのツールいろいろと試したのですが、データシートの図を流用できる
ようなのが無いので自分的にはPowerPointが一番楽でした。
赤線がarduinoに接続する配線です。
プログラムソース
LEDへ4桁表示するには、led_print("1234")のように文字列で指定します。
led_print("12.34")、led_print("-12.3")等の小数点やマイナス記号も指定できます。
表示処理はタイマー割り込みで20msecの間隔で行っています。
タイマー割り込みライブラリはMsTimer2を使っています。入手方法及び使い方は、
「Arduino 日本語リファレンス MsTimer2(ミリ秒単位で指定するタイマ)」を参照。
プログラム作成にあたっては、
くらんべりーさんのブログ 「特に縛りなく」の「arduinoで4桁7セグメントLEDを使ってみる」を
参考にさせて頂きました。大変勉強になりました。
取りあえず試作が出来たので、プログラムはライブラリ化し、電子回路は基板に
はんだ付けしてモジュール化しようと思います。
今回の回路はICを2つ使ったのですが、MAX7219というICを使うともっと回路の簡略化、
プログラムの簡略化が出来るようです。
続き :「arduinoで4桁7セグメントLEDの表示 の続き」
« 膝の上の湯たんぽ | トップページ | 無線LANルータ TP-Link TL-WR703NでWebカメラを利用する »
「arduino」カテゴリの記事
- 豊四季タイニーBASIC for Arduino STM32、ボード実装(2017.06.27)
- Wiiヌンチャクの動作確認しました(2015.05.17)
- 「豊四季 Tiny BASIC for Arduino STM32」 、v0.83に更新(2017.06.15)
- 豊四季Tiny BASIC、ビットマップファイルの利用を可能に..(2017.06.04)
- Arduino IDE添付のSDライブラリの修正(2017.06.03)
「AVR」カテゴリの記事
- arduinoで安価にテレビに映像を出力するその2(2015.02.22)
- 格安 arduino Uno R3 互換機を購入しました(2015.01.04)
- ATtiny13AでUART-I2Cブリッジを試作したが微妙(2015.03.29)
- ATtiny13AでUART-I2Cブリッジの製作 - まずその準備3(2015.03.26)
- ATtiny13AでUART-I2Cブリッジの製作 - まずその準備2(2015.03.25)
「表示器制御関連」カテゴリの記事
- IchigoJamでLEDドットマトリックスを制御する(2015.11.09)
- アクティブマトリクス蛍光表示管の実験用表示モジュールの試用(2016.07.23)
- ESP-WROOM-02を始めました(3) SPIFFSの利用(2016.06.28)
- ESP-WROOM-02を始めました(2)(2016.06.26)
- IchigoJamで有機ELキャラクタディスプレイモジュールを制御(2016.07.16)
コメント
トラックバック
この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/571408/58756739
この記事へのトラックバック一覧です: arduinoで4桁7セグメントLEDの表示:
« 膝の上の湯たんぽ | トップページ | 無線LANルータ TP-Link TL-WR703NでWebカメラを利用する »
SPI使えれば足し算でスマートにできるかも(ICを調べる気はない)
投稿: | 2015年8月 5日 (水) 20時06分