mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED in Zwei Helligkeiten


Autor: Phillip Hommel (philharmony)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin, ich suche nach einer Möglichkeit, eine LED so zu beschalten, daß 
sie an zwei Pins des Atmega angeschlossen wird.
Ist der eine High soll sie Hell leuchten (kleinerer Vorwiderstand) ist 
der andere High soll sie gedimmt leuchten (größerer Vorwiderstand).
PWM kommt in dem Fall nicht in Frage, da ich 128 LEDs per Pultiplexer 
und D-Flipflop anspreche.
Spannungsteiler habe ich schon überlegt, das scheint aber nur zu gehen, 
wenn der LOW-Pin in der Luft hängt, sobald ich den auf Masse ziehe geht 
natürlich das Licht aus. Und "in der Luft hängen" kann natürlich der 
Ausgang vom D-Flipflop nicht...

Autor: Christof Voelkle (yoda)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Phillip,

z.B. so wie im Anhang?

Autor: Kanzler Gorkon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Möglichkeit mit 4 Helligkeitsstufen:

Anode der Led auf Vcc, Kathode über R1 auf Pin1 des µC und über R2 auf 
Pin2 des µC. R1 > R2
Pin 1 und 2 auf 1 -> Led aus
Pin 1 auf 0, 2 auf 1 -> dunkel
Pin 1 auf 1, 2 auf 0 -> heller
Pin 1 und 2 auf 0 -> ganz hell

Autor: Kanzler Gorkon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenns notwendig ist, kann auch noch eine Diode bei den Port Pins sein 
(damit nicht sinnlos zwischen den Pins Strom fließt).

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Christof Voelkle (yoda)

>Dateianhang: led.png (10 KB, 8 Downloads)
>z.B. so wie im Anhang?

Ein wenig aufwändig für so ein triviales "Problem". Einfach zwei 
Widerstände an die Portpins und damit an die LED. Bei richtiger 
Dimensionierung passt das. Denn der AVR kann ja seine IOs hochohmig 
schalten. Die Dioden sind dann überflüssig. Aber der OP sprach von 128 
LEDs per Multiplexer. Da sollte man wohl erstmal über eine 
LED-Matrix nachdenken. Wenn man das aber doch nicht will, dann muss 
man halt Schieberegister verwenden. Dann kann man deine Schaltung fast 
verwenden, man kann eine Diode einsparen.

MFG
Falk

Autor: Christof Voelkle (yoda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk schrub:
>Denn der AVR kann ja seine IOs hochohmig schalten.

Ja richtig. Da hab ich nicht dran gedacht.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann u.U. auch nur einen Portpin benutzen.

Pin---###--->|---- GND

###:  Vorwiderstand
->|-: LED low current, möglichst leuchtstark

Die stark leuchtende LED bekommt man, wenn der Pin als OUTPUT HIGH
geschaltet ist. Die LED ->|- erhält z.B. +5 V aus dem Portpin über einen 
normalen Vorwiderstand ### zur Strombegrenzung (z.B. 2 kOhm).

Die schwach leuchtende LED bekommt man, wenn der Pin als INPUT 
geschaltet ist und der zugehörige interne Pull-Up Widerstand mittels 
PORT aktiviert ist. Bei einem typ. Pullup von min. 20 bis max. 50 kOhm 
(Bsp. bei Atmega32 I/O Pin Pull-Up Resistor im Datenblatt) gibt das 
einen Strom von ca. 0,15 bis 0,06 mA. Es ist auszuprobieren, ob dir das 
noch hell henug ist.

Die dunkle LED ist klar - OUTPUT LOW oder INPUT und Pull-Up inaktiv.

Autor: Phillip Hommel (philharmony)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie in der Zeichnung vom ersten Beistrag dachte ich mir das.
Ich hatte bei meinen Versuchen keine Dioden dazwischengeschaltet, darum 
hats natürlich nicht funktioniert.
Vielen Dank.
Nochmal genau was ich baue:
Ich habe einen Port komplett für 8 Ausgänge konfiguriert.
Diese hängen an den Eingängen von 16Stück 8er-D-Flipflops.
PIN0 am jeweils 1.FF der 8er-Reihe, PIN1 am 2. usw.
Einen weiteren Port habe ich als 7-Bit Zähler konfiguriert (4 Davon 
benutze ich für meine LED-Schaltung, die vollen 7 Bit brauche ich für 
was anderes, ich mache nämlich was ähnliches noch mit 128 Eingängen für 
Schalter).
Die 4 Bit schalten jetzt per 16er Mux einen Kurzen Puls durch, damit die 
8Bit dann je an nur einem 8er FF anliegen.
Damit kann ich dann 128 bit Zwischenspeichern.
An den Ausgängen dieser FFs hängen jetzt die LEDs, und MANCHE davon 
sollen eben zwei Helligkeiten haben, andere wieder nicht, und dafür kann 
ich dann ohne Probleme mal ein Bit mehr opfern.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Phillip Hommel (Firma hs-bremen) (philharmony)

>Ich habe einen Port komplett für 8 Ausgänge konfiguriert.
>Diese hängen an den Eingängen von 16Stück 8er-D-Flipflops.

Warum keine Schiebegregister? Wesentliche weniger Verdrahtung. Dito für 
die Eingänge.

AVR-Tutorial: Schieberegister

Mfg
Falk

Autor: Phillip Hommel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil die LEDs möglichst wenig Flackern sollen, und bei den Eingängen 
auch mal ein Schalter gezielt abgefragt wird.
Mag sein daß es andere Möglichkeiten gibt, aber meine hier funktioniert 
und ist schon fix und fertig zum Ätzen.
Durch die Hilfestellung mit den LEDs hab ich jetzt alles zusammen.
Grüße
Phillip Hommel

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Phillip Hommel (Gast)

>Weil die LEDs möglichst wenig Flackern sollen, und bei den Eingängen
>auch mal ein Schalter gezielt abgefragt wird.

???
Weder flackern LEDs, die per Schieberegister angesteuert werden, noch 
gibt es Probleme, Schalter gezielt per Schieberegister abzufragen.

MFG
Falk

Autor: Bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich steuere auch 128 (16x8) LEDs über Schieberegister an.
Bei mir flackert nix!

(zumindest ist mein Auge-Gehirn zu träge es zu sehen)

Autor: Phillip Hommel (philharmony)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, beim nächsten Projekt werde ich das ausprobieren, jetzt werf ich das 
nicht mehr alles übern Haufen.
Aber vielen Dank für die Tips! ;)

Autor: Phillip Hommel (philharmony)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähm ja...ich glaub ich bin einfach ´n bisschen doof ;)
Ich hatte die Lösung mit dem Schieberegister schlichtweg nicht richtig 
verstanden beim Lesen: Das Ding hat ja nen Speicher!!! Genial!
Damit spar ich wirklich etliches an Leitungen und Stress.
Danke Leute!!!!
Geht das in beide Richtungen, also für LEDs und auch für Schalter?
Dann werf ich das doch nochmal um, supergeil!

Autor: Phillip Hommel (philharmony)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soweit so gut, jetzt habe ich nur noch das Problem: Wie lese ich 
schalter ins Schieberegister ein? Also Quasi die LED-Lösung rückwärts?
Oder brauche ich dazu ein anderes Schieberegister?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Phillip Hommel (Firma hs-bremen) (philharmony)

>Oder brauche ich dazu ein anderes Schieberegister?

Ja LOGISCH!

Porterweiterung mit SPI

MFG
Falk

Autor: Phillip Hommel (philharmony)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gefunden, dankeschön!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.