Geräte- und Anfängerfrage

Hallo zusammen,

dies ist mein erster Post hier, ich entschuldige mich schon mal im Voraus falls meine Fragen anderswo beantwortet sind.
Für ein Karnevalskostüm brauche ich div. blinkende LEDs. Einmal ein Lauflicht und diverse blinkende. Zuerst wollte ich mir unterschiedliche Schaltungen zusammen bauen bzw. kaufen. Das ist aber nicht gerade eine günstige Lösung. Ein Kollege meinte dann, das ich dies mit einem Ardunio günstiger und flexibler hin bekomme. Unrecht hat er damit nicht!

Welchen Ardunio nehme ich den? Der Uno reicht theoretisch (Minimalanforderung), der Leonardo hat aber ein paar I/Os mehr (ein paar Effekte mehr), oder direkt den Mega (genug Effekte und dicke Reserven)?
Als Nachbau bekommt man alle drei beide bei Ebay für unter 10 Euro:

Uno - [EDIT]Link entfernt weil Fälschungen.[/EDIT]
Leonardo - [EDIT]Link entfernt weil Fälschungen.[/EDIT]
Mega - Ebay Mega

Was die Programmierung angeht, mache ich mir im Moment nicht so die Gedanken. Ich habe vor ca. 15 Jahren mal mit PICs gearbeitet, also sollte ich doch irgendwie eine der folgenden Varianten hinbekommen:

Variante 1:
Ein Lauflicht (10 LEDs), 4 blinkende LEDs

Variante 2:
Ein Lauflicht (10 LEDs), 4 blinkende LEDs, 2 schnell blinkende

Variante 3:
Ein Lauflicht (10 LEDs), 4 blinkende LEDs, 2 schnell blinkende, 2 gleichzeitige schnelle Lauflichter (10 LEDs) mittels Taster ausgelöst, div. blinkende LEDs

Im Moment tendiere ich zum Mega, einfach aufgrund der Reserven an I/O Ports und dadurch der Möglichkeit je nach Zeit, Lust und Können die Variante 3 zu realisieren.

Sehe ich das falsch, ist das programmiertechnisch möglich, gibt es einfachere Wege, sind die Ebay Angebote was? Wäre es möglich, die LEDs auch an 2-3m Draht zu klemmen (wegen dem Widerstand des Drahtes)?

Ich bedanke mich im Voraus für Eure konstruktiven Antworten und beantworte natürlich Rückfragen.

srkonus

Akku, Arduino Lilipad und einen kurzen Streifen APA 102

Die größte Schwierigkeit bei Einsteigern dürfte sein, dass sie blockierenden Code mittels delay() zusammenschustern und sich dann wundern, dass der Mikrocontroller nicht mehr auf Tastendrücke reagiert. Da du wie du schriebst jedoch Erfahrungen mit anderen Controllerfamilien hast, dürfte dir das Problem ja bewusst sein.
Alle von dir genannten Arduini bzw. Nachbauten sollten auskömmlich sein, allerdings solltest du auch die Stromaufnahme im Hinterkopf behalten. Bei direkt an den Ausgängen des Boards betriebenen Standard-LEDs mit 20 mA bist du schnell an der Leistungsgrenze. Daher unbedingt noch Treiber, im einfachsten Fall bipolare Transistoren (npn) auf die Einkaufsliste setzen.

MEGA-2560-R3 5,38€

Nano 3.0 1,53€

Pro Mini 1,31€

Lilypad 1,88€ [EDIT]Link entfernt weil Fälschungen.[/EDIT]

Als LEDs würde ich dir WS2812B empfehlen.

Der Lillypad ist mir irgendwie unsymphatisch - bevorzuge da die normalen Platinen. Der Ardunio kommt in einen Rucksack, also ist die Baugröße vernachlässigbar.
Bezüglich der Leistungsgrenze habe ich nix gefunden, die Datenblätter sprechen von 5V und 20mA pro I/O Pin.
Dann kann ich doch ohne Probleme mit einem 9V Block genug LEDs versorgen, oder? Auch wenn ich den Taster parallel zu den LEDs nicht hin bekomme und mich selber im Code blockiere wäre das egal. Die Lichteffekte sorgen für einen Hingucker, auch ohne ausgelöstem Lauflicht.

srkonus

Ich empfehle Dir: betreib das Ding mal mit einem 9 Volt Block und Du wirst sehr schnell feststellen, dass das Taschengeld für neue Batterien schlagartig draufgeht.

Desweiteren empfehle ich, den Empfehlungen der Kollegen hier zumindest mal ansatzweise zu folgen. Macht Dir das Leben leichter, insbesondere wenn Du eh noch nicht genau weißt was Du machen willst. "Ein paar LEDs" können ja durchaus 2 bis unendlich sein (naja, übertrieben :slight_smile: )

Ich würde das Lilypad benutzen. Ggf. kann man auch mehrere direkt ins Kostüm einbauen. Falls du lieber mit USB-Anschluss programmierst, wäre der Nano was. Kabel könnten für hohe Betriebssicherheit direkt angelötet werden. Diese Kleinarduinos wären einfacher als ein fetter Mega zu integrieren. APA102-Led(-Streifen) reduzieren den Aufwand weiter. Die Atmegas können zwar 20mA auf einem Pin direkt treiben, aber die Gesamtstromaufnahme darf 200mA nicht überschreiten. Zumindest tagsüber könnten auch stärkere als 20mA-Leds für effektvolle Leuchtstärke nötig sein.

Alternative zu eine Led pro Pin kann man die Leds auch Multiplexen oder Portexpander nuzen. 9V-Blöcke dürfte man vermutlich im Halb- bis Stundentakt wechseln.

Vergiss nicht eine ausreichende Stromversorgung.

Da Karneval ja weitestgehend vorbei ist-erst recht bis die Boards aus China da sind- und es auch einige Zeit bis zu den sommerlichen Karnevalsalternativen ist, hast du ja Luft an dem Kostüm zu feilen. Da die Boards alle nicht viel kosten, besorge dir doch einfach alle in Frage kommenden Boardvarianten und teste sie aus. Für andere schöne Zwecke kann man die ungenutzten immer noch nehmen.

P.S.: Überschneidung.

Edit: Ich würde Kostümvarianten bevorzugen, wo man die Technik im Kostüm integriert hat und auch mal ohne Rucksack auskommt. Vor allem eine Kabelpeitsche in den Rücksack stelle ich mir ausgesprochen lästig vor.

Man könnte die LED auch mit einem ESP8266 2,95€ ansteuern, dann könnte man die Effekte vom Handy aus kontrollieren und Bedienelemente einsparen.

Also,

das ganze soll die "Beleuchtung" eines Ghostbuster Rucksackes (Proton Pack) sein :smiley:
Ein Lauflicht mit 10 LEDs, vier und vielleicht noch zwei einzeln blinkende LEDs werden angestrebt. Ein Lauflicht am Lauf wären das "i" Tüpfelchen.
Das Kostüm geht nur mit dem Rucksack, von daher denke ich nicht weiter über ein Lillypad nach - die Beleuchtung muss ja auch in den Rucksack.
Wenn ich eine einfache rote LED mit 20mA nehme, dürfen max. 10 gleichzeitig an sein? Das mit den "Treibern" verstehe ich nicht. Steuer ich ein externes "Gerät" an, was die Versorgung der LEDs übernimmt? Gibt es ein Beispiel was ich mir anschauen kann?

Meint Ihr so etwas:
https://www.reichelt.de/Treiber-fuer-LEDs/MW-LDD-700L/3/index.html?&ACTION=3&LA=2&ARTICLE=148020&GROUPID=6581&artnr=MW+LDD-700L

von daher denke ich nicht weiter über ein Lillypad nach

Bei Batterie betriebenen Dingen ist der Stromverbrauch immer von Interesse!
Oder?

Und da ist ein Lilipad ungeschlagen

Alternativ sind auch die Pro Mini nicht schlecht.
Befreit vom Spannungsregler und PowerLED, brauchen die im Schlafmodus nur wenige µA

Natürlich kannst du dich mit einzelnen LEDs rum schlagen, wenn du daran Spaß hast....

Gibt es ein Beispiel was ich mir anschauen kann?

Google("Arduino APA102")

Ein Treiber ist im einfachsten Fall ein Transistor. Es gibt Universal-Treiber-ICs wie der ULN2003, der 500mA auf einem Pin (2,5A max gesamt) schafft. Dann gibt es noch Spezial-ICs wie der MAX7219, der bis 64Leds in einer Matrix schalten kann oder TLC5940, der 16 Ledkanäle individuell steuert.

Vielen Dank erst einmal für Eure ganzen Antworten.
Verstehe ich den ULN2003 richtig, das er 7 Ein- und Ausgänge hat, die ich jeweils einzeln mit den Arduino ansteuern kann? Dann nehme ich zwei Stück und kann 14 LEDs separat ansteuern, richtig? Allerdings finde ich im Datenblatt nichts zu seiner Versorgung.

Edit:
Habe noch etwas gesucht und verstehe das ganze jetzt so:
Ich baue mir eine Platine mit 2-3 ULN2003 und eigener Spannungsversorgung (Batterien - mehrere parallel für eine längere Laufzeit?). Den ULN2003 steuer ich mit dem Arduino (versorgt durch 9V Block)an. Verstehe ich das so richtig? Wenn ich 14 LEDs a 20mA betreiben will, wie viele Batterien kann so rechnen?

Der ULN2003 ist praktisch ein Verstärker. Du kannst ihn mit jeder Spannung bis 50V versorgen (Datenblatt S.4). Mit zwei kannst du 14Leds seperat steuern und brauchst auf die Ströme kaum aufzupassen. Allerdings sind die Dinger invertierend. D.H. die LED ist aus, wenn du einen Arduino-Pin High schaltest.

Bevor Du Dich auf Treiber stürzt: Warum nicht APA102? Das ist m. E. die einfachste Variante.

Lass die blöden 9V-Blöcke. Das ist die ungeschickteste Art deine Schaltung zu versorgen.

Wenn nimm 6bis8 NiMh-AA-Akkus. Die haben die 10-fache Kapazität eines 9V-Blocks. Nimmst du noch einen DC-DC-Wandler (Beispiel) dazu und einen 3,3V 8Mhz-Arduino, dann hast du bei 6-AA-Zellen ungefähr die 20-fache Laufzeit gegenüber einem 9V-Block, einfach an ULM2003 und Arduino angeschlossen. Selbst mit einem Standard 5V-Arduino bekommst ein x-faches an Laufzeit.

agmue:
Bevor Du Dich auf Treiber stürzt: Warum nicht APA102? Das ist m. E. die einfachste Variante.

Habe bis jetzt noch nichts gefunden womit ich den APA102 verstehe.
Was die Spannungsversorgung angeht, 9V Block, AA Batterien...da gibt es ja genug und es ist nix in Stein gemeißelt.

hi,

APA102 oder WS2812 sind LEDs (meist auf stripes in verschiedensten abständen) bei denen Du insgesamt nur einen pin des arduino zur ansteuerung ALLER LEDs brauchst.

Du nimmst dann einen teilstreifen mit 10 LEDs, gehst mit einem 3-poligen käbelchen weiter zur nächsten LED, 3-poliges käbelchen zur nächsten, 3-poliges käbelchen zum nächsten 10er-block usw, wie immer Du willst.

jede LED hat eine nummer in der reihenfolge, wie sie verkabelt sind, und das programm im arduino sagt nur

Setze_LED(nr. 3, rot:10, grün:140, blau:210)
Setze_LED(nr. 5, rot:4, grün:160, blau:0)

usw.

z.B.
http://www.ebay.de/itm/60Pixels-M-WS2812B-Schwarz-5050-RGB-LED-Streifen-Licht-wasserdichtes-IP68-/351646913680?var=&hash=item51dfca1490:m:moDhOCS2FgKX5iwhHm8yKrQ

gruß stefan

srkonus:
Habe bis jetzt noch nichts gefunden womit ich den APA102 verstehe.

Das läßt sich ändern. Schau mal auf DotStar, jedes weiße Rechteck (Lichtpunkt) besteht aus drei LEDs (RGB) und Controller. Jeder Lichtpunkt hat DI (Dateneingang) und CI (Takteingang) und kann einzeln betrieben werden (siehe 7. und 8. Bild). Der erste Lichtpunkt wird mittels je einem kleinen Widerstand an den Arduino angeschlossen, Spannungsversorgung 5 V. Am Arduino sind also zwei digitale Pins belegt. Alle anderen Lichtpunkte hängen in Reihe hinter dem ersten. Fast wie beim Schieberegister werden die Daten seriell durchgeschoben, dann angezeigt.

So ein Streifen ist trennbar, jeder Lichtpunkt einzeln ansteuerbar. Natürlich kann man auch mehrere Lichtstreifen an den Arduino anschließen, dann braucht man halt mehr Pins.

Ich habe 150 Lichtpunkte an einem ProMini angeschlossen. Beispiel: FastLED Code für den Weihnachtsbaum

Eisebaer:
... gehst mit einem 3-poligen käbelchen weiter zur nächsten LED ...

Bei WS2812 drei, bei APA102 vier Käbelchen.

APA102 ist unkritischer, aber dazu mehr, wenn Du in diese Richtung gehen möchtest.

Okay,

habe gelesen und versucht zu verstehen. Ich habe einen LED Stripe (APA102 - teurer oder WS2812B - günstiger). Diesen schließe ich an den Leonardo an. Benötigt werden 2 PINs und eine externe 5V Versorgung für den Stribe, richtig? Wobei der Leonardo ja 5V an den PINs liefert.
Der im Stribe eingebaute Controller weiß jetzt, welche LED leuchten soll? Wie macht man das (einfaches Beispiel, kann noch keinen Ardunio programmieren)?
Aber so ein Stribe sieht für die Lauflichter sinnvoller aus, dann sind noch genug PINs für einzelne blinkende LEDs frei - oder habe ich da nen Denkfehler?

srkonus:
... oder habe ich da nen Denkfehler?

Liest sich gut :slight_smile:

srkonus:
Wie macht man das (einfaches Beispiel, kann noch keinen Ardunio programmieren)?

Bibliothek FastLED, Beispiel FirstLight.ino "Move a white dot along the strip of leds."

Ich habe hier nicht geschrieben, es sei super simpel einfach!

srkonus:
... eine externe 5V Versorgung für den Stribe ...

Da gibt es mehrere Möglichkeiten, mein Favorit ist eine Batterie, ein Spannungswandler auf 5 V (Stepdown), dann ein 5 V Draht zum Arduino, einer zum ersten Lichtpunkt. Dasselbe für Masse. Dann kann die Batterie auf ca. 6 V runter.


Anstelle eines Treibers kannst Du auch ein Schieberegister nutzen, das gleich etwas mehr Strom liefern kann, beispielsweise TPIC6A595.