Hallo, ich würde gerne mit meinem Atmega8 etwa 50 LED´s ansteuern. (siehe Anlage) Ich weiß leider nur nicht, wie ich das genau machen soll, bei nur 3 Ports. Ich muss wirklich jede LED zu jeder Zeit genau bestimmen können, ob diese nun leuchten soll oder eben nicht. Ich bräuchte dafür sicherlich eine erweiterte digitale Schaltung, die ich wederum mit meinem Atmega8 anspreche. Gibt es da hilfreiche IC´s??? Die 50 Led sind in 3 Gruppen eingeteilt. Habe schon gedacht, dass ich einfach einen binären Wert über einen der Ports rausschicke, der angibt, wieviele LED in der ansprechende Gruppe leuchten soll. Also etwa an Port.B 1000 --> soll heißen 8 LED sollen gleichzeitig leuchten. Natürlich müsste die 1000 wiederrum von einer digitalen Schaltung verarbeitet werden. Hat jemand vielleicht eine konstruktive Idee für mich? Gibt es gute Seiten im Internet darüber? DANKE sehr. Das ganze soll mal eine Art Uhr werden. Beispiel: Bei 10:35:45 leuchten etwa 10 rote LEDs 16 gelbe LEDs und 18 grüne LEDs
Gibt mehrere Möglichkeiten (wie immer): - Schieberegister, dann brauchst du gerade mal 3 Portpins - z.B. 7x8-Matrix multiplexen -> brauchst du 15 Port pins - ... Gabs schon oft hier im Forum, such mal nach "LED multiplex" oder "LED Schieberegister" Ohh, da fällt mir ein die Suche wurde ja abgeschaltet (immer noch?) Gruß Thomas
Hab jetzt erst dein Bild angeschaut, da reichen ja 48 LEDs, also 6x8-Matrix. aber von 10:35:45 auf 10 rote LEDs 16 gelbe LEDs und 18 grüne LEDs zu kommen, versteh ich nicht. Gruß TOM
@Sven ich denke das ganze ließe sich über Software realisieren (Multiplexen).... Es würden 9 Ports benötigt, 6 davon für max. 64 LED´s, und die anderen 3 zur Auswahl der Gruppe. So könnte ich mir´s vorstellen... Gruß, Thomas.
Wenn du jeweils nur 12 LEDs nimmst könntest du einen 4040 verwenden. Du hast dann bei nur drei Ausgänge keine Korrekturmöglichkeit, es sei denn du verwendest je Gruppe wieder einen µC und fütterst den bei jedem Wechsel mit der gesamten Information
mit wenig hardware könnte man sogar 60 leds an nem 8 bit port multiplexen.. Baust du das auf lochraster auf? wenn ja dann multiplex es lieber - da ist der aufwand geringer
>>Ohne extra Hardware 8Bit? Wie das? >>Bitte um Erklärung. zwischen jeden Pin des Port kommen 2 LEDs antiparallel. 2 Pins 2 LEDs, 50% Dutycycle 3 Pins 6 LEDs, 33% Dutycycle 4 Pins 12 LEDs, 25% Dutycycle 5 Pins 20 LEDs, 20% Dutycycle 6 Pins 30 LEDs, 17% Duty 7 Pins 42 LEDs, 14% Duty 8 Pins 56 LEDs, 13% Duty Jeder Pin kann dabei 3 Zustände annehmen GND, Vcc, High-Z. Beispiel 2 Pins mit 2 antiparallelen LEDs. Pin 0 = High-Z oder Pin 1 = High-Z beide LEDs sind dunkel. Pin 0 = GND Pin 1 = Vcc nur LED1 leuchtet. Pin 0 = VCC Pin 1 = GND nur LED2 leuchtet. Möchte man nun beide LEDs leuchten lassen so müssen beide Pins abwechseln von GND->VCC geschaltet werden, ergo multiplext. Bei 8 Pins sind so 56 LEDs möglich die dann aber mit 1/49'tel gemultiplext werden. Das würde mit Lowcurrent LEDs gerade noch so gehen. Hier in der CodeLib habe ich schonmal ein Beispielsource samt Schemata für einen ATTiny15 gepostet. Mit dem wurden 20 LEDs angesteuert an 5 Pins, genauer gesagt 10 zweifarbige LEDs rot/grün. Gruß hagen
Danke für die vielen Anregungen... Habe hier noch etwas: Kann ich nicht einfach das Ganze über ein simples Schieberegister verwirklichen, mit dem ich die einzelnen LED-Gruppen nacheinander aktiviere? Dann bräuchte ich für z.B. 6 Gruppen nicht 6 Portpins, sondern halt nur einen, der das Schieberegister anstößt. (siehe Anlage) Oder ist das totaler Quatsch? ----------- Mein obiges Beispiel sollte wirklich nur ein grobes Beispiel sein. Wie die genaue LED-Aufteilung der Anzeige zur Uhrzeit aussieht, muss ich noch überdenken... ----------- Wo bekomme ich ein kostengünstiges DCF77-Modul her? Was ist, wenn ich die Uhrzeit über den UART einstelle, wie genau läuft die Uhrzeit weiter ohne Funkmodul? (wie oft müsste ich die Uhrzeit korrigieren?) Eigentlich sollte doch ein Quarz recht präzise sein?
Für ein Schieberegister wären 3 Pins schon hilfreich (Takt, Daten und Latch). Oder du meinst einen Zähler, dann brauchst du eigentlich nur einen (Takt). Nur wenn du dich "verzählst" solltest du eine Resestmöglichlet haben, also zwei Pins. DCF-Modul gibts bei Conrad, Reichelt, ELV, ... ca. 10 Wenn du dir die Arbeit machst und den Quarz mit einem Trimm-C gut hinziehst, bekommst du einen Abweichung von unter 3 Sek pro Woche hin (meine Erfahrung). Wenn du allerdings sowieso eine Funkuhr implementierst, würde ich mir die Arbeit nicht machen, den Quarz abzugleichen, sondern lieber öfter mal synchronisieren. Man kann ja immer synchronisieren, wenn man sicher ist, dass Funksignal korrekt ist. Aber wie du von 10:35:45 auf 10 rote LEDs 16 gelbe LEDs und 18 grüne LEDs kommst, hab ich immer noch nicht verstanden. Gruß Thomas
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.