Hallo zusammen Ich möchte mit einem Mikrocontroller 32 LED ansteuern. Am besten mit einer Adresse von 6 bit. Es wird für eine Lautstärke anzeige verwendet und soll einen Balken ergeben der je nach lautstärke grösser oder kleiner wird. Nun da ich am controller nicht so viele ausgänge habe brauche ich ja so etwas wie ein LED Treiber. Zu meiner Frage. Wie kann ich dies am Besten lösen und mit welchen Bauteilen.
Möglich wäre eine Matrix-Ansteuerung; dann ist immer nur eine LED an; der "Balken" ist wird dann durch die Trägheit des Auges gebilded. Braucht aber einen kontinuierlichen refresh (http://www.mikrocontroller.net/articles/LED-Matrix, google mal "Charlie-Plexing") Andere Möglichkeit wäre eine Kaskade aus Schieberegistern (http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister). Zu beiden Ansätzen findet man hier im Forum Code & Beispiele.
Ja das habe ich mir auch schon gedacht. Aber das würde nur beim increase der Lautstärke funktionieren, aber beim decrease wurde es dann nicht mit dem Schieberegister gehen. Oder mache isch da eine fehl Überlegung?
Jonas M. schrieb: > Ja das habe ich mir auch schon gedacht. > Aber das würde nur beim increase der Lautstärke funktionieren, aber > beim decrease wurde es dann nicht mit dem Schieberegister gehen. Oder > mache isch da eine fehl Überlegung? Machst du. Du beschreibst das Schieberegister immer komplett(!), wenn sich was ändert. Nicht nur um 1 Stelle weiterschieben. De facto kannst du dir mit einem Haufen SR viele (ich will jetzt nicht sagen unbegrenzt, denn natürlich gibt es auch mal eine Grenze an der das Fan-Out nicht mehr reicht) Ausgänge bauen, bei denen du jeden einzelnen losgelöst von allen anderen ansteuern kannst.
Schieberegister sind auf jedenfall eine einfache Lösung, aber dann brauchst Du für jede LED einen Vorwiderstand. Bei einer Matrix Schaltung (6x6) brauchst Du nur 6 Widerstände. Allerdings fließen dort höhere Ströme, dewegen brauchst Du dann 6 Transistoren mit Vorwiderstand - also insgesamt 18 Bauteile. Die Matrix Schaltung birgt das Risiko, die LED's zu verheizen, wenn das Programm hängen bleibt. Deswegen würde ich während der Softwareentwicklung mit geringen Strömen arbeiten (die die LED's auf Dauer vertragen) und erst wenn alles läuft, auf den 6-Fachen Strom hoch gehen. Schieberegisters sind einfacher zu programmieren. Du hast die Qual der Wahl.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.