Ich versuche zu verstehen, wie man eine 8x8-Matrix (oder eine große Anzahl von LEDs) richtig multiplext http://arduino.cc/en/Tutorial/RowColumnScanning
Ich bin jedoch etwas verwirrt, da ich andere wie diese gefunden habe: http://garagelab.com/profiles/blogs/arduino-scrolling-text-marquee-to-give-a-happy-christmas
Dieser besagt, dass Transistoren für die Stromumschaltung verwendet werden sollen, aber der erste Link verwendet nicht einmal Widerstände (was ich verdächtig finde), geschweige denn Transistoren.
Ich verstehe nicht wirklich, warum die Transistoren benötigt werden, kann jemand erklären, warum?
Gedanken?
Die Transistoren werden benötigt, wenn der zum Ansteuern der LEDs erforderliche Strom höher ist, als der Mikrocontroller verarbeiten kann. Dies bedeutet entweder eine einzelne Pin-Nennleistung oder die maximale Nennleistung für alle Pins zusammen (wird im Datenblatt angegeben).
Die meisten typischen 5-mm- und 3-mm-LEDs haben einen maximalen Nennstrom von etwa 20 mA und können direkt von einem Mikrocontroller-Pin angesteuert werden (10 mA ist für die meisten Anwendungen ausreichend).
Wenn Ihr Mikrocontroller jedoch den maximalen Nennstrom von 200 mA beträgt und Sie 20 LEDs mit 15 mA ansteuern möchten , obwohl die einzelnen Pins den Strom liefern können, sind Sie für die maximale Stromstärke außerhalb der Spezifikation.
Die LEDs sollten immer eine strombegrenzende Komponente (z. B. Widerstand) haben, wenn sie von einer Spannungsquelle angesteuert werden, also vermuten Sie zu Recht die erste Verbindung. Es scheint, dass es sich einfach darauf verlässt, dass der Stiftantrieb nicht hoch genug ist, um das Mikro oder die LED zu beschädigen, was definitiv keine gute Idee ist.
Hier sind die absoluten Höchstwerte für den ATmega328 . Beachten Sie, dass es eine Nennstromstärke pro Pin und auch eine maximale Gesamt-Vcc-Stromstärke gibt:
Siehe auch Anmerkungen 3 und 4 auf S. 314:
Außerdem können Sie Hochleistungs-LEDs mit Nennströmen von > 500 mA erhalten, sodass in diesem Fall offensichtlich ein Transistor die einzige Option ist.
Das ist eigentlich falsch, Transistoren werden als Schalter verwendet. Auf diese Weise können Sie die Kathodenstifte mit einem positiven Signal von einem Arduino so schalten, dass jede LED in der Matrix einzeln gesteuert werden kann, was die Möglichkeit des Multiplexens ermöglicht. Einfach.
Sie sollten diesen Beitrag lesen http://www.theengineeringprojects.com/2015/12/scrolling-text-led-matrix-8x8-using-arduino-proteus-isis.html .... Sie haben im Detail gezeigt, wie man eine Schnittstelle herstellt Arduino mit 8x8 LED-Matrix. Sie haben dazu MAX7219 verwendet. Dort ist auch der Code zusammen mit der Proteus-Simulation angegeben.
Adam Haile
Oli Glaser
Oli Glaser
Adam Haile
Oli Glaser
Adam Haile
Oli Glaser
Neo
Oli Glaser