LEDs über I²C ansteuern

Gast #2092960
Lesenswert?

Hallo,

ich möchte/muss für eine Projekt 60 Leuchtdioden (geplant waren 
Duo-LEDs, womit wir dann bei 120 LEDs wären) über I²C steuern. Ich 
dachte mir einen IO-Expander, wie den PCF 8574 AP zu nehmen, aber von 
dem können ja nur 8 Stück adressiert werden (3-Bit-Adresse). Nun bin ich 
mir auch nicht sicher, ob man mit diesem diese große Anzahl an LEDs 
treiben kann. Zudem komme ich so ja nur auf 8*8 Duo-LEDs = 64 DUO-LEDs, 
aber ich benötige doppelt so viele.

Ziel der ganzen Geschichte ist es, das DCF-77-Signal zu visualisieren, 
wobei die Leuchtdioden aber nicht aus sein sollen, wenn der 
entsprechende Minutenpuls einer 0 entspricht. Eine Alternative wäre es, 
die LEDs in diesem Fall leicht zu dimmen, was natürlich noch viel 
aufwändiger wäre.

Kann mir jemand helfen, bzw. mir sagen wie ich diese große Anzahl 
(Duo)-LEDs über I²C betreiben kann?

Danke
Tom
Moderator Persönliche Seite #2092976
Lesenswert?

I²C-fähigen Controller als Slave benutzen.  Die kann man normalerweise
in der Adresse frei programmieren, sodass man bis zu 127 Slaves an
einem Bus betreiben kann.  Weiß ja nicht, wie dick deine LEDs im
Stromverbrauch sind, wenn es nicht zu viel ist, kannst du die LEDs
direkt mit Controllerpins treiben, andernfalls brauchst du noch
ULN200x oder sowas als Treiber.
Gast #2093234
Lesenswert?

Auf deiner verlinkten Seite ist mir klar geworden, dass PCF8574 und 
PCF8574A verschiedene Adressen haben. Damit kann ich meine 60 
Leuchtdioden locker mit dem ATMega16 ansteuern, bzw. vielleicht werde 
ich auch den I²C-MUX benutzen. Vielen Dank.

Vorraussichtlich handelt es sich bei meinen LEDs um 10mm-Duo-LEDs 
http://www.reichelt.de/DUO-LEDs-Blink-LEDs/LED-10-RG-3/index.html?;ACTION=3;LA=2;ARTICLE=10240;GROUPID=3022;SID=12TXUzdH8AAAIAADAHF9ceb11ea5f8ebac35831c8ad62a90d0c81
mit dem typischen 20mA-Stromverbrauch. Ich denke ich benötige hierfür 
keine Treiber, aber korrigiert mich, falls ich mich irren sollte :-)

Viele Grüße
Tom
#2093235
Lesenswert?

Tom Linz schrieb:
> den PCF 8574 AP zu nehmen, aber von
> dem können ja nur 8 Stück adressiert werden (3-Bit-Adresse).

Im Datenblatt steht:
Address by 3 hardware address pins for use of up to 8 devices (up to 16 
with PCF8574A)

Also: 8x PCF 8574 AP und 8x PCF 8574 P benutzen = 128 Ausgänge

Edit : Hast es ja schon gefunden ;-)

Die ICs können aber nur gegen Masse Strom fliessen lassen, also müssen 
Deine DUO-LEDs mit gemeinsamer Anode sein.

Bei dem Preis könnte man sich auch überlegen, z.B. einen ATmega48 zu 
benutzen, der dann 16-20 LEDs ansteuert (Hälfte gegen +, die andere 
Hälfte gegen GND). Den kann man dann solche Sachen wie halbe Helligkeit 
selber erledigen lassen.


Gruß

Jobst
Gast #2093272
Lesenswert?

Oh, danke für den Hinweis mit der gemeinsamen Kathode. Da hätte ich mir 
das Datenblatt erst mal genauer ansehen sollen.

Es kennt nicht jemand von euch zufällig ähnlich große LEDs, die diese 
Bedingung, also Beschaltung, erfüllen?

Viele Grüße
Tom
Gast #2094448
Lesenswert?

Stimmt, das mit der zugewiesenen Adresse hatte ich mir noch gar nicht 
überlegt. Die Sache mit der I²C-Ansteuerung werde ich aber jetzt wohl 
doch sein lassen und die ganze Sache aus Kostengründen über 
Schieberegister lösen, wie bei dem Conrad-Pong-Spiel 
http://www.produktinfo.conrad.com/datenblaetter/900000-924999/902766-an-01-ml-CONRAD_RETRO_SPIEL_PING_PONG_de_en_fr_nl.pdf
(meinen  Betreuern wurde die Lösung über I²C dann doch zu teuer)

Im Grunde kann ich doch die gleichen Bauelemente wie beim Pong-Spiel 
nutzen, oder? Zusätzliche Treiber sind doch nicht notwendig?
Benutzen möchte ich nun doch "normale" 5 mm Standard-LEDs (allerdings 
mit Reflektoren).

Viele Grüße und vielen Dank
Tom
#2094494
Lesenswert?

@  Tom Linz (Gast)

>(meinen  Betreuern wurde die Lösung über I²C dann doch zu teuer)

Hmm, 16 EUR sprengen das UNI-Buget? ;-)

>Im Grunde kann ich doch die gleichen Bauelemente wie beim Pong-Spiel
>nutzen, oder?

Ja.

>Zusätzliche Treiber sind doch nicht notwendig?

Nein.

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister#Acht_LEDs_mit_je_20mA_pro_Schieberegister

MfG
Falk
#2095162
Lesenswert?

Jörg S. schrieb:
> Falk Brunner schrieb:
>> Ein 74HC595 kostet 30 Cent, macht 4,80 in Summe. Old School baby!
> Dimmt aber nicht so schön, es sei denn man gibt ordentlich Kiloherzen
> drauf :)

Stimmt, das ist beim PCF8574 wesentlich besser!

:ironie off: ;-)


Tom Linz schrieb:
> (meinen  Betreuern wurde die Lösung über I²C dann doch zu teuer)

Abgesehen davon, daß es mich verblüfft: Das wussten die nicht vorher, 
was das kostet?
Die sind überbezahlt und müssten eigentlich dazu verdonnert werden, die 
Bauteile aus der eigenen Tasche zu bezahlen!



Gruß

Jobst
Gast #2096461
Lesenswert?

Meine Betreuer sind auf jeden Fall überbezahlt (als Angestellter der 
Telekom an einer Fachhoschule der Telekom). Ich darf fast 50,00€ für 
LED-Reflektoren und mehrere huntert Euro für die "Frontplatte" dieses 
Exponats einer Wissenschafts-Mitmach-Ausstellung ausgeben, aber bei 16€ 
für zwei der berühmten MAX7219 für meine Siebensegmentanzeigen reicht 
das Budget nicht mehr und ich muss mir eine preisgünstigere Alternative 
einfallen lassen. Nun werde ich also 120 LEDs und 20 
Siebensegmentanzeigen multiplexen und I²C nur für ein Display benutzen. 
Nur bleibt am Ende der Misserfolg an mir hängen und über das Finanzielle 
wird keiner ein Wort verlieren.

Vielen Dank für die zahlreichen Tipps und viele Grüße
Tom

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren