Wie kann ich 100 LEDs ansteuern?
Ich habe ein 10*10 Feld von Leds und will diese ansteuern. Aber weiß nicht wie. Mit arduino wäre das nur möglich wenn ich mehrere arduinos hätte und die hab ich nicht. kann mir jemand helfen? danke
3 Antworten
Hallo yufkabrot,
mir fallen diesbezüglich zwei Möglichkeiten zur Ansteuerung ein.
Die erste Möglichkeit wäre die Verlagerung der LED-Anschlusspins auf Shift-Register wie dem 74HC595 (8 Bit). Dadurch kannst Du mit einem simplen "ShiftOut"-Befehl High oder Low Signale durchshuttlen und damit die LEDs ein oder ausschalten. Wie Du es anordnest, ist Dir überlassen. Du kannst 10 * 10 Ausgänge nutzen (Erforderlich: 13x 74HC595), oder sie in ner Matrix zusammenschalten (10 Ausgänge für X und 10 Ausgänge für Y, macht 4x oder 3x 74HC595). Um die Porterweiterung durch z.B. Shift-Register kommst Du nicht drum, wenn Du 100 LEDs mit einem Arduino Uno ansteuern möchtest.
Die zweite Möglichkeit ist, gleich von Anfang an adressierbare LEDs zu verwenden, die sich wie Shift-Register verhalten. Verwenden kannst Du z.B. LEDs des Typs WS2812B. WS2812B ist aber ne RGB-LED - ich weiß nicht, ob es Deinen Anforderungen entspricht. Die WS2812B braucht zur Ansteuerung exakt 1 Pin und Du kannst eingeben, wann Du welche LED in der Reihe auf welchen Farbwert setzen möchtest (0 - 255 für R, G und B).
Hoffe, dass ich Dir helfen konnte - bei Fragen fragen :)
LG. Kesselwagen
Man kann "3to8decoder-chips" verwenden.
Diese haben auch einen Überlauf, sprich du kannst mit 3Pins so viele chips und damit auch Pins ansteuern.
über eine Matrix. 10 Zeilen und 10 Spalten Leitungen
Der atmega 128 hat etwas in meinem kopf bewegt... Wie genau würde das funktionieren?
man kann auch 3to8 decoder chips benutzen. die gibts mit einem Überlauf, sprich du kannst mehrere nebeneinander/hintereinander hängen.
Es gibt noch eine andere Lösung ( ich habs so gemacht... 8x32 rgb LEDs mit einem atmega 128 ansteuern... Aber dafür müsstest du dir die led's kaufen...)
Du benötigst min. 2 ardoinos bzw einen ardoino mega oder so... (Die große Version)
Das is ja klar aber mit einem Programm? d.h. text oder so drauf machen. Den Code kann ich selbst schreiben nur weiß ich nicht wie ich die ansteuern kann