!!! サイト改修中のため表示が乱れる場合があります(1月末頃まで) !!!
Raspberry Pi / Arduino

7-29. ArduinoでたくさんのLEDを制御する1(トランジスタアレイの使い方)

はじめに

Arduinoで大電流のLEDをいくつか制御する必要が出てきました。Arduinoは数十mAまでしか出せないため、小さなLEDは点灯できても100mA以上の明るいLEDやサーボモーターなんかは動かせません。Arduinoは制御信号を出すだけにし、大電流の電源は別のところから取ることになります。

一般にリレーモジュールとトランジスタが選択肢になりますが、回路を小型にするにはトランジスタです。ここではトランジスタトランジスタアレイの使い方を備忘録として残しておきます。

材料

Arduino Uno

Arduino Uno Rev3: 開発ツール・ボード 秋月電子通商-電子部品・ネット通販
電子部品,通販,販売,半導体,IC,LED,マイコン,電子工作Arduino Uno Rev3秋月電子通商 電子部品通信販売

トランジスタはNPN型の一番安いもの(2N5551L-B-T92-K)を用意しました。

トランジスター 2N5551L-B-T92-K 160V600mA: 半導体 秋月電子通商-電子部品・ネット通販
電子部品,通販,販売,半導体,IC,LED,マイコン,電子工作トランジスター 2N5551L-B-T92-K 160V600mA秋月電子通商 電子部品通信販売

トランジスタアレイはNPN型でよく使われる型番(ULN2003AN)を用意しました。トランジスタが7個並んでいる感じです。

トランジスターアレイ ULN2003AN: 半導体 秋月電子通商-電子部品・ネット通販
電子部品,通販,販売,半導体,IC,LED,マイコン,電子工作トランジスターアレイ ULN2003AN秋月電子通商 電子部品通信販売

あとは適当なLED×7個、LED用の適当な抵抗(12V駆動なので強めの10kΩ)×7個、ベースエミッタ間抵抗(これも適当に10kΩ)×2個、ACアダプタ(12V, 2A)、DCジャック、配線用のジャンパワイヤです。

トランジスタとアレイで1系統制御

データシートでエミッタ、ベース、コレクタの足を確認します。今回の2N5551L-B-T92-KはEBCですが種類によってはECBもあるとのこと。

ブレッドボード上で次のように配線。これら2つは同じ動きをします。

※イラストの抵抗の模様は実際と異なります

デジタル出力2番ピンをHIGHにするとLEDが光ります。動作確認の様子は省略しますので、12V系統と5V信号系統の流れをしっかり理解しておきます。NPN型なのでトランジスタの上流側に全ての負荷(LED)を置きます。

青い点線はベースエミッタ間抵抗、赤い点線は名前は分かりませんが高電圧がかかったときに逃がす役割があるとのこと。いずれもこれくらいシンプルな回路なら省略しても影響ありません。アレイは内部でベース抵抗・ベースエミッタ間抵抗をしてくれているらしいので非常にコンパクトに収まります。

トランジスタアレイで7系統制御

次のように配線。デジタル出力の2~8番ピンを使いました。

Arduinoに書き込みます。

void setup(){
  // シリアルポートを9600 bps[ビット/秒]で初期化
  Serial.begin(9600);
  // 2~8番ピンをoutputに
  for (int i = 2; i <= 8; i++){
    pinMode(i, OUTPUT); digitalWrite(i, LOW);
  }
}

void loop(){
  // 順に点灯
  for (int i = 2; i <= 8; i++){
    digitalWrite(i, HIGH);
    delay(300);
    digitalWrite(i, LOW);
  }

  delay(300);
  
  // 複数を点灯
  digitalWrite(2, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(8, HIGH);
  delay(300);
  digitalWrite(2, LOW);
  digitalWrite(4, LOW);
  digitalWrite(6, LOW);
  digitalWrite(8, LOW);

  delay(300);
}

デジタル出力ピンはデフォルトをLOWにし、HIGHにしたときだけ導通します。複数チャンネルを同時に光らせる場合はトランジスタアレイの定格電流を超えないように注意します(できれば定格の半分未満と言われている)。

さいごに

いろいろ頑張ってPythonから制御することもできました。次回はシフトレジスタを学びます。

リアクションのお願い

「参考になった!」「刺激された!」と思ったらぜひリアクションをしましょう。エンジニアの世界はGive and Takeによって成り立っています。これからも無料で良質な情報にアクセスできるよう、Giveする人への感謝をリアクションで示しましょう!

この記事をシェアする

自身のブログ等で使用する場合は引用を忘れずに!

また、寄付も受け付けています。コーヒー1杯でとても喜びます(*˘︶˘*)

 Amazonでギフト券(アマギフ)を贈る

こちらのリンク から金額を指定してお贈りください。(デフォルトで10000円になっているのでご変更ください)

配送:Eメール
受取人:staffあっとvigne-cla.com
贈り主:あなたのお名前やニックネーム
メッセージ:◯◯の記事が参考になりました。など

のようにご入力ください。見返りはありませんのでご了承ください。

 Amazonで食事券(すかいらーく優待券)を贈る

500円 1000円 2000円 5000円 からお贈りください。

配送:Eメール
受取人:staffあっとvigne-cla.com
贈り主:あなたのお名前やニックネーム
メッセージ:◯◯の記事が参考になりました。など

のようにご入力ください。見返りはありませんのでご了承ください。

 その他、ギフト券やクーポン券をメールで贈る

デジタルのギフト券/クーポン券はメールアドレス(staffあっとvigne-cla.com)までお送りください。受領の返信をいたします。
紙のギフト券/クーポン券は 「郵便物はこちらへ」の住所 まで送付してください。名刺やメールアドレスを同封していただければ受領の連絡をいたします。
余った株主優待券等の処理におすすめです。
いずれも見返りはありませんのでご了承ください。

不明点はSNSでお気軽にご連絡ください

ビネクラのTwitter・Youtubeでコメントをください!


Slack・Discordの場合はこちらの公開グループに参加してShoya YasudaまでDMをください!


※当ブログに関することは何でもご相談・ご依頼可能です。

この記事を書いた人
Yasuda

博士(理学)。専門は免疫細胞、数理モデル、シミュレーション。米国、中国で研究に携わった。遺伝的アルゴリズム信者。物価上昇のため半額弁当とともに絶滅寸前。

タイトルとURLをコピーしました