Wie soll ich alle LEDs aufleuchten lassen?

8

Ich arbeite an einem 4x4x4 LED Würfel. Ich habe alle negativen Anschlüsse von LEDs in einer horizontalen Schicht miteinander verbunden und verwende einen Arduino-Pin pro Schicht. Ich habe alle positiven LED-Anschlüsse einer vertikalen Säule miteinander verbunden und steuere jede Säule über einen Pin.

Also 16 Stifte für Säulen und 4 Stifte für horizontale Schichten. Die Pins versorgen die LEDs direkt mit Strom und versenken sie.

Nach meinen Berechnungen kann ich höchstens 16 LEDs gleichzeitig einschalten, bevor ich die Stromgrenzen erreiche. Also, wenn ich alle Ebenen gleichzeitig beleuchten möchte, ohne das Brett zu verbrennen, wie soll ich vorgehen?

asheeshr
quelle
@ MarkBooth Direkt in einen E / A-Pin einsinken.
Asheeshr

Antworten:

5

Im Allgemeinen verwenden diese LED-Würfel die Dauer des Sehens und Multiplexens, um die Anzahl der Drähte und digitalen E / A-Pins für eine bestimmte Würfelgröße zu minimieren. In Ihrem Fall können Sie sie jedoch auch verwenden, um den vom Würfel aufgenommenen Gesamtstrom zu reduzieren. Anstatt nur eine LED ein- oder auszuschalten, blinken Sie die LED viele Male pro Sekunde, um eine scheinbar kontinuierliche Helligkeit bei einer viel geringeren Stromaufnahme zu erzielen.

Wenn Sie beispielsweise kontinuierlich 16 LEDs mit Strom versorgen können, aber 64 LEDs mit Strom versorgen müssen, können Sie dies tun, wenn Sie ein Tastverhältnis von 25% haben. Jede LED wird ein Viertel der Zeit eingeschaltet und drei Viertel der Zeit ausgeschaltet, sodass sie 1/4 der Helligkeit der kontinuierlich betriebenen LED beträgt, aber auch nur 1/4 der Energie verbraucht.

Wenn Sie alle 5 ms (50 Hz) zwischen den 4 Ebenen wechseln können, werden Personen, die direkt auf den Würfel schauen, je nach Helligkeit der Würfel-LEDs das Flackern wahrscheinlich nicht bemerken, aber jeder, der anderswo hinschaut, wird wahrscheinlich das Flackern aus der Ecke bemerken ihres Auges. Bei 2 ms (125 Hz) würden nur wenige Menschen das Flackern bemerken, selbst aus dem Augenwinkel.

Weitere Informationen finden Sie auf der Wikipedia-Seite zur Flicker-Fusionsschwelle .

Mark Booth
quelle
6

Der beste Weg, dies zu tun, ist Multiplexing .

So funktionieren Ihre Monitore / Displays (Handy, Laptop usw.). Ich würde auch Schieberegister empfehlen (wie ich in diesem Thema geschrieben habe )

Ich hoffe, das hilft!

Gemeinschaft
quelle
3

Der Texas Instruments TLC5940 ist eine weitere Möglichkeit, LEDs einfach vom Arduino aus zu steuern. Sie können anscheinend bis zu 40 von ihnen miteinander verketten. Es gibt so viele gute Informationen auf der Arduino-Spielplatzseite. Bitte schau es dir an.

Hier ist ein Beispiel eines Benutzers des Arduino-Forums namens saeveritt , das eine Vorstellung davon zeigt, wie der Schaltplan aussehen würde. Folgen Sie den Links, um zu erfahren, wie Sie mit dieser Technik so viele LEDs mit Strom versorgen können.

Geben Sie hier die Bildbeschreibung ein

Steve Cooley
quelle
1

Ich würde denken, dass Sie mit einer angemessenen Anzahl von Transistoren Dinge schalten könnten, ohne den gesamten LED-Strom durch einen Arduino-Pin abführen zu müssen.

Sie geben Ihre Stromquelle nicht an, aber ich würde die LEDs direkt (nicht über das Arduino) mit Strom versorgen und das Arduio zum Umlegen von Transistorschaltern verwenden.

mikeY
quelle
Können Sie dies näher erläutern? Vielleicht ein Link oder ein Beispielschema?
Anonymer Pinguin
@annonomus person - Nehmen wir eine 5-V-Quelle an. Ich denke, anstelle von "5 V> Arduino-Pin> LED-Bündel> Masse" würden Sie "5 V> Arduino-Pin> NPN-Transistorbasis" und "5 V> Transistorkollektor> Transistor-Emitter> LED-Bündel> Masse" verwenden. Schreiben Sie "High" vom Arduino auf die NPN-Basis, um den Transistor umzudrehen und LEDs einzuschalten, ohne den Strom durch den Arduino-Pin zu leiten.
MikeY
Ich weiß das, aber ich meine, welchen Transistor würden Sie verwenden? Nur welche, die den Strom treffen würde? Ich meine, wie berechnen Sie, wie viel Spannung und Sättigung Sie benötigen, um es usw. mit Strom zu versorgen?
Anonymer Pinguin
Ich denke, Kenner würden einen schicken MOSFET verwenden. Ich würde es mit einem 2N3904 versuchen, weil ich ein paar davon zur Hand habe.
MikeY