Arduinoで実験 (LED制御 IC)

2013/04/22


◆ LED制御 IC

Lチカでは LED へ流れる電流の量を抵抗を用いて制御しましたが、7セグやバーLED等複数の LED をパッケージしたデバイスを扱う時には、使用する抵抗の数が多く必要であったり、LED の数だけ制御ポートが必要となり空きポートが無くなったりします。

そこでLEDを制御する専用IC というものが存在します。

内部に電流制御用の回路を持ち出力を調整するものや、IC 自身が出力パターンを持つものもあります。

本ホームページは、自分の行った実験内容の記録がメインなので、普遍的な使い方の説明や言葉の定義等あやふやな点がありますが、「これとこれをこう使ったらこうなる。」という風に理解してください。


◆ バーLEDの制御

レベルメーター等、LEDが複数個並んでいる物をバーLEDアレイ(以下「バーLED」とする。) といいます。 LED の点灯パターンで量を表示したり、表示パターンの動きで方向や速度を表現できます。 LED は視認性が良いので液晶等で文字を表示するよりも直観的であったりします。

今回の実験は、LEDが 10 個並んでいるバーLEDと、出力制御 IC CDT7350-0 を使用します。

このバーLEDは単純に LED 10 個が並んでいるだけなので、普通の LED を並べて実験しても良い。

 

種別 定格・品番 個数 備考
マイコン Arduino UNO 1  
バー LED アレイ OSX10201-R 1 VF:2.1V (max25mA)
出力制御 IC CDT7350-0 1 電源電圧 2V~15V
電解コンデンサ 47uF 1  
積層セラミックコンデンサ 1nF
0.1uF
1
1
 

以下は CDT7350-0 のデータシート

Pin Symbol 内容
1 RS (RESET) カウンタのリセット端子
2 Vdd 2.0 ~ 15V DC
3 GO LOW = 片道、HIGH = 往復
4 ALLON LOW = 消灯、HIGH = 全点灯
5 RT 単純に一定周期で点灯させる場合は、RT への電圧を半固定抵抗で制御し RC へのラッチを自動化出来るが、本実験ではマイコンでラッチを行う。
6 CT
7 RC
8 MODE LOW = 順次点灯、HIGH = 増加点灯
9 Vss GND
10 FLASH LOW = 消灯、HIGH = 全点灯
11 L1 出力 L1 ~ L10
12 L2
13 L3
14 L4
15 L5
16 L6
17 L7
18 L8
19 L9
20 L10

ALLON と FLASH は同じ動作。 何か違う動作をさせることがきるのかもしれないが調査不足の為、不明です。

実際の実験では、同じシリーズで 6ch 出力の CDT7350-2 を使用しています。

逆方向に順次点灯は出来ない。 正直複雑な動作をさせたい場合はマイコンで直接ドライブさせた方が便利かもしれない。 マイコンを使用しない場合などでは有効な IC だと思う。

以下は、実験に使用した回路とスケッチです。

//
// 10-01 バーLED点灯実験スケッチ
//

#define pin_GO 8
#define pin_RC 9
#define pin_MODE 10
#define Ltime 100

void setup() {
  pinMode(pin_GO, OUTPUT);
  pinMode(pin_RC, OUTPUT);
  pinMode(pin_MODE, OUTPUT);
}

void loop() {

// 順次点灯
  digitalWrite(pin_GO, LOW);
  digitalWrite(pin_MODE, LOW);
  for (int i=0; i<50; i++) {
    LedInc();
    delay(Ltime);
  }

// 往復点灯
  digitalWrite(pin_GO, HIGH);
  digitalWrite(pin_MODE, LOW);
  for (int i=0; i<50; i++) {
    LedInc();
    delay(Ltime);
  }

// 増加点灯
  digitalWrite(pin_GO, LOW);
  digitalWrite(pin_MODE, HIGH);
  for (int i=0; i<50; i++) {
    LedInc();
    delay(Ltime);
  }
}

void LedInc(void) {
  digitalWrite(pin_RC,HIGH);
  digitalWrite(pin_RC,LOW);
}

バーLEDを 4 つだけ使用したい場合などは RESET ピンと終端のピンを接続します。

正直マイコンで制御してまで使用したい IC ではない様な気がします。