de.sci.electronics wäre besser, aber hier ist es auch nicht verkehrt.
Wie sollen denn die etwa 200 LEDs geschaltet werden, jede einzelne individuell ein und aus, oder sogar unterschiedliche Helligkeiten?
Welche Zeitanforderungen bestehen, wie fein muß man das Zeitintervall zwischen dem Schalten zweier LEDs einstellen können?
Man vermeidet normalerweise so ein Gerät so zu bauen das 200 individuelle Ausgänge für je eine LED vorhanden sind, man bevorzugt Matrixansteuerungen mit hier je 16 Zeilen und Spaltenleitungen zwischen den dann insgesamt maximal 256 LEDs angeschlossen werden können an insgesamt nur 32 Ausgängen. Es leuchten aber nur die LEDs einer Zeile zusammen kurz, dann kommen die in der nächsten Zeile dran und so weiter. Wenn jede LED wenigstens 100 Mal pro Sekunde leuchten soll damit man nichts flimmern sieht, dann kann sie nur jeweils 625 Mikrosekunden lang leuchten und muß danach für 9,375 Millisekunden dunkel sein und dabei insgesamt für das Auge immer noch hell genug erscheinen, auch bei der Beleuchtung am Aufstellort.
Wo soll denn das Ganze aufgestellt werden und wie hell ist es dort? Im Freien bei vollem Sonnenlicht wird schwierig, in einem nur schwach beleuchteten Innenraum ist es viel einfacher die nötige Helligkeit zu erreichen damit die LED auch klar als leuchtend erkannt werden kann.
Da bist Du ja in der richtigen Jahreszeit. Schau mal bei den Eby shops Deiens vertrausen nach den 100 LED Weihnachtsbeleuchtungen. Die können in der Regel Dauerlicht, alles blinken und so ein Flimmermodus, bei dem immer ca 10 LEDs gemeinsam blinken undterschiedlich, im Baum verteilt sieht es aus wie funkelnde Eiskristalle, schön kaltes Licht, richtig authentisch.
diese Matrix braucht je 16 Zeilen- und Spaltentreiber. Man kann damit alle Möglichkeiten zwischen keine LED brennt, eine beliebige LED brennt, mehrere beliebige LEDs brennen und alle LEDs brennen darstellen. Allerdings müssen alle LEDs in einer Zeile die brennen sollen auch gleichzeitig über die Spaltenleitungen angesteuert werden. Es können immer nur die LEDs brennen die gleichzeitig über ihre Zeilen und Spaltenleitungen angesteuert werden, aber immer nur eine Zeile zur Zeit. Damit nichts flimmert müssen also in einer Sekunde hundert Mal alle Zeilenleitungen nacheinander aktiviert werden, jeweils jede nur 1/16 von einer 1/100 Sekunde lang, dann die nächste Zeile und nach 1/100 Sekunde wieder die erste Zeile. Die Zeilentreiber müssen den Impulsstrom für bis zu 16 LEDs gleichzeitig aufnehmen können, die Spaltentreiber nur für eine LED.
Wenn eine Matrix 16*16 nicht praktikabel sein sollte wegen des Verhältnisses zwischen Leuchtdauer und Pause kann man auch aufteilen auf
4 Matrizen zu je 8*8, braucht dann aber je 32 Zeilen- und Spaltentreiber.
Für die Simulation eines Flusses reicht evtl. ein Lauflicht. Bei geschickter Anordnung der LEDs, z.B.
1-2-3-1-2-3....
2-3-1-2-3-1.... .... Alle 1, 2 oder 3 sind LEDs, die an demselben Treiber hängen. Ich würde hier jeweils ca. 10 LEDs in Reihe mit passendem Vorwiderstand und von diesen Reihenschaltungen je 7 parallel an den Ausgang eines ULN2003 oder auch Einzeltransistor hängen. Die Ansteuerung der Treibereingänge kann über den Druckerport erfolgen.
Ein fertiges Gerät kenne ich nicht. Bauen würde ich soetwas mit einem µC (ich bevorzuge AVRs von Atmel) und Schieberegister oder direkt LED-Treiber. Hier verwende ich gerne MAX7219 oder MAX7221 von Maxim. Die können je IC eine Matrix von 64 LEDs ansteuern und sind kaskadierbar. Unter [1] habe ich ein Video von ersten Tests meiner 8x8 LED-Matrix, die Firmware auf dem µC ist dabei in Bascom Basic geschrieben, die Software auf dem PC ist Visual Basic.
Der Vorteil beim LED-Treiber ist der, dass du keine Transistoren oder Transistorarrays als Spaltentreiber brauchst und statt zig Vorwiderstände nur einen Widerstand je IC zum definieren der Spannung.
Vom PC aus nur programmiert oder gleich gesteuert? Also solls nur mit PC laufen oder auch autark?
PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.