Ich möchte gerene ein LED-Cube ansteuern. Dazu muss man die Kathoden (Minus) der LED's von dem Ground trennen können. In den Anleitungen wurde das so gemacht, das die Kathode über ein Transistor mit dem Ground verbunden ist, und man mit dem Arduino den Transistor steuern kann.
Nun wollte ich fragen, ob man die Kathode auch einfach an ein Digitalen Output schliessen kann? Ist der output auf High fliesst kein strom da sowohl plus und minus auf 5 Volt liegen. Wenn man den Output auf Low stellt leuchted die LED. Oder geht der Arduino kaputt, weil Strom in einen als Output definierten Pin fliesst?
Ich hoffe ihr versteht meine Frage, auch wenn ich sie ein bisschen umständlich geschrieben habe.
Als Input ist der Pin auf Tristate und es fließt kein Strom.
Als Output vertragen die I/Os maximal 40mA. Außerdem gibt es noch ein paar andere Limits für bestimmte Pin-Gruppen und den Prozessor als ganzes. Den Prozessor als Treiber für viele LEDs zu missbrauchen hat also seine Grenzen. Jedenfalls wenn man mehr Strom braucht. Deshalb verwendet man Transistoren oder Treiber ICs.
Serenifly:
Als Input ist der Pin auf Tristate und es fließt kein Strom.
Als Output vertragen die I/Os maximal 40mA. Außerdem gibt es noch ein paar andere Limits für bestimmte Pin-Gruppen und den Prozessor als ganzes. Den Prozessor als Treiber für viele LEDs zu missbrauchen hat also seine Grenzen. Jedenfalls wenn man mehr Strom braucht. Deshalb verwendet man Transistoren oder Treiber ICs.
Besser gesagt:
Als Input ist der Pin HOCHOHMIG und es fließt kein Strom.
Tristate sagt ja nur daß ein Pin 3 Zustände haben kann: LOW, HIGH und HOCHOHMIG (Z).
Ein Pin kann max 40mA treiben. es gibt aber weitere einschränkungen:
Alle Pins zusammen max 200mA (weil der Strom der Pins ja über die Spannungsversorgungspins fließen muß) und bestimmte Gruppen von Pins vertragen 100 bzw 150mA (wegen internen Zuleitungen zu den Pins).
siehe Fußnote 3 und 4 von "28.2 DC Characteristics" auf Seite 314 von http://www.atmel.com/Images/doc8161.pdf
Anders gesagt Du brauchst Transistoren um den Strom der LEDs schalten zu können. Ein Pin des Arduino kann da nicht direkt.