Hintergrund:
Ich bin ein auf Verkehrssteuerungsgeräte spezialisierter Bauingenieur und habe ein kleines Hobbyprojekt, um ein maßstabsgetreues Ampelsystem zu bauen. Ich kann die Ampelmusterprogrammierung mithilfe eines Raspberry Pi selbst verwalten und steuern (und dies gibt mir die Möglichkeit, eine dynamische und programmierte Steuerung zu implementieren und eine Schnittstelle mit einem ernsthaften Verkehrssteuerungsschema und möglicherweise realen Verkehrsdaten herzustellen). Ich brauche nur Hilfe bei der Verkabelung vieler LEDs auf der Hardwareseite :)
Ich folgte diesem Tutorial http://www.raspberrypi-spy.co.uk/2012/06/control-led-using-gpio-output-pin/ ganz gut (einschließlich der Verwendung einer externen Stromquelle anstelle von Pin 2), aber Ich werde wahrscheinlich auf das Problem von zu wenigen GPIO-Verbindungen für alle Ampeln stoßen.
Als nächstes habe ich versucht, mit einer LED-Matrix zu multiplexen http://www.appelsiini.net/2011/how-does-led-matrix-work . Multiplexing funktioniert jedoch, die Lichter sind normalerweise schwächer, ich bezweifle, dass dies gut skaliert, und dies erhöht tendenziell die Komplexität der Steuerung.
Kernfrage:
Gibt es noch andere Tricks, mit denen ich mehrere LEDs mit weniger 0/1-Signalen steuern kann, ohne eine Erweiterungskarte für den Raspberry Pi zu haben?
Eine Sache an Ampeln ist, dass sie normalerweise in Dreierblöcken kommen, von denen jeweils nur einer aktiv ist. Gibt es da draußen eine relativ einfache Schaltung, die es mir ermöglichen würde, einen LED-Block mit einem einzigen 0/1-Signal umzuschalten?
quelle
Antworten:
Kennen Sie Schieberegister wie 74HC595? Es benötigt 3 Pins von Ihrem RPI und Sie können 8 Ausgangsleitungen steuern. Sie können sie einfach kaskadieren und effektiv n × 8 Ausgangsleitungen steuern.
Daten werden seriell in das Schieberegister getaktet und sobald alle 8 Ausgangsbits übertragen sind, speichern Sie die Bits an den Ausgängen.
Ich wollte das Datenblatt hier hinzufügen, aber https://www.sparkfun.com/products/733 zeigt ein schönes Video und hat auch einen Link zum Datenblatt.
quelle
Schichtregister, wie Jippie vorschlägt, funktionieren gut. Multiplexing kann jedoch auch für mehr LEDs verwendet werden, als Sie vielleicht erwarten. Die Lösung für die verringerte Helligkeit besteht darin, den Spitzenstrom so zu erhöhen, dass der durchschnittliche Strom gleich bleibt. Sie können dies tun, indem Sie die Spannung erhöhen oder den Strombegrenzungswiderstand verringern.
Der Grund, warum übermäßiger Strom eine LED beschädigt, ist, dass der Übergang überhitzt. Wenn zwischen den Impulsen Zeit zum Abkühlen gegeben wird, können die Impulse stärker sein. Das Datenblatt für Ihre LED sollte sowohl einen maximalen Durchschnittsstrom als auch einen maximalen Spitzenstrom angeben, der nicht überschritten werden darf. Wenn Sie sich keine Sorgen um hohe Zuverlässigkeit machen (ein Hobbyprojekt, kein Raumschiff) und es Ihnen nichts ausmacht, ein paar LEDs zu rauchen oder die Regeln ein wenig zu biegen, können Sie die Grenzen jederzeit selbst testen.
Schauen Sie sich auch das Charlieplexing an, um mehr LEDs aus einer kleineren Anzahl von Pins zu multiplexen. Die Obergrenze für die Anzahl der LEDs, die mit dieser Methode verbunden werden können, ist normalerweise die Helligkeit, die mit dem von den GPIO-Pins verfügbaren Strom erreicht werden kann, nicht die Anzahl der Pins.
Lesen Sie weiter: Erzielt das Pulsieren einer LED bei höherem Strom eine größere scheinbare Helligkeit?
quelle
Verwenden Sie USB oder Ethernet, um die Lichter über eine solche Verriegelungsrelaisplatine zu steuern
http://www.robot-electronics.co.uk/acatalog/Relay_Modules.html
Ich habe diese Boards für andere Anwendungen verwendet und sie sind ausgezeichnet
quelle