Brauche ich wirklich Widerstände, wenn ich LEDs mit Arduino ansteuere?

Ich probiere gerade zum ersten Mal Arduino Uno mit 2 blinkenden LEDs auf einem Steckbrett aus. Alle Tutorials im Internet scheinen einen Widerstand zu verwenden. Ich kenne die Funktion von Widerständen, aber spielt es hier wirklich eine Rolle? Diese LEDs funktionieren ohne Widerstand einwandfrei.

Das hängt davon ab, ob Sie möchten, dass Ihre LED schmilzt oder nicht. Wenn es Ihnen nichts ausmacht, lassen Sie den Widerstand weg. :-) .

Antworten (6)

Frech! :-). Wenn sie sagen, dass sie einen Widerstand verwenden sollen, gibt es dafür einen guten Grund! Schalten Sie es aus, JETZT!

Der Widerstand dient dazu, den Strom der LED zu begrenzen. Wenn Sie es weglassen, muss die Strombegrenzung vom Ausgang des Arduino kommen, und es wird ihm nicht gefallen. Wie finden Sie heraus, was der Widerstand sein muss? Kennen Sie das Ohmsche Gesetz? Wenn nicht, schreiben Sie es in großen Buchstaben auf:

v = ich R

Spannung gleich Strom mal Widerstand. Oder könnte man sagen

R = v ich

Das ist gleich. Die Spannung, die Sie kennen: Arduino läuft mit 5 V. Aber nicht alles geht über den Widerstand. Die LED hat auch einen Spannungsabfall, typischerweise etwa 2 V für eine rote LED. Es bleiben also 3V für den Widerstand. Eine typische Anzeige-LED hat dann einen Nennstrom von 20mA

R = 5 v 2 v 20 m EIN = 150 Ω

Der Arduino Uno verwendet den Mikrocontroller ATmega328 . Das Datenblatt besagt, dass der Strom für jeden I/O-Pin 40 mA nicht überschreiten sollte, was allgemein als absolute Maximalwerte bekannt ist. Da Sie nichts haben, um den Strom zu begrenzen, gibt es nur den (niedrigen!) Widerstand des Ausgangstransistors. Der Strom kann durchaus höher als 40 mA sein, und Ihr Mikrocontroller wird Schaden nehmen.

Bearbeiten
Die folgende Grafik aus dem Datenblatt des ATmega zeigt, was passiert, wenn Sie die LED ohne Strombegrenzungswiderstand ansteuern:

Geben Sie hier die Bildbeschreibung ein

Ohne Last beträgt die Ausgangsspannung wie erwartet 5V. Aber je höher der gezogene Strom ist, desto niedriger ist die Ausgangsspannung, sie fällt um etwa 100 mV für jede zusätzliche 4-mA-Last. Das ist ein Innenwiderstand von 25 Ω . Dann

ich = 5 v 2 v 25 Ω = 120 m EIN

Der Graph geht nicht so weit, der Widerstand steigt mit der Temperatur, aber der Strom bleibt sehr hoch. Denken Sie daran, dass das Datenblatt 40 mA als absolute maximale Bewertung angegeben hat. Du hast das Dreifache. Dies wird definitiv den E/A-Anschluss beschädigen, wenn Sie dies über einen längeren Zeitraum tun. Und wahrscheinlich auch die LED. Eine 20-mA-Anzeige-LED hat oft 30 mA als absoluten Höchstwert.

Momentan habe ich keinen Widerstand. Kann ich vorläufig einfach ein paar LEDs in Reihe schalten, um den Widerstand nachzuahmen?
Nicht wirklich. 3 und du bekommst kein Licht, weil 3 x 2V > 5V, und 2 hast du das gleiche Problem, nur 1V Abfall statt 3V. Ich habe meine Antwort hinzugefügt, um es jetzt auszuschalten!
Ich habe aufgehört zu zählen, wie oft ich diese Berechnung hier in Antworten geschrieben habe. Ich sollte ein Skript dafür haben :-)
Eine rote LED fällt um 1,7 V ab, und 10 mA sind ausreichend Strom für den gelegentlichen Gebrauch in Innenräumen. Der branchenübliche Strombegrenzungswiderstand für eine rote LED und eine 5-V-Versorgung beträgt 330 Ohm.
Es gibt viele Antworten auf dieser Seite und viele anderswo, die erklären, WARUM ein Vorwiderstand benötigt wird und wie man ihn berechnet. Es gibt viele Dinge im Leben, die scheinbar OK sind, obwohl man ihnen etwas anderes sagt, und die sich in vielen Fällen als schlimme Folgen herausstellen. Dies ist eine solche. Die Gesamtkombination darf auf der LED oder dem Arduino nicht zu hart sein. Oder vielleicht. Die LED-Lebensdauer kann verkürzt werden. Die Lebensdauer von Arduino kann plötzlich nicht mehr sein. Aber es KANN lange genug funktionieren, damit Sie glücklich sind. Oder nicht.
LEDs sind für den Betrieb mit einem bestimmten Maximalstrom ausgelegt. Die Spannung, die sie antreibt, bedeutet, dass der Strom unkontrolliert ist. Ports sind so ausgelegt, dass sie einen bestimmten maximalen Strom liefern. Das Kurzschließen oder Überladen KANN zur Zerstörung von Pins oder ganzen ICs führen oder nur subtile Betriebsprobleme verursachen. Oder nicht.
@JohnR.Strohm Ich würde es nicht als Industriestandard bezeichnen.
@JohnR.Strohm - Wie m.Alin sagt, ist das kein Industriestandard. Digikey listet 10-mA-Nenn-LEDs im Bereich von 0,4 mcd bis 1000 mcd und 20-mA-LEDs im Bereich von 0,1 mcd bis 54000 mcd auf. Es gibt keine Linie darin und keine Garantie dafür, dass Ihre 10-mA-LED gut sichtbar ist. Die Spannung der roten LED liegt typischerweise zwischen 1,8 V und 2,2 V. Für eine rote LED sind 1,6 V außergewöhnlich niedrig.

40Grundstück,

Ich muss sagen, dass das Ansteuern einer LED ohne Widerstand NICHT EMPFOHLEN wird, es sei denn, Sie wissen, was Sie tun. Wenn Sie jedoch verstehen, wie sich eine LED verhält, können Sie sie sicher ohne Widerstand betreiben. Tatsächlich ist es oft besser, eine LED ohne Strombegrenzungswiderstand zu betreiben.

Warum sollten Sie eine LED ohne Widerstand ansteuern? Einfach, um Ihren Stromkreis energieeffizienter zu machen.

Sollten Sie Ihre LED mit PWM ansteuern, das auf ein konstantes Tastverhältnis eingestellt ist (dh 5 V PWM bei 34 % Tastverhältnis, um eine durchschnittliche Spannung von 1,7 V zu erreichen)?

Ja und nein. Die Verwendung von PWM kann genauso gut funktionieren wie das Anlegen einer bestimmten Spannung (wenn Sie vorsichtig sind), aber es gibt bessere Möglichkeiten. Dinge, über die man sich Sorgen machen sollte, wenn man den PWM-Ansatz wählt.

  1. Die Frequenz der PWM ist wichtig. Wenn Sie in diesem Szenario PWM verwenden, verlassen Sie sich auf die Fähigkeit Ihrer Schaltungskomponenten, vorübergehend hohe Ströme zu verarbeiten. Ihre größten Bedenken werden sein, wie die LED mit einem vorübergehend hohen Strom umgeht und wie die Ausgangsschaltung Ihres Chips mit einem vorübergehend hohen Strom umgehen kann. Wenn diese Informationen nicht im Datenblatt angegeben sind, waren die Autoren des Datenblatts faul. SONDERN!!! Wenn diese Informationen auf dem Datenblatt angegeben sind, können Sie sie sicher nutzen. Zum Beispiel hat die LED, die ich neben mir habe, eine maximale Stromstärke von 40 mA. Es hat jedoch auch eine "Peak Forward Current"-Bewertung von 200 mA, mit dem Hinweis, dass der Strom nicht länger als 10 us bei 200 mA bleiben kann. Soooo ... Ich kann die LED mit 1,7 V ansteuern (die LED-typische Durchlassspannung aus dem Datenblatt). Bei einem Arbeitszyklus von 34 % und einer Stromversorgung von 5 V (34 % von 5 V = 1,7 V) wird eine durchschnittliche Spannung von 1,7 V erzeugt. Ich muss nur sicherstellen, dass meine PWM-Einschaltzeit 10 us oder weniger beträgt. Während der Einschaltzeit steigt der Strom durch die LED wahrscheinlich auf etwa 58 mA (58 mA = typische Stromaufnahme bei 1,7 V meiner Diode dividiert durch 34 %). 58mA überschreiten mein LED-Dauerstrommaximum von 40mA um 18mA. Schließlich ... Ich bräuchte eine PWM-Frequenz von 33,3 kHz oder mehr, um meine LED sicher anzusteuern (33,3 kHz = die Umkehrung von [10 us EIN-Zeit geteilt durch 34 %, um die PWM-Periode zu erhalten]). In REALITÄT könnte ich PWM sicher verwenden, um meine LED mit einer langsameren PWM-Frequenz zu betreiben. Der Grund: Datenblätter geben in der Regel nicht alle gültigen Betriebsszenarien einer Komponente an. Sie spezifizieren diese Szenarien nicht, weil der Anbieter dies nicht tut Sie möchten keine Zeit in die Spezifikation und Unterstützung der Verwendung ihrer Komponenten für Eckanwendungsfälle investieren. Zum Beispiel mit meiner LED, wenn ich die LED für immer mit 40 mA betreiben kann (40 mA ist die maximale Nennstromstärke) und ich die LED mit 200 mA für 10 us betreiben kann. Dann kann ich zu 99,99999 % sicher sein, dass ich die LED für einige Zeit länger als 10 us, wahrscheinlich fast 20 us, sicher bei 100 mA betreiben kann.

HINWEIS: Alle Komponenten können vorübergehende Stromspitzen über ihren maximalen Nennwerten sicher handhaben, solange die Dauer der Stromspitzen KLEIN GENUG ist . Einige Komponenten sind fehlerverzeihender als andere, und wenn Sie Glück haben, gibt das Datenblatt der Komponente an, wie gut sie mit Stromspitzen umgehen kann.

  1. Die Spannung Ihrer PWM ist wichtig. Ich werde meinen Standpunkt anhand eines Beispiels demonstrieren, anstatt über eine Erklärung. Wenn wir die LED verwenden, auf die ich mich zuvor bezogen habe, wissen wir, dass eine Einschaltdauer von 34 % bei 33,3 kHz und 5 V sicher ist. Wenn unsere Spannung jedoch 12 V wäre, müssten wir unsere Berechnungen überarbeiten, um die gleiche Strommenge durch die LED fließen zu lassen. Unser Arbeitszyklus müsste auf 14,167 % (1,7 V dividiert durch 12 V) sinken und unsere minimale PWM-Frequenz würde auf 14,285 kHz sinken (das Inverse von [10 us dividiert durch 14,167 %]). JEDOCH!, das gibt Anlass zur Sorge. Im 5-V-Szenario legen wir 5 V für 10 us und im 12-V-Szenario 12 V für 10 us an. Wir haben die Spannung während dieser 10 us mehr als verdoppelt, das muss einige Konsequenzen haben. Und ja, die gibt es! Mein LED-Datenblatt gibt mir nicht die notwendigen Daten, um zu wissen, wie hoch die Spannung ist, die ich für 10 us verwenden kann, bevor ich meine LED beschädige. Sicherlich werden 1000 V für 10 us meine LED braten. Aber woher weiß ich, ob 5 V bei 10 us meine LED braten? oder 12V für 10us? Wenn es keine Spezifikation dafür gibt, gehen Sie ein Risiko ein. Also ... 5 V für 10 us sind riskant, aber höchstwahrscheinlich sicher.

HINWEIS: Sie können der Schaltung einen Kondensator hinzufügen, um die PWM zu mitteln und dieses Problem zu beseitigen.

  1. Sie müssen sich der Fähigkeiten des Ausgangspins bewusst sein, an den Sie auch Ihre LED angeschlossen haben. Der wichtigste Parameter wird der maximale Ausgangsstrom sein. Für den Arduino Uno glaube ich, dass das 40mA sind. Sie sollten ein PWM-Tastverhältnis wählen, dessen durchschnittliche Spannung den Strom durch die LED unter 40 mA hält. Um zu wissen, welche Spannungen so viel Strom erzeugen, müssen Sie sich die IV-Kurve der LEDs ansehen (Strom-Spannungs-Plot). Für eine typische LED ist eine Spannung zwischen 0,7 V (typische Mindestspannung, die benötigt wird, um Licht von der LED zu emittieren) und 1,25 V mit ziemlicher Sicherheit sicher. Warum sind 1,25 V wahrscheinlich sicher? Nun, die meisten LEDs überschreiten 40 mA bei 1,25 V nicht, auch ohne Strombegrenzungswiderstand. Eine andere Sache, die hilft, jemanden zu schützen, falls er zu viel Spannung anlegt, ist, dass die digitale Ausgangsschaltung des Arduino eine eigene Ausgangsimpedanz haben wird, diese Ausgangsimpedanz wird niedrig sein, aber selbst eine Ausgangsimpedanz von 20 Ohm würde einen nicht zu vernachlässigenden Schutz bieten. Das Arduino Uno hat eine digitale Ausgangsimpedanz um 250 Ohm. Um es kurz zu machen, wenn Sie eine LED mit PWM bei 1,0 V bei einer hohen Frequenz ansteuern, besteht bei einer typischen LED keine Chance, dass Sie Ihren digitalen Ausgang auf einem Arduino Uno beschädigen.

  2. Der PWM-Ansatz treibt die LED im offenen Regelkreis an (ebenso wie die Verwendung einer 1,7-V-Stromversorgung ohne PWM). Sie legen eine durchschnittliche Spannung an die LED an, die genau der richtige Wert ist, um die LED einzuschalten, aber nicht hoch genug, um die LED zu beschädigen. Leider ist der Spannungsbereich von EIN (und hell genug, um zu sehen) bis zu einer beschädigten LED sehr klein (dieser Bereich auf meiner LED beträgt etwa 0,7 V). Es gibt verschiedene Gründe, warum die 1,7 V, von denen Sie glauben, dass Sie sie anwenden, nicht immer 1,7 V sind ...

a. Änderungen der Umgebungstemp. Was wäre, wenn Sie einen Motortreiber, Spannungsregler usw. in einer geschlossenen Box hätten, die auch die LED enthielt? Es wäre nicht ungewöhnlich, dass diese anderen Komponenten die Umgebungstemperatur im Inneren des Gehäuses von 25 ° C auf 50 ° C erhöhen. Dieser Temperaturanstieg WIRD das Verhalten Ihrer LED, Ihres Spannungsreglers usw. ändern. Ihre einst sicheren 1,7 V sind nicht mehr 1,7 V und Ihre LED, die früher bei 2,5 V gebraten hat, wird jetzt bei 2,2 V braten.

b. Änderungen Ihrer Versorgungsspannung. Was wäre, wenn Ihre Versorgung eine Batterie wäre? Wenn die Batterie entladen wird, fällt die Spannung erheblich ab. Was wäre, wenn Sie Ihre Schaltung so konzipiert haben, dass sie mit einer leicht gebrauchten 9-V-Batterie gut funktioniert, aber dann eine neue 9-V-Batterie hinzugefügt haben? Brandneue 9-V-Blei-Säure-Batterien haben typischerweise eine tatsächliche Spannung von 9,5 V. Abhängig von der Schaltung, die die für die PWM verwendeten 5 V bereitstellt, können diese zusätzlichen 0,5 V Ihre 5-V-PWM auf 5,3 V erhöhen. Was wäre, wenn Sie einen Akku verwenden würden? Sie haben während ihres gesamten Entladezyklus einen noch größeren Spannungsbereich.

c. Es gibt andere Szenarien, wie induzierter Strom durch EMI (Motoren tun dies).

Ein Strombegrenzungswiderstand erspart Ihnen viele dieser Probleme.

Die Verwendung von PWM zum Ansteuern einer LED ist keine sehr gute Lösung. Gibt es einen besseren Weg, der keinen Strombegrenzungswiderstand erfordert?

Ja! Tun Sie, was sie in LED-Glühbirnen für Ihr Zuhause tun. Treiben Sie die LED mit einem Stromregler an. Stellen Sie den Stromregler so ein, dass er den Strom ansteuert, für den Ihre LED ausgelegt ist.

Mit dem richtigen Stromregler kann der Strom drastisch erhöht werden, und Sie können die LED sicher ansteuern, ohne sich um die meisten Probleme kümmern zu müssen, die mit dem Ansteuern einer LED im offenen Regelkreis verbunden sind.

Der Nachteil: Sie benötigen einen Stromregler und haben die Komplexität der Schaltung um das 10-fache erhöht. Lassen Sie sich jedoch nicht entmutigen. Sie können Stromregler-ICs, LED-Treiber-ICs kaufen oder Ihren eigenen stromgesteuerten Aufwärtswandler herstellen. Es ist nicht so schwer. Nehmen Sie sich eine Auszeit von Ihrem vollen Terminkalender und lernen Sie Aufwärts- und Abwärtswandler kennen. Erfahren Sie mehr über Schaltnetzteile. Sie versorgen Ihren Computer mit Strom und sind äußerst energieeffizient. Bauen Sie dann entweder einen von Grund auf neu oder kaufen Sie einen kostengünstigen IC, der die meiste Arbeit für Sie erledigt.

Natürlich gibt es, wie bei allen elektronischen Designs, immer noch mehr Dinge, die Sie tun können, um Ihre Schaltung besser zu machen. Schauen Sie sich Abbildung 3 im folgenden PDF an, um zu sehen, wie komplex heutzutage sogar eine LED-Glühbirne für den Haushalt sein kann...

http://www.littelfuse.com/~/media/electronics/design_guides/led_protectors/littelfuse_led_lighting_design_guide.pdf.pdf

Zusammengefasst: Du musst selbst entscheiden, wie viel Risiko du bereit bist, mit deiner Schaltung einzugehen. Die Verwendung von 5-V-PWM zum Ansteuern Ihrer LED wird wahrscheinlich gut funktionieren (insbesondere wenn Sie einen Kondensator hinzufügen, um die PWM-Rechteckwelle zu glätten und Ihre PWM-Frequenz zu maximieren). Scheuen Sie sich nicht, Ihre Elektronik außerhalb ihrer üblichen Betriebsbedingungen zu betreiben, seien Sie einfach informiert, wenn Sie dies tun, und kennen Sie die Risiken, die Sie eingehen.

Genießen!

FYI: Ich bin überrascht, wie viele Leute sofort auf die Antwort springen: "SIE MÜSSEN EINEN STROMBEGRENZUNGSWIDERSTAND VERWENDEN". Das ist ein gut gemeinter, aber zu sicherer Rat.

Ort

Ich bin überrascht zu sehen, wie viele Leute diese Antwort als wertvollen Designratschlag betrachteten. Das Ansteuern einer LED ohne Strombegrenzung mit PWM ist für die LED genauso schlecht wie das, was das OP tut, und es erzeugt wie verrückt EMI- und VCC-Welligkeit.
@DmitryGrigoryev, mir wurde klar, dass ich den maximalen Ausgangsstrom des digitalen Ausgangs nicht angesprochen habe. Ich habe eine neue Kugel hinzugefügt, um das abzudecken. PWM ermöglicht es jemandem, eine LED ohne Strombegrenzungswiderstand sicher anzusteuern. EMI- und VCC-Welligkeit wird immer dann erzeugt, wenn Sie Lasten mit einem digitalen Signal ansteuern, aber dies ist üblich (z. B. H-Brücke, Aufwärtswandler, Hobby-Servosteuerung usw.) und ist kaum ein Grund, PWM zu vermeiden. Es gibt vernünftige Lösungen, um bei Bedarf EMI- und VCC-Welligkeit zu handhaben. Die meisten Menschen interessieren sich nicht für die geringen Mengen an EMI- und VCC-Welligkeit, die durch das Ansteuern einer LED mit PWM erzeugt werden.

Sie können die eingebauten Pullup-Widerstände wie hier vorgeschlagen verwenden :

Die Pullup-Widerstände liefern genügend Strom, um eine LED, die mit einem als Eingang konfigurierten Pin verbunden ist, schwach zu beleuchten.

Nicht für LEDs, dies kann für Tasten verwendet werden, aber bei LEDs besteht die Gefahr, dass der Ausgang unterbrochen wird
Wenn es nicht sicher ist, warum sagen die offiziellen Dokumente das? (Ich habe es auch selbst versucht und es hat wie beschrieben funktioniert.)
Bitte lesen Sie bis OUTPUT, dort wird erwähnt, dass ein Vorwiderstand benötigt wird: „Dies ist genug Strom, um eine LED hell zu beleuchten (vergessen Sie nicht den Vorwiderstand) oder zum Beispiel viele Sensoren zu betreiben, aber nicht genug Strom, um die meisten zu betreiben Relais, Solenoide oder Motoren.“
@MenelaosVergis es ist sicher, dies zu tun, wenn der Pin im INPUT_PULLUP-Modus ist, es ist nicht sicher, mit einem Pin im OUTPUT-Modus zu tun. Dies wird in den Dokumenten deutlich, wenn Sie beide Abschnitte lesen (und aus dem zitierten Auszug in dieser Antwort).

Die kurze Antwort ist, ja und nein, es hängt von Ihrem Arduino ab und es hängt von der Farbe Ihrer LED ab. Beispielsweise benötigt eine 3,3-V-Platine keinen Widerstand in Reihe mit einer kleinen grünen LED, da die Durchlassspannung der LED ziemlich hoch ist, siehe hier. Der Innenwiderstand beträgt etwa 25 Ohm, nehmen Sie (3,3 - 3)/25 = 12 mA, also ist dies immer noch in Ordnung, Sie sollten nicht den maximalen Strom pro Pin überschreiten, der 40 mA für den 328p-Atmel-Prozessor beträgt, der auf den UNO-Boards verwendet wird (es sei denn Sie verwenden ein Derivat von 328p, wo es eine andere Geschichte sein könnte). Für ein Arduino, das mit 5 V läuft, treten jedoch Probleme mit einer Infrarot-LED auf, die eine viel niedrigere Durchlassspannung hat, typischerweise 1,2 V, (5-1,2) / 25 = 150 mA, und dies ist definitiv zu viel, also verwenden Sie einen Strombegrenzer wie z als Widerstand, um diese Art von LEDs anzusteuern. Pin 13 auf den Arduino-Boards (oder ein anderer Pin auf Varianten) hat bereits eine LED und einen Widerstand in Reihe. Außerdem hat die Stromversorgung der Platine eine maximale Nennleistung von typischerweise 200 mA, und Sie müssen unter diesem Wert bleiben, und Sie können nicht mehr als eine bestimmte Menge an mA pro Gruppe von Pins ziehen, dies wird erklärthier . Wenn Sie viele LEDs ansteuern möchten, sollten Sie einen Matrix-LED-Treiber verwenden, der das Multiplexing für Sie übernimmt, siehe zum Beispiel meinen YouTube-Bereich, in dem ich den MAX7219CNG-Treiber demonstriere. Aber auch Arduino Uno kann das Multiplexing für Sie übernehmen, siehe mein IR-Thermometer mit 4 Sieben-Segment-LEDs auf YouTube. Fröhliches Hacken.

Die Antwort von stevenvh erklärt, was Sie tun müssen, aber Sie müssen auch die Verlustleistung über die LED berechnen, damit Sie den Spannungsabfallwiderstand nicht durchbrennen. Wenn beispielsweise die Versorgungsspannung 5 V beträgt und die Durchlassspannung des Widerstands 1,0 V beträgt, fallen 4 V ab. Die Verwendung eines 220-Ohm-Widerstands führt zu einem Strom von (I=V/R) von 18 mA und einer Verlustleistung (P=IV) von 72 mW.

0402-Widerstände in imperialer Größe (metrisch 1005) haben im Allgemeinen 1/16 W, was 62,5 mW entspricht. In diesem Fall würde dies also nicht funktionieren; es würde den Widerstand überhitzen und seine Lebensdauer verkürzen. Sie müssten also zu einem 0402-Widerstand mit einer Nennleistung von 1/10 W oder einem größeren 0603-Widerstand wechseln.

Wann immer Sie Berechnungen wie diese durchführen, fügen Sie sie dem Schaltplan hinzu, damit der Prüfer Ihre Arbeit leicht überprüfen kann.

Beachten Sie, dass die Durchlassspannung (und damit der Widerstandswert) eine Funktion der LED ist und verschiedene Farben von LEDs unterschiedliche Werte haben. Insbesondere blaue LEDs haben eine hohe Durchlassspannung (~3,0 V typ.). Wenn Sie also versuchen, vier verschiedene LEDs mit der gleichen Helligkeit zu erhalten, müssen Sie die Berechnungen für jede LED wiederholen. Um es wirklich richtig zu machen, schauen Sie sich die optischen Eigenschaften jeder LED bei ihrem Nennstrom an und passen Sie sie entsprechend an.

JA! Es kann getan werden.

Auch wenn das Gesagte richtig ist.... es geht auch anders. Eine energieeffizientere Art, LEDs mit 5 V anzusteuern.

Dies ist etwas undokumentiert und es ist nicht bekannt, ob die Lösung die LEDs abnutzt, aber es kann getan werden. Ich mache es tatsächlich.

Verwenden von PWM per Hardware: Hier ist ein Beispiel :

#include <avr/io.h>
#include <util/delay.h>
void pwm_init()
{
    // initialize TCCR0 as per requirement, say as follows
    TCCR0 |= (1<<WGM00)|(1<<COM01)|(1<<WGM01)|(1<<CS00);

    // make sure to make OC0 pin (pin PB3 for atmega32) as output pin
    DDRB |= (1<<PB3);
}

void main()
{
    uint8_t duty;
    duty = 1;       // duty cycle = 0.39% of the time (depends on the oscillator.)

    // initialize timer in PWM mode
    pwm_init();

    // run forever
    while(1)
    {
        OCR0 = duty;
    }
}

PWM kann auch mit Software und den avrs-Timern simuliert werden. Sie finden ein Beispiel in der lufa-Bibliothek namens LEDNotifier.c.

Mein Fazit: Es ist möglich, eine LED mit 5V zu betreiben.

VORTEILE: Kein Widerstand erforderlich. Etwas Energieeinsparung auch (~50%)

NACHTEILE: Ich weiß nicht, ob die Komponente gestresst ist und ob ihre Lebensdauer verkürzt ist.

Es gibt einen Typen, der dieses Experiment auch in Stanford durchgeführt und einige Informationen auf seiner Website veröffentlicht hat .

Das scheint einfach keine gute Idee zu sein. Sie beziehen wahrscheinlich mehr Strom aus dem Controller als angegeben, auch wenn Sie dies nicht sehr lange tun.
Wie gesagt, das ist undokumentiert. Der Arduino UNO-Ausgang IO kann etwa 40mA-50mA treiben. Das ist konstant. Ich kann sicher mit sehr kurzen Impulsen mit mehr Strom umgehen. Bitte schau mal bei Wikipedia nach .
In der Arduino-Umgebung kann man PWM einfacher mit analogWrite()auf den entsprechenden Pin bekommen. Ich bin mir immer noch nicht sicher, ob dies eine gute Idee ist, aber zumindest für IR-LEDs ist es üblich, dass die Datenblätter erheblich höhere Spitzenströme für Arbeitszyklen von weniger als 100% zulassen.
Ich bin mir ziemlich sicher, dass die Energieeinsparung im Vergleich zu einer widerstandsbasierten Lösung negativ sein wird, da die LED-Effizienz mit zunehmendem Strom geringer wird.
@ScottSeidman Warum ist das keine gute Idee? nur weil die meisten Leute glauben, dass es nicht empfehlenswert ist, eine LED ohne Widerstand zu verwenden? Diese Antwort bewies eine Untersuchung, eine sehr respektvolle Quelle wie die Stanford University, und nach dem, was ich experimentieren kann, funktioniert es. Ich liebe auf jeden Fall heruntergestimmte Posts, weil sie sagen, dass diejenigen, die abgelehnt haben, nur voreingenommen sind. Was für ein Paradoxon...
@Ivanzinho Es ist aus verschiedenen Gründen im Allgemeinen keine gute Idee, Dinge zu tun, die im Datenblatt nicht dokumentiert sind. Undokumentiertes Verhalten wird nicht garantiert – nicht für vorhandene Chips, nicht für technische Änderungen an den Chips. In diesem Fall nicht für jeden LED-Typ. Wir neigen dazu, das zu entwerfen, was die Datenblätter uns sagen, weil dies zu zuverlässig funktionierenden Designs führt, die im Allgemeinen weniger Ressourcen (Zeit, Geld, Ärger) verbrauchen, als Dinge auf marginale Weise zu tun, die in einigen Fällen funktionieren und nicht in Andere.