74HC4511で7セグLチカ(Arduino Pro Mini 5V使用)
7セグメント表示器の点灯専用に作られたICのうち、今回は、カソードコモン7セグメントLED用デコーダIC・74HC4511を使った回路をArduino Pro Miniで駆動してみます。
最初に書いておきますが、マイコン(Arduinoみたいなプログラムでピン出力が自由に変えられるもの)を使っている場合、7セグ専用デコーダを使う意味はほとんどありません!
74HC4511は、2進4桁のBCDを入れてあげることで、その数値に対応したLED点灯パターンの出力が得られる便利なICです。自分で0~9の点灯パターンを作る必要が無いってことになります。
部品リスト
価格は執筆時点での価格(税込)です。 ※利用するArduinoの価格は除外しています。
akizukidenshi-ogp-injector.dtpwiki.jp
akizukidenshi-ogp-injector.dtpwiki.jp http://akizukidenshi.com/catalog/g/gK-06656/
akizukidenshi-ogp-injector.dtpwiki.jp
akizukidenshi-ogp-injector.dtpwiki.jp
akizukidenshi-ogp-injector.dtpwiki.jp
akizukidenshi-ogp-injector.dtpwiki.jp
akizukidenshi-ogp-injector.dtpwiki.jp
実体配線図
5VのArduino Pro Miniを使っています。
黄色い線でArduinoからBCD(二進化十進表現、要は二進数4桁で0~9までをあらわす)を4ピンを使って74HC4511に入力します。白い線は74HC4511からの出力で、そのままだと7セグメントLEDに過大な電流が流れるので、左右に引き出した470Ω抵抗で電流を弱めて、7セグメントLEDのアノード(入力)に入れます。
Arduino用プログラム
const int pins[] = { 2, 3, 4, 5, }; void setup() { for ( int i = 0; i < 4; i++ ) { pinMode( pins[i], OUTPUT); } } void loop() { for ( unsigned int i = 0; i < 10; i++ ) { for ( int j = 0; j < 4; j++ ) { int d = LOW; if ( (i & 1 << j ) ) { d = HIGH; } digitalWrite( pins[j], d); } delay(600); } }
実際に作ってみた後、重大な欠点に気づきます。
- 74HC4511単体では7セグメントLEDの小数点の点灯に対応していない
- Arduino側から見ると、BCD出力に4ピン、小数点を使う場合はさらに1ピンの合計5ピンを消費することになり、ピンの節約の観点では、あまりおいしくない
- 7セグメントLEDの点灯パターンはICに初めから設定されている。点灯パターンが気に入らなくても変更できない
東芝の74HC4511のマニュアルから引用ですが6,7,9の点灯パターンに違和感覚える人いるんじゃないかと思います。
いろいろまとめると、マイコンを使うのなら、74HC5411の代わりにシフトレジスタIC(74HC595みたいなの)を使うと3ピンでピリオドまで含めた7セグメント表示器点灯パターンが簡単に作れるので、そっちのほうがよいです。
汎用ロジックの7セグメントデコーダ・ドライバというのは、どちらかというと回路の中にマイコンが無くて、電子回路と汎用ロジックのみの構成で7セグメントLEDを表示に使いたいときに使いましょう。
- 出版社/メーカー: スイッチサイエンス
- メディア: エレクトロニクス
- クリック: 4回
- この商品を含むブログ (1件) を見る
FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)
- 出版社/メーカー: スイッチサイエンス
- メディア: エレクトロニクス
- この商品を含むブログを見る