Forum: Mikrocontroller und Digitale Elektronik 2 LEDs mit nur 1 PIN ein-, ausschalten


von xfred343 (Gast)


Lesenswert?

Hallo, muss gerade eine Sprechanlage mit dem Atmega verbinden, hab nur 
begrenzte Anzahl an Leitungen - daher meine Idee: kann ich mit nur einem 
PIN vom Atmega eine rote und grüne LED steuern, meine Idee:

Die LEDS liegen gegen plus (rote) bzw. minus (grüne LED) und jweils mit 
Vorwiderstand an dem PIN

PIN als Input definieren: keine LED leuchtet (hoffentlich)
PIN als Output definieren, mit 0: rote LED leuchtet
PIN als Output definieren, mit 1: grüne LED leuchtet

kann das so funktionieren?

von Jens (Gast)


Lesenswert?

xfred343 schrieb:
> PIN als Input definieren: keine LED leuchtet (hoffentlich)

Zeichne mal den Stromlaufplan für die LEDs. Da wirst du schnell sehen, 
dass in dem Fall beide LEDs leuchten. Eventuell könnte es gehen, wenn 
die Betriebsspannung kleiner ist als die Flussspannung der beiden LEDs 
zusammen. Ggf. mit einer zusätzlich Diode die Flussspannung etwas 
erhöhen.

von Helfer (Gast)


Lesenswert?

Du mußt dem Strom jetzt nur noch sagen, dass er nicht direkt von "+" 
über die rote LED, die beiden Vorwiderstände und die grüne LED nach "-" 
fließen darf. ;-)

von (prx) A. K. (prx)


Lesenswert?

Kommt auf die Versorgungsspannung an.
Bei Vcc=5V und Vled=2,2V leuchten ohne Pin beide.

Was indes geht: analogen Inverter dran, Pin mittelohmig auf Vcc/2 legen 
und beide LEDs antiparallel zwischen dessen Ausgang und Pin. Bei Pin als 
Input liegen Pin wie Inverter auf ungefähr Vcc/2 und nix leuchtet. 
Andersfalls liegen knapp Vcc zwischen Inverter und Pin und eine der 
beiden leuchtet.

Den analogen Inverter kriegst du beispielsweise mit 74HCU04 und 100K 
zwischen Ausgang und Eingang.

von xfred343 (Gast)


Lesenswert?

Hi,

ja - war wohl ein kleiner Denkfehler,
hab jetzt noch (verzweifelt) versucht, das Ganze mit Dioden zu 
entkoppeln, antiparallel am PIN geschaltet - wird aber auch nichts.

Bleibt wohl nichts über als über 2 Schalttransistoren am PIN die beiden 
Dioden zu steuern.

von (prx) A. K. (prx)


Lesenswert?

xfred343 schrieb:

> ja - war wohl ein kleiner Denkfehler,

Nicht ganz. Du musst nur dafür sorgen, dass die Summe der Spannungen 
weit grösser ist als Vcc. 2 normale Dioden in Serie könnten bereits 
ausreichen - bischen Strom wird trotzdem fliessen, aber hoffentlich zu 
wenig um zu stören. Notfalls 3 Dioden, aber dann wirds leider etwas 
asymmetrisch.

von eProfi (Gast)


Lesenswert?

Doch, das geht schon, Du musst mit den Dioden in Reihe zu den LEDs deren 
Flussspannung künstlich erhöhen, damit nicht beide leuchten, wenn der 
Pin auf Input steht.

Vcc----D----D----LED----R----Pin----R----LED----D----D----Gnd

oder sogar nur mit einem R:

Vcc----D----D----LED------LED----D----D----Gnd
                       |
                       R
                       |
                      Pin

Die Anzahl der Dioden evtl. variieren, je nach Vcc und Uf.
Bei 3,3V brauchst Du evtl. gar keine.

Was der analoge Inverter bringen soll??

von Harald Wilhelms (Gast)


Lesenswert?

xfred343 schrieb:
> Hallo, muss gerade eine Sprechanlage mit dem Atmega verbinden, hab nur
> begrenzte Anzahl an Leitungen - daher meine Idee: kann ich mit nur einem
> PIN vom Atmega eine rote und grüne LED steuern, meine Idee:
>
> Die LEDS liegen gegen plus (rote) bzw. minus (grüne LED) und jweils mit
> Vorwiderstand an dem PIN
>
> PIN als Input definieren: keine LED leuchtet (hoffentlich)
> PIN als Output definieren, mit 0: rote LED leuchtet
> PIN als Output definieren, mit 1: grüne LED leuchtet

Also ein Tri-State Ausgang. Wenn du die beiden LEDs antiparallel
schaltest und den einen Pol dieser Schaltung auf die halbe
Betriebsspannung legst, müsste das eigentlich funktionieren.
Gruss
Harald

von (prx) A. K. (prx)


Lesenswert?

eProfi schrieb:

> Was der analoge Inverter bringen soll??

Funktionieren wirds schon, ist aber komplexer als die Variante mit dem 
Dioden-Tuning. Dafür ist er weniger abhängig vom genauen Wert von Vcc.

von xfred343 (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ja der Ansatz mit der Durchbruchspannung löst das Ganze wh.,
hab jetzt mit Zenerdioden mir das überlegt, feiner "abstimmbar" wirds 
wh. mit in Serie geschalteten 1N4148-Dioden.

von (prx) A. K. (prx)


Lesenswert?

Harald Wilhelms schrieb:

> Also ein Tri-State Ausgang. Wenn du die beiden LEDs antiparallel
> schaltest und den einen Pol dieser Schaltung auf die halbe
> Betriebsspannung legst, müsste das eigentlich funktionieren.

Gibt knappe Dimensionierung. Vcc/2 ist im Idealfall 2,5V, die Dioden 
brauchen wohl so ca. 2,2V und bei ein paar mA geht auch bischen was im 
Pintreiber drauf. LED-Strom ist daher stark vom exakten Wert von Vcc 
abhängig, und bei verschiedenen LEDs muss man evtl. den Vcc/2-Wert tunen 
um einigermassen gleiches Leuchtverhalten zu kriegen.

von (prx) A. K. (prx)


Lesenswert?

A. K. schrieb:

> Pin mittelohmig auf Vcc/2 legen

PS: Dieser Teil ist überflüssig. Das macht der 74HCU04 schon selber.

von Harald Wilhelms (Gast)


Lesenswert?

A. K. schrieb:
> Harald Wilhelms schrieb:
>
>> Also ein Tri-State Ausgang. Wenn du die beiden LEDs antiparallel
>> schaltest und den einen Pol dieser Schaltung auf die halbe
>> Betriebsspannung legst, müsste das eigentlich funktionieren.
>
> Gibt knappe Dimensionierung. Vcc/2 ist im Idealfall 2,5V, die Dioden
> brauchen wohl so ca. 2,2V und bei ein paar mA geht auch bischen was im
> Pintreiber drauf. LED-Strom ist daher stark vom exakten Wert von Vcc
> abhängig, und bei verschiedenen LEDs muss man evtl. den Vcc/2-Wert tunen
> um einigermassen gleiches Leuchtverhalten zu kriegen.

Wird knapp, müsste aber gerade so gehen. Speziell, wenn man
eine gelbe statt der grünen LED nimmt. Dies wäre vielleicht
sogar eine der wenigen Fälle, wo man auf einen Vorwiderstand
verzichten könnte.
Gruss
Harald

von Markus (Gast)


Lesenswert?

Warum nicht einen ATTiny o. ä. nehmen, der über die 1-Pin Verbindung 
einen Befehl entgegen nimmt (rote LED an/aus, grüne LED an/aus, blinken 
und usw. usf. etc. pp.)? hat nur Vorteile und ist leicht erweiterbar.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Man könnte die LEDs auch in Schwingkreise verbauen und einfach die 
passende Frequenz mit dem einen Portpin ausgeben...

von Martin (Gast)


Lesenswert?


von Wilhelm F. (Gast)


Lesenswert?

Den Pin mit Hilfe der Software (Timer, Interrupt) multiplexen (Input 
oder Output umschalten, und Level GND und VCC), Tastverhältnisse, sollte 
gehen. Auch um beide Dioden "quasi" gleichzeitig einzuschalten.

Wenn man beide LED mit Vorwiderständen und Standard-Dioden in Reihe 
zwischen VCC und GND schaltet, so daß sie nicht leuchten, im Mittelpunkt 
den Pin, was so abgestimmt wird, daß sie auch bei Sahara-Temperaturen 
noch nicht von selbst leuchten sollen, können sogar 4 Schaltzustände 
erreicht werden: Diode 1 an, Diode 2 an, beide Dioden aus, beide Dioden 
an.

Mit einem µC, der an den Pins und VCC nur 3,3V hat anstatt 5V, sollte 
das besonders leicht gehen.

von Johannes O. (jojo_2)


Lesenswert?

Martin schrieb:
> Alles Quatsch.
>
> http://www.neufeld.newton.ks.us/electronics/?p=151

Aber auch nicht so optimal, da immer VCC/(2*R) an Strom fließt.

von Sesk K. (zeborok)


Lesenswert?

HC595 heißt die Lösung für solche Probleme ;) Okay, du bräuchtest eigtl. 
3 Leitungen. Wenns nur LEDs sind und du einen hohen SPI-Takt schaffst 
evtl. auch nur 2...

von Falk B. (falk)


Lesenswert?

Die Lösung wurde doch schon genannt. LEDs in Reihe von VCC nach GND 
schalten, bei Bedarf einfache 1N4148 dazu um in Summe auf ein 
Flußspannung von VCC+1V zu kommen. In der Mitte dann ein Widerstand an 
den IO-Port. Damit kann man auf HIGH/LOW ziehen sowie Tristate. Fettig. 
Und es fliesst auch kein nennenswerter Strom wenn alles aus ist.

von Daniel (Gast)


Lesenswert?

Is noch viel einfacher. Nicht an GND und 5V+ Anlegen sondern dafür nen 
Pin benutzen und den Uf High oder Low schalten ;) Also quasi im Wechsel. 
Wenn du dann deinen Pin für den Ausgang auf Input schaltest passiert nix 
mehr.

von Tim  . (cpldcpu)


Lesenswert?

Martin schrieb:
> Alles Quatsch.
>
> http://www.neufeld.newton.ks.us/electronics/?p=151

Das ist eine gute Idee. Nur blöd, dass immer ein Querstrom von 
mindestens Iled/2 fliesst. Prinzipiell könnte man das gleiche Prinzip 
aber auch mit einem Linearregler bei Vcc/2 anwenden? Es gibt Typen, die 
auch als Stromsenke arbeiten.

http://www.ti.com/lit/ds/symlink/reg1118.pdf

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Nach 2 Jahren...

von Tim  . (cpldcpu)


Lesenswert?

A. K. schrieb:
> Nach 2 Jahren...

arg... :)

von Martin K. (maart)


Lesenswert?

Nur zum Datumtesten.

Ok, klappt nicht.

: Bearbeitet durch User
von Pete K. (pete77)


Lesenswert?

1 Pin? Da gab es doch was von Maxim:
DS2408: 1-Wire 8-Channel Addressable Switch

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.