トランジスタを使用してArduinoで複数のLEDをオンにする


8

Arduinoの1つのピンで50個の赤いLEDを点灯できるようにしたいと思います。個別に制御したくないので、すべてオンまたはオフにできるようにしたいだけです。

この例を見つけました。2N3904トランジスタを使用しています。これは私が取りたいアプローチですか?より高出力のトランジスタが必要になると思いますか?

5v電圧レギュレーター付きのカスタムボードに配線された外部電源を使用しているため、このレギュレーターから直接LEDに電力を供給しています。

LEDは、このLEDライトバーアレイの形式で提供されます(または少なくとも非常に類似しています)...

以下の回答のコメントで、各LEDに330オームの抵抗を使用していると述べました。このプロジェクトの別の部分では、ライトバーをレベルメーターとして使用し、各個別のLEDはシフトレジスタ、つまり個別の抵抗器を介して制御されます。考えてみると、すべてのLEDがオンまたはオフになっているので、各LEDと直列に抵抗を接続する必要がないことに気づきました(うーん、ちょっと不自然なコメントで申し訳ありません!)。

私は、アースまたは5Vを切断できる何らかの電子スイッチがあると思いました。これは実行可能ですか?


これは私が作っているソフトウェアコントローラー用です。ライトは比較的迅速に(つまり200ミリ秒ごとに)応答できる必要があります
アダム

1
ソフトウェアは理解しやすいです。ハードウェアについてもう少し説明すると役立つと思います。どのようなLEDバーを使用していますか?LEDは直列、並列、共通カソード、共通アノード、またはすべて独立していますか?「主電源から直接LEDに電力を供給する」とは、5Vレギュレータからのものを意味しますか?それは他の多くのことを意味すると解釈することができるので。LEDごとに330オームの抵抗器について言及しましたが、各LED(50個すべて)に直列抵抗器がありますか?できるだけ明確に回答できるように、明確にするよう努めています。
カートE.クロティエ2013

こんにちはカート、元の投稿を情報で編集しました。乾杯
アダム

回答:


7

トランジスタ基本的に、グランドまたは5Vを切断できるスイッチです。あらゆる種類のトランジスタがあり、いくつかは本当に巨大な負荷を切り替えることができます。50個のLEDは大したことではありません。

それで、問題はこれです:単一の2N3904は50個のLEDを切り替えることができますか?

これに答えるには、まずどのような LED かを知る必要があります。しかし、通常の何もない特別な種類を使用していると仮定しましょう。これらの最大電流の合理的な見積もりは、20mA。50の場合、最大電流は20mA50=1000mA。見ると、データシート、私は2N3904の最大コレクタ電流が見200mA。したがって、答えは「いいえ」です。1つの2N3904で50個のLEDを切り替えることはできません。

私はあなたがいくつかのオプションを持っていると思います:

  • 複数の2N3904を使用する
  • より少ないLEDを使用
  • 同じLEDを使用するが、より少ない電流でそれらを駆動する
  • より大きなトランジスタを使用する(TIP121は非常に見つけやすい)
  • 他のスイッチングデバイスを使用する

これらのうち、LED電流を減らすか、より大きなトランジスタを使用することがおそらく最も可能性の高い解決策だと思います。他のスイッチングデバイス(リレーなど)は、おそらくより高価で低速です。


1
*今日の私のお気に入りのコンポーネントであるIRLML2502 MOSFETを使用します。:-)
Anindo Ghosh 2013

5つの赤いLEDライトバー(それぞれに10個のLED)を使用しています。各LEDと直列に330オームの抵抗を使用しているので、LEDあたり約2 mAを探しています。これはトランジスタの仕様よりも少ない(私は思う-私は常に合計電流使用量を計算するときに少し混乱します!)
アダム

それはありそうにないようです。抵抗は330Ωx 0.002A = 0.66Vの電圧降下を考慮に入れるので、LEDのVfが4.34V(赤色LEDの場合は特徴的に高くない)でない限り、電流はかなり高くなる可能性があります。
microtherion 2013

1
この回答では、並列に配線されたLEDのみを考慮しています。LEDは2つ直列である可能性があります。したがって、電流は20mA * 25チェーンになります。しかし、@ Adam 2mAはLEDに対して低いです、それらはその電流引き込みでさえ点灯しますか?
通行人2013

1
@Passerby、理解できる。いくつかの高出力のものはオンにするためにもう少し必要があると確信しています。しかし、私が扱ってきた一般的なLEDは、非常に明るくは輝きませんが、小さな(1mAをはるかに下回る)電流で十分満足しています。実際、この私のプロジェクトのLEDは、それぞれ1.8mAしか使用していません。そして、それらは多重化され、時間の3分の1のみなので、実効電流は0.6mAに近くなります。それでも、ある程度の距離から明るい光の下でディスプレイを簡単に見ることができます。projectsbykec.com/projects/miscellaneous/...
クルト・E. Clothier

3

与えられた情報(1.95Vで注記された50個の赤いLed、5vのソース、2mAの電流、330Ωの抵抗)を考慮すると、以下が機能します。

一般的なLed抵抗の計算を考慮すると、

Vcc-順方向電圧)/電流Vccが5vの場合、順方向電圧は1つあたり1.95vです。これは、2つの直列、1.95v * 2があり、必要な電流が2mAであるためです。
(5-(1.95 * 2))/ 0.002または(
5-3.9 )/ 0.002または1.1 / 0.002 = 550。330Ωの抵抗があるため、これを調整すると、シリーズごとに3mAが得られます。電流はシリーズパスで等しいため、LEDごとではなく、シリーズごと。抵抗器の各シリーズ(この場合は2つ)は、同じ3mAの電流を使用します。したがって、これにより式が3mA * 25の直列チェーンに簡略化され、切り替えが必要なのは75mAだけです。

2n3904のような一般的な小信号トランジスタは、問題なく75mAを処理できます。トランジスタのベースとMCUピンの間に1kΩのベース抵抗が使用されています。

以下の回路図は1つのLEDバーのみを示しています。残りを同じ方法で追加するだけです。最初のLEDのカソードを次のLEDのアノードに配線し、ペアごとに1つの抵抗を配線します。

概略図

この回路のシミュレーションCircuitLabを使用して作成された回路


-3

Arduinoのピンを使用してリレーをオンにするトランジスタを制御し、リレーの接点がグランドを適用してすべてのLEDをオンにする必要があります。トランジスタを使用する必要がある場合は、はい、すべての電流を処理できるトランジスタを見つける必要があります。リレーを使用する場合でも、必ず接点電流の定格を確認してください。以下のサンプル回路を参照してください。選択したリレーの定格電流とコイル抵抗に応じて、R2が必要な場合と必要でない場合があります。

ここに画像の説明を入力してください


リレーのスイッチング時間は比較的長く、機械的寿命は限られています。OPに、LEDの切り替えをあまり速くまたはあまり頻繁に行いたくないことを確認するように依頼することは価値があります。
Anindo Ghosh 2013

ありがとう。リレーが私のアプリケーションには遅すぎると思います。元の投稿にコメントを追加しました。
アダム

非常に大きな電流を切り替えることができる非常に多くのトランジスタが利用可能な場合、リレーを使用してもまったく意味がありません。リレーの低速と巨大なサイズは別として、電気的ソリューションはほとんどの場合、機械的ソリューションよりも長持ちし、パフォーマンスが優れています。
カートE.クロティエ2013

リレーは最良のオプションではないかもしれませんが、実行可能なオプションです(速度に耐えられない)。反対票を投じた人を補うために+1。
通行人2013

それは私が意味したことです:それは最良の選択肢ではありませんが、私はそれを反対票を投じません...パルス制御のいずれかの種類が使用される場合、リレーはパルス速度をまったく処理できる場合、寿命が非常に短くなります。
カートE.クロティエ2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.