ich bin noch ganz neu und beschäftige mich zum ersten mal mit Arduino. Ich arbeite derzeit an einem Kostüm, an dem ich ca. 20 LEDs anbringen möchte. (Ich gieße die LEDs in Harz ein und kreiere so leuchtende "Edelsteine) Ich hab dann z.B. eine Armschiene, an die 3 von diesen LEDs dran sollen. Ich habe 5 und 3 mm LEDs in Orange, die Pulsieren sollen. Also quasi langsam heller und dunkler werden im Loop, kein Farbwechsel.
Am liebsten mit einem alternativen Programm, bei dem alle LEDs durchgehend leuchten, vll kann man mit einem Schiebeschalter dazwischen wechseln?
Ich habe Programme für eine LED gefunden, weiß aber nicht, wie ich mehrere LEDs daran bekomme.
Um Platz zu sparen soll das Ganze dann hinterher auf einen Adafruit Trinket mit Power Boost und Batterie.
Kann mir da jemand weiter helfen oder mir einen Tipp geben, wo ich suchen muss? Hab mal einen Anhang beigefügt, was die LEDs können sollen, in langsam. Ich hoffe, ich konnte es einigermaßen verständlich erklären.
@noiasca Okay dann muss ich in der Software mal suchen...Aber dann bräuchte ich ja alle LEDs doppelt? Das bekomm ich dann doch bestimmt erst recht nicht mehr alles angeschlossen?
@combie Woher kann ich das denn sehen? Habe den Trinket Pro. Dachte weil da ja auch irre lange LED Strips dran können gehen einzelne LEDs auch? Wie kann ich rausfinden, wie viel ich dran bekomme?
Jede LED, die Du pulsieren lassen möchtest, braucht einen PWM-Ausgang, die sind mit "~" gekennzeichnet. Zähle sie durch und Du hast die Antwort.
EDIT 20180609: Bitte auch #14 lesen!
LED Strips wie APA102 haben ein integriertes IC mit sowas wie einem Schieberegister und RGB-LEDs eingebaut. Da kannst Du ganz viele von anschließen, weil in Reihe geschaltet. Wenn Du allerdings 300 Lichtpunkte verwenden möchtest, brauchst Du eine Autobatterie oder eine Brennstoffzelle für 18 A Maximum. Aber 20 Lichtpunkte, stromsparend angesteuert, wären wohl möglich.
soll jede der 20 LEDs einzeln angesteuert werden können, also jede im eigenen Rhythmus, oder können (sollen) davon auch welche im genau gleichen Rhythmus gesteuert werden können.
Der Unterschied ist, ob man (bei nicht LED-Stip) jeweils einen GPIO mit PWM braucht, oder einfach welche parallel ansteuert (z.Bsp. über Transistor).
Also wenn da 5V rauskommen kann ich doch je Pin 2 LEDs in Reihe und eine Parallel machen oder? Dann könnte ich 3 LEDs an jeden Pin bekommen oder verstehe ich was falsch?
Es soll alles parallel pulsieren, also quasi alles gleich.
Wie kann ich denn beim Fade dafür sorgen, dass der Abstand zwischen zwei Fades länger ist?
Lirithay:
Also wenn da 5V rauskommen kann ich doch je Pin 2 LEDs
Wenn du mit 5V arbeitest, dann kannst du je nach Farbe (rot, grün, orange gelb) zwei Leds in Reihe schalten. Diese Leds brauchen gewöhlich jeweils ca. 2V. Blau, weiß oder Smaragdgrün braucht ca. 3,2-3,6V. Du halbierst gegenüber der Parallelschaltung den Strom, was der Batterielebensdauer deutlich zu gute kommt. Geschickt wäre ein Logik-Level-Mosfet, damit du wenig Verluste da hast. An den kannst du alle Led-Paare parallel schalten mit jeweils einem Vorwiderstand.
Spannung ist wie Wasserdruck - wenn bei Dir 4...8bar aus der Leitung kommen, kannst Du auch zwei Waschmaschinen in Reihe und eine Parallel anklemmen ... hier klingt Das jetzt gar nicht mehr so logisch, oder?
Dann nur, daß Du Das Mal gehört hast:
Spannung liegt an, Strom fließt.
'Da' kommt also keine Spannung raus, sondern liegt 'nur' an.
Aufgrund des elektrischen Widerstand ergibt sich ein Strom, Den der Arduino liefern können müß.
Kann Er Das nicht, qualmt's.
Dann sind LEDs noch ganz miese Verbraucher - Diese werden mit einem Strom betrieben - die Spannung ergibt sich durch die Temperatur des Bauteil - ohne Vorwiderstand (Der auch dahinter liegen darf) begrenzt nur die LED den Strom, was normal nicht lange gut geht.
Z.B. 'leben' die 'Throwies' Wikipedia-Link) auch nur, weil die verwendete Batterie einen recht hohen Innenwiderstand hat - an einer normalen Batterie oder einem Akku mit gleicher Nennspannung wären Diese binnen Millisekunden tot.
michael_x:
"Mehrere LEDs gleichzeitig pulsieren lassen", auch 20 LED an 20 Pins, geht. Punkt.
Was Udo da mit for und while macht, ist schon interessant, keine Frage. Nur muß man sich darüber bewußt sein, daß blockierende Programmierung für Software-PWM verwendet wird. Meist ist das nicht so zielführend, aber für dieses Thema könnte es sogar passen.
Puh, das klingt alles komplizierter als ich dachte...
Ich habe am Wochenende mal das Fade Programm aus dem Arduino Uno auf einem Breadboard mit 2 LEDs getestet. Das ging schonmal ganz gut.
Was ich allerdings noch immer nicht so ganz verstehe...Ich habe das immer folgendermaßen verstanden:
Der Uno gibt an jedem Pin 5V aus (korrekt?)
Wenn ich LEDS in Reihe schalte, addiere ich die Spannung, die Stromstärke bleibt aber gleich.
Wen LEDS parallel schalte, addiere ich die Stromstärke, die Spannung bleibt aber gleich.
Daraus folgere ich, dass ich an einen Pin zwei parallel geschaltete Stränge anschließen kann (da dann 2 Volt, 40mA bei meinen LEDs) inkl. passender Widerstände. Einen davon könnte ich mit einer Reihenschaltung versehen somit insgesamt 4V und immernoch 40 mA? Theoretisch sogar noch mehrere da ich ja nur darauf achten müsste, dass die mA (ich meine jeder Pin kann 150) und die Volt (5V) eingehalten werden oder habe ich da einen Denkfehler?
Da es ein Kostüm werden soll, möchte ich am Ende möglichst von meinem Hauptchip aus z.B. einen Kabelstrang zum Arm ziehen mit je 3 LEDs, einen zum Bein usw.
Ja, jeder Pin liefert bei HIGH 5Volt am Ausgang mit max. 20 mA (absolutes max. 40mA)
Möchtest du am Pin mehrere Leds schalten/steuern kannst du einen Transistor/Mosfet dazu verwenden.
Mehrere Leds parallel zu schalten ist keine gute Lösung und nur dann praktikabel wenn jede Led einen eigenen Vorwiderstand hat.
Der Transistor bietet dir die Möglichkeit den Ausgangsstrom des Controllers zu "verstärken".
Damit erreichst du bei 20 mA vom Controller einen deutlich größeren Strom zum Betrieb der Leds.
laut Datenblatt ist auf einem Triket ein Attiny85, auch der darf mit maximal 40mA belastet werden, besser nur 20mA.
Für eine LED kein Problem, oder eben einen Transistor als Schalter benutzen!
Wird ein Transistor eingesetzt, muss der Arduino/Attiny nur einen Steuerstrom zur verfügung stellen, damit dieser - je nach Typ - ein Vielfaches an Strom schalten kann, ein BC337 zum Beispiel bis 800mA, oder eben 40 LEDs mit je 20mA.
Den Widerstand R1 würde ich zwischen 500 Ohm und 1k Ohm dimensionieren, R2 (a,b,c ...) je nach Farbe der LED.
Rote und Gelbe LEDs haben ca. 2V Flussspannung, und bräuchten ca. 150 Ohm Widerstände bei 5V Versorgungsspannung, Blaue, Weiße, und einige Grüne LEDs haben ca. 3V Flussspannung und bräuchten 100 Ohm Widerstände. Aber ein Blick in die Datenblätter hilft immer.