Gast
#2486270
Guten Abend zusammen, Da ich blutiger Anfänger im Bereich Multiplexing und ATmega bin (habe seit 4 Monaten Assembler in der Schule zusammen mit einem Nibobee), habe ich ein paar Fragen. Wir haben uns als Projekt ein "Tic-Tac-Toe"-Spiel (in C) ausgesucht, welches von einem ATmega16 gesteuert werden soll. Ddadurch, dass wir bei 33 Ein-/Ausgängen gelandet sind, war das einer zuviel und wir haben nun vor das Feld zu multiplexen (was ich schon immer interessant fand). Nun zu meinem Problem. Im Bereich LED-Matrix bin ich schon ziemlich fündig geworden, was mein Problem angeht. Ich habe z.B. erfahren, dass man eine Frequenz von ca. 100Hz pro LED/Spalte/Zeile (jenachdem) erreichen sollte. Bei unserem Spiel sollte also eine Frequenz von 300Hz reichen. Liege ich mit diesem Ansatz richtig? Des Weiteren stelle ich mir die Frage, wie ich das Multiplexen am Besten über die Bühne bekomme... Als erstes hatte ich vor eine Funktion aufzurufen, welche das Feld ausgibt. Das fand ich aber relativ hirnlos und habe an einen Timer gedacht. Den kann ich zeitlich auch besser "timen" und habe immer nach x Takten die Ausgabe an das Feld. Hab das zwar noch nie in C (eigtl. noch nie was) gemacht, aber die Herausforderung ist der Sinn dahinter. In dieser Funktion wird abwechselnd immer wieder eine Zeile nach der anderen eingeblendet 1 - 2 - 3 - 1 - 2 - 3 - 1 - [...]. Pro Interrupt jedoch immer nur eine Zeile. Des Weiteren frage ich mich, wieviel mA die LED (3mm) bei dieser Frequenz benötigt. Ich steig da nicht ganz durch, laut LED-Matrix würde ich jetzt sagen, dass wir pro LED 60mA (bei 20mA Standardangabe) benötigen, das würde für jede Zeile (Masse) 180mA (im Vollbetrieb) bedeuten. Meine Frage lautet nur, ob die andere Zeit, wo die LED nicht leuchtet, reicht um die LED wieder abzukühlen oder wir den Strom doch lieber auf <60mA drossen sollten. Mit großem Dank an alle Leser, Marco