Mehrere RGB-LEDs anschließen, während eine minimale Anzahl von PWM-Pins an einem Arduino verwendet wird?

10

Ich habe derzeit eine Anode RGB an die 11, 10 und 9 PWM-Pins meines Arduino angeschlossen. Ich möchte meinem Projekt jedoch 3 weitere LEDs hinzufügen, möchte aber nicht unbedingt jeden einzelnen PWM-Pin aufnehmen (ich möchte immer noch eine Abschirmung anbringen). Gibt es eine Möglichkeit für mich, alle 4 LEDs anzuschließen und trotzdem nur eine minimale Anzahl von Pins zu verwenden? Denken Sie daran, dass ich alle 12 Widerstände für die 4 LEDs verwenden möchte. Oh, und alle LEDs machen genau das Gleiche (sie sind alle rot und alle werden blau usw.), wenn das hilft.

So sieht mein Board jetzt aus:

Geben Sie hier die Bildbeschreibung ein

Ich habe drei NTE123AP- Transistoren, die ich für dieses Projekt verwenden kann.

PS Ich habe die .fzz-Datei angehängt , damit es sehr einfach ist, wenn einer von Ihnen das schematische Bild bearbeiten möchte. In der Tat wäre das besser, da ich neu in diesem Bereich bin, und es wäre einfacher zu folgen! :)

VAlexander
quelle
Einzelsteuerung oder alle mit derselben Farbe (Alle Rot mit derselben Helligkeit oder im Wesentlichen 12 einzelne LEDs?) Ersteres könnte nur mit Transistoren durchgeführt werden, während Letzteres ein Schieberegister oder einen i2c / spi-Expander oder einen LED-Treiber ic erfordern würde.
Passant
Grundsätzlich möchte ich 4 RGB-LEDs, die alle dasselbe tun. Zum Beispiel möchte ich Ton mit Licht synchronisieren. Wenn also Spur 1 abgespielt wird, leuchten alle 4 LEDs rot, und wenn Spur 2 abgespielt wird, leuchten alle lila, wenn Spur 3 und sie blau leuchten usw. Hoffe, das hilft! Ich habe 12 Widerstände erwähnt, weil ich ähnlich wie in dem Bild, das ich gepostet habe, einen Widerstand für jeden LED-Pin möchte, weil ich nicht auf Helligkeit verzichten möchte. Ich hoffe, das hilft!
VAlexander

Antworten:

13

Ziemlich Einfach. Nur mit npn Transistoren. Duplizieren pro Farbkanal.

Geben Sie hier die Bildbeschreibung ein

Ihr Transistor kann kontinuierlich bis zu 600 mA aufnehmen. Bei 20 mA pro LED, 4 pro Kanal sind das nur 80 mA. Das ist mehr als genug.

Stellen Sie jedoch sicher, dass Ihr Netzteil dies unterstützt. 80 * 3, das sind 240 mA allein auf den LEDs, ohne den Rest des Arduino, die Transistorbasis und alles andere, was Sie verwenden.

OP lieferte auch ein Fritzing-Diagramm der Antwort: Geben Sie hier die Bildbeschreibung ein

Passant
quelle
@CloudyDays 3 Kanäle (ein roter, ein grüner, ein blauer). 4 Leds. Entschuldigung, ich verwende kein Fritzing, aber Battery Plus ist einfach VCC, Arduino_PWM_PIN ist das gleiche, das Sie verwendet haben, und Battery - ist Gnd.
Passant
1
@CloudyDays In diesem Fall ist vcc ja 5v. Und dieses Setup ist größtenteils korrekt. Stellen Sie zunächst beim Transistor sicher, dass er mit der Basis- / Emmitter- / Kollektor-Pinbelegung Ihrer Transistoren übereinstimmt. Nicht alle verwenden dieselbe Pinbelegung. Und Sie haben alle vier LEDs von einem Widerstand (pro Farbe). Es könnte funktionieren, aber das ist nicht die beste Option. Aber im Allgemeinen richtig. Was das Fritzing angeht, denke ich immer noch, dass es ein gutes Werkzeug ist, genau wie jedes andere, aber benutze es einfach nicht selbst.
Passant
@Passerby, danke, nur um zu verdeutlichen, ist es am besten, insgesamt 3 Widerstände für die 4 LEDs zu verwenden, oder sollte ich 12 verwenden (in diesem Szenario). Benötige ich nur 1 Transistor oder alle 3?
VAlexander
1
@CloudyDays Während 3 Widerstände funktionieren, funktioniert es nicht gut. 12 ist vorzuziehen. Und Sie benötigen alle drei Transistoren, einen für jede Farbe / jeden Kanal. Andernfalls wären die roten, blauen und grünen Kanäle alle gleich, sodass Sie sie wie eine einzelne LED (weiß) steuern würden.
Passant
1
@CloudyDays Das funktioniert. Stellen Sie einfach sicher, dass auch der Collector / Middle Pin angeschlossen ist (im Moment ist nichts damit verbunden). Was den Transistor betrifft, so ist der flache Teil, an dem geschrieben wird, normalerweise die "Vorderseite". Und wenn Sie es ecb angeschlossen hätten, wie Sie es getan hätten, hätten Sie die PWM ohne Last gegen Masse kurzschließen können. Möglicherweise hat der Arduino-Port geblasen. CBE anschließen (wie in Collector to Ground), na ja, nicht sicher.
Passant
9

Diese Diagramme / Bilder sind möglicherweise besser, um visuell zu sehen, was los ist:

GEMEINSAME ANODE RGB mit TRANSISTOR

GEMEINSAME KATHODE RGB mit TRANSISTOR

Randnotiz

@Passerby: Woher hast du das schematische Bild in deinem Beitrag?

flüstert
quelle
Willkommen bei EE.SE. Vielen Dank für die Veröffentlichung der Schaltpläne. Fragen an andere Benutzer werden in der Regel als Kommentare und nicht als Antworten veröffentlicht. Es braucht nicht viel Wiederholung, um das Kommentarprivileg zu erhalten.
Nick Alexeev
Entschuldigung, ich bin mir noch nicht sicher, wie es hier funktioniert. Aber das ist mein Bild. Deshalb habe ich gefragt, ich kann keine Bilder posten, bis 10 Wiederholungspunkte oder so.
flüstert