Forum: Mikrocontroller und Digitale Elektronik Status eines Input Ports ohne zusätzl. Code mit LEDs anzeigen?


von Reiner B. (reibuehl)


Lesenswert?

Ich würde gerne den Status eines Input Ports (an einem 5V Arduino) ohne 
zusätzlichen Code, nur mit externen Bauteilen anzeigen. Der Arduino 
Input Port ist mit internem Pullup konfiguriert und wird gegen Ground 
geschaltet. Da ich keine weiteren IO Pins mehr habe, würde ich den 
jeweiligen Status des Input Pins gerne über eine zweifarbige LED 
anzeigen. Geht so was nur mit externen Bauteilen ohne das man dabei den 
Input unbewusst auf das eine oder andere Potential zieht?

von georg (Gast)


Lesenswert?

Reiner B. schrieb:
> ist mit internem Pullup konfiguriert und wird gegen Ground
> geschaltet

Da brauchst du für eine einfache Anzeige mit einer LED einen 
zusätzlichen Pullup und eine LED, und die (ubekannte) Ansteuerung muss 
natürlich auch den LED-Strom gegen GND schalten können - sollte kein 
Problem sein, aber was weiss man schon.

Anzeige des anderen Zustands oder zweifarbig wird deutlich 
komplizierter.

Georg

von Reiner B. (reibuehl)


Lesenswert?

Ja, einfaches ein/aus mit einer LED wäre so möglich, ich bräuchte aber 
eine rot/grün Anzeige...

von Thomas E. (picalic)


Lesenswert?

Du könntest die LED über einen FET schalten (ein "kleiner", d.h. 
Kleinsignal-FET reicht dafür), damit wird des Ausgang nicht ungewollt 
beeinflusst, da am Gate des FETs im statischen Betrieb kein Strom 
fließt.

von Harry (Gast)


Lesenswert?

Schliesse an den Pin zwei hintereinander geschaltete Inverter an und 
über dem zweiten (an Ein- und Ausgang) schliesst du eine Duo-LED an, die 
die Farbe durch umpolen ändert oder zwei antiparallel geschaltete LEDs 
rot/grün mit Vorwiderstand an. Der erste Inverter sorgt für einen hohen 
Eingangswiderstand und der zweite schaltet die LEDs um.

von Thomas E. (picalic)


Lesenswert?

Reiner B. schrieb:
> ich bräuchte aber
> eine rot/grün Anzeige...

Ok, dann vielleicht besser ein CMOS Logik-IC (z.B. 74HC04). Der kann am 
Ausgang in beide Richtungen treiben und hat ebenfalls praktisch keinen 
Eingangsstrom. Wenn die Anzeige gleich für mehere Pins sein soll, ist es 
gut, daß der HC04 gleich sechs Inverter im Gehäuse hat.

von Reiner B. (reibuehl)


Lesenswert?

Würde da ein 74HC4049 funktionieren?

von georg (Gast)


Lesenswert?

Harry schrieb:
> oder zwei antiparallel geschaltete LEDs
> rot/grün mit Vorwiderstand an

Jetzt fängt das wieder an, da werden sich gleich die Vertreter der 
LED-ohne-Vorwiderstand-Fraktion auf den Thread stürzen.

Für alle die noch bei Verstand sind: ich würde 2 Vorwiderstände 
vorsehen, damit man die LEDs halbwegs gleich hell einstellen kann, von 
selbst wäre das reiner Zufall.

Georg

von Thomas E. (picalic)


Lesenswert?

georg schrieb:
> Für alle die noch bei Verstand sind: ich würde 2 Vorwiderstände
> vorsehen, damit man die LEDs halbwegs gleich hell einstellen kann,

Das wäre bei einer Duo-LED, die durch Umpolen die Farbe wechselt, aber 
schwierig - oder erfordert zusätzliche Dioden.
Wenn's aber eh einzel-LEDs sind, würde ich die nicht antiparallel 
schalten, sondern ganz klassisch vom Ausgang nach VCC für die eine 
Farbe, und Ausgang nach GND für die andere (natürlich jeweils mit 
Vorwiderstand) - dann braucht man auch nur einen Inverter.

Reiner B. schrieb:
> Würde da ein 74HC4049 funktionieren?

Natürlich - der unterscheidet sich vom HC04 nur durch die Pinbelegung.

: Bearbeitet durch User
von pegel (Gast)


Lesenswert?

Wenn die Signalquelle nicht belastet werden soll, suche nach:

ttl logic probe

Gibt es mit unterschiedlichem Aufwand für verschiedene Pegel.

von Reiner B. (reibuehl)


Lesenswert?

Vielen Dank Euch allen für die schnellen und hilfreichen Antworten. Da 
ich eine Duo LED benutzen möchte, werde ich mir wohl eine Lösung mit 
zwei Invertern und zwei Vorwiderständen überlegen.

von pegel (Gast)


Lesenswert?


von Thomas E. (picalic)


Lesenswert?

pegel schrieb:
> Die einfachste Lösung ist die linke Seite von:
>
> 
http://1.bp.blogspot.com/_fUHpx88tjQA/SrLx6cozZQI/AAAAAAAAAFc/oi3NVxRiW7A/s640/LogicProbe.PNG

Stimmt - so ein HC(T)04 und rot/grün-Anzeige ist wohl zu "einfachst" - 
da muss sich doch etwas komplizierteres finden lassen, bei dem man pro 
überwachten Pin auch ein ganzes IC nutzen kann, nicht bloss 1/6 davon 
(Bruchrechnen ist ja auch unbequem)
... ;)

: Bearbeitet durch User
von pegel (Gast)


Lesenswert?

Wie gesagt: wenn man die Quelle nicht belasten möchte.
Es gibt aber auch einzelne Inverter wie den SN74AHC1G04.

von Thomas E. (picalic)


Lesenswert?

pegel schrieb:
> Wie gesagt: wenn man die Quelle nicht belasten möchte.

Aha - und wie stark wird die Quelle beim vorgeschlagenen 74HC04 oder 
74HC4049 belastet?
Daß er eine Impuls-Detektion haben will, hat Reiner nicht gesagt, also 
wo ist der Vorteil Deiner "einfachsten" Lösung?

von pegel (Gast)


Lesenswert?

Ist doch egal welcher Inverter es ist. Hauptsache er kann die LED 
treiben und der Eingang ist nicht offen.

von c-hater (Gast)


Lesenswert?

Reiner B. schrieb:

> Ich würde gerne den Status eines Input Ports (an einem 5V Arduino) ohne
> zusätzlichen Code, nur mit externen Bauteilen anzeigen. Der Arduino
> Input Port ist mit internem Pullup konfiguriert und wird gegen Ground
> geschaltet. Da ich keine weiteren IO Pins mehr habe, würde ich den
> jeweiligen Status des Input Pins gerne über eine zweifarbige LED
> anzeigen. Geht so was nur mit externen Bauteilen ohne das man dabei den
> Input unbewusst auf das eine oder andere Potential zieht?

Ja, klar. Das Problem ist nur: es ist praktisch unmöglich, dass diese 
externe Anzeige exakt die Schaltschwellen des AVR-Eingangs 
nachempfindet. Es geht also nur eine "näherungsweise" Anzeige in dem 
Sinne, dass sie korrekte Logikpegel nahe GND bzw. nahe VCC voraussetzt. 
D.h.: "wabbelige" Pegel in der Nähe der Umschaltpunkte werden u.U. von 
der Anzeige anders interpretiert werden als vom AVR-Eingang.

Wenn das für die Aufgabe genügt, ist die Sache einfachst umzusetzen. 
Z.B. mit einem 4093. Der enthält 4 NAND-Gatter mit 
Schmitt-Triggereingängen. Eins der Gatter benutzt man zur (nahezu) 
lastlosen Ankopplung an den AVR-Eingangspin, eins als Inverter und die 
beiden verbleibenden als LED-Treiber. In dieser Anwendug darf man dann 
auch ausnahmsweise mal auf Vorwiederstände für die LEDs verzichten, es 
wird also (neben den LEDs selber natürlich) wirklich nur der eine 4093 
gebraucht.

Ergänzend: eigentlich läßt sich die Aufgabe auch schon mit drei der vier 
Gatter eines 4093 lösen, allein durch eine andere Anschaltung der LEDs. 
Das könnte interessant sein, wenn man eventuell für irgendeinen anderen 
Teil der Anwendung auch noch ein externes Gatter gebrauchen könnte. Hier 
wäre dann eine einfache Möglichkeit, eins "freizuschaufeln".

von Thomas E. (picalic)


Lesenswert?

c-hater schrieb:
> Ja, klar. Das Problem ist nur: es ist praktisch unmöglich, dass diese
> externe Anzeige exakt die Schaltschwellen des AVR-Eingangs

Ich glaube, der Reiner will einfch nur sehen, ob da gerade eine "1" oder 
eine "0" anliegt. Von der zuverlässigen Erkennung von "verbotenen" 
Pegeln hat er nichts geschrieben.

von Reiner B. (reibuehl)


Lesenswert?

Thomas E. schrieb:
> Ich glaube, der Reiner will einfch nur sehen, ob da gerade eine "1" oder
> eine "0" anliegt. Von der zuverlässigen Erkennung von "verbotenen"
> Pegeln hat er nichts geschrieben.

Genau! :-) Es geht darum, bei einer Touch Probe für eine CNC Fräse an 
der Touch Probe selbst eine visuelle Rückmeldung zu geben, das 
Verbindung zum Kontroller da ist (grüne LED an, wenn am Sense Pin das 
High vom internen Pullup zu sehen ist) und Masse an der Spindel 
angeschlossen ist (Probe kurz an die Spindel halten, Pin wird auf Masse 
gezogen, LED zeigt rot an).

von Reiner B. (reibuehl)


Lesenswert?

Da das ganze in die Probe eingebaut werden soll, sollte es halt 
möglichst einfach und klein sein und mit den drei Leitungen VCC, GND und 
Sense funktionieren.

von Reiner B. (reibuehl)


Lesenswert?

Thomas E. schrieb:
> pegel schrieb:
>> Die einfachste Lösung ist die linke Seite von:
>>
>>
> 
http://1.bp.blogspot.com/_fUHpx88tjQA/SrLx6cozZQI/AAAAAAAAAFc/oi3NVxRiW7A/s640/LogicProbe.PNG
>
> Stimmt - so ein HC(T)04 und rot/grün-Anzeige ist wohl zu "einfachst" -
> da muss sich doch etwas komplizierteres finden lassen, bei dem man pro
> überwachten Pin auch ein ganzes IC nutzen kann, nicht bloss 1/6 davon
> (Bruchrechnen ist ja auch unbequem)
> ... ;)

Ist die Linke Seite der Schaltung (ein Gatter des 4001 mit gebrückten 
Eingängen = Inverter, 2,2 MOhm Widerstand, LEDs mit Vorwiderständen) 
nicht bis auf den 2,2 MOhm genau das was Du mit dem HC(T)04 und 
rot/grün-Anzeige vorgeschlagen hast?

von Wolfgang (Gast)


Lesenswert?

Reiner B. schrieb:
> Vielen Dank Euch allen für die schnellen und hilfreichen Antworten. Da
> ich eine Duo LED benutzen möchte, werde ich mir wohl eine Lösung mit
> zwei Invertern und zwei Vorwiderständen überlegen.

Es gibt Duo-LEDs mit 2 und mit 3 Anschlüssen. Die mit dreien 
unterscheiden sich in der Ansteuerung nicht von Einzel-LEDs, wenn man 
sich den passenden Typ (CA oder CC) ausgesucht hat.

von c-hater (Gast)


Lesenswert?

Reiner B. schrieb:

> Da das ganze in die Probe eingebaut werden soll, sollte es halt
> möglichst einfach und klein sein und mit den drei Leitungen VCC, GND und
> Sense funktionieren.

Geht mit dem 4093. Bei Einzel-LEDs oder bezüglich des Pinout 
entsprechend geeigneten Duo-LEDs kann ein einziger 4093 sogar gleich 
vier Kanäle handhaben, indem man den die beschriebenen Funktionen in 
einem einzelnen Gatter zusammenzieht.

LED-Vorwiderstände sind, wie schon gesagt, hier über. Auch braucht man 
dank der Schmitt-Trigger-Eingänge des 4093 keinen 
Pullup/Down-Widerstand, um ihn auf einen definierten Pegel zu ziehen. 
Angenehmer Nebeneffekt: ein offener Eingang wird mit einiger 
Wahrscheinlichkeit innert kurzer Zeit durch gleichzeitiges Leuchen 
beider LEDs eines Kanals angezeigt...

von Reiner B. (reibuehl)


Lesenswert?

@c-hater: Ich glaube ich verstehe nicht, wie die 3-4 Gatter des 4093 in 
Deinem Vorschlag mit der Duo LED und dem Eingang verschaltet werden 
sollten, es hört sich aber gut an. Könntest Du mir da mit einem kleinen 
SChaltplan auf die Sprünge helfen?

von c-hater (Gast)


Lesenswert?

Reiner B. schrieb:

> @c-hater: Ich glaube ich verstehe nicht, wie die 3-4 Gatter des 4093 in
> Deinem Vorschlag mit der Duo LED und dem Eingang verschaltet werden
> sollten, es hört sich aber gut an. Könntest Du mir da mit einem kleinen
> SChaltplan auf die Sprünge helfen?

Mein Gott, das ist doch so trivial, dass es nichtmal lohnt, einen 
Schaltplan dafür zu zeichnen.

Wichtig für die Sparvarianten ist nur eins: Entweder muss die Summe der 
Flussspannungen beider LEDs eines Kanals  deutlich unterhalb der 
Betriebsspannung der 4093 liegen oder  man senkt diese halt soweit ab, 
dass das der Fall ist. Das allerdings findet seine Grenze wiederum bei 
der Eingangsbeschaltung, denn die näherungsweise lastlose Ankopplung ist 
nur sichergestellt, solange die Betriebsspannung des 4093 oberhalb 
VCC-0.7V des AVR bleibt.

Der Dreh-und Angelpunkt sind also die Eigenschaften der LEDs. Wer clever 
ist, wählt einfach geeignete aus. Blau und Rot dürfte i.A. sehr gut 
passen, wenn Vcc=5.0V ist. Dann kann man auch den 4093 einfach aus VCC 
speisen.

von Reiner B. (reibuehl)


Lesenswert?


von c-hater (Gast)


Lesenswert?

c-hater schrieb:

> Wichtig für die Sparvarianten ist nur eins: Entweder muss die Summe der
> Flussspannungen beider LEDs eines Kanals  deutlich unterhalb der

Das war natürlich Blödsinn, das sollte eigentlich "oberhalb" heißen.

von Thomas E. (picalic)


Lesenswert?

c-hater schrieb:
> Mein Gott, das ist doch so trivial, dass es nichtmal lohnt, einen
> Schaltplan dafür zu zeichnen.

Tja, dann mal' doch mal den trivialen Schaltplan für die Duo-LEDs, die 
Reiner ins Auge gefasst hat... ;)

von c-hater (Gast)


Lesenswert?

Thomas E. schrieb:

> Tja, dann mal' doch mal den trivialen Schaltplan für die Duo-LEDs, die
> Reiner ins Auge gefasst hat... ;)

Entweder sind sie geeignet (was wohl nicht der Fall ist, ich war zu faul 
nachzuschauen) oder sie sind es nicht.

Wenn sie es nicht sind, ist dein Posting für ihn schon ein wenig 
hilfreich: er braucht die Dinger dann ganz sicher nicht zu kaufen.

Schöner wäre aber (und das ist mein Ziel): ihm beizubringen, selber 
herauszufinden, was er gebrauchen kann. Das muß (und kann er nur) 
lernen, indem er die Funktion kapiert.

Nun, es könnte sein, dass er derartiges Wissen garnicht haben will. Das 
genau ist dann aber der Punkt, an dem ich sage: diese Art von Faulheit 
unterstütze ich nicht. Soll er doch sehen, wie er klarkommt, wenn er 
schon zu faul ist, auch nur solche trivialen Zusamenhänge zu lernen.

von Thomas E. (picalic)


Lesenswert?

Reiner B. schrieb:
> Ist die Linke Seite der Schaltung (ein Gatter des 4001 mit gebrückten
> Eingängen = Inverter, 2,2 MOhm Widerstand, LEDs mit Vorwiderständen)
> nicht bis auf den 2,2 MOhm genau das was Du mit dem HC(T)04 und
> rot/grün-Anzeige vorgeschlagen hast?

Ich muss zugeben, daß ich die Worte "die linke Seite" im Post mit dem 
Link von Pegel überlesen hatte und dachte, er will, daß Du die ganze 
Schaltung so übernimmst. Daher meine etwas hämische Antwort - sorry!

Der 2,2 MOhm Widerstand als Gegenkopplung macht aus dem Gatter praktisch 
eine Art analog-Verstärker. Wenn nichts am Eingang angeschlossen ist, 
wird sich der Ausgang wohl irgendwo bei 2,5V einstellen, und keine der 
LEDs wird leuchten. Mit dem Spannungsteiler (die beiden 1k-Widerstände) 
wird die eine Seite der LED praktisch über 500 Ohm an 2,5V angeschossen. 
Das ist allein schon von der Spannung her ein wenig knapp, um die LEDs 
ordentlich zum Leuchten zu bringen. Ich bin auch nicht davon überzeugt, 
durch Verwendung eines schwachbrüstigen CDxxxx-Bausteins die 
Vorwiderstände einzusparen. So teuer sind Widerstände nicht, und man hat 
damit immerhin die Möglichkeit, die LED-Helligkeit auf den Wert 
einzustellen, den man haben will, und nicht den, der durch 
Bauteiletoleranzen und Temperatur-Charakteristik durch die 
RDSon-Widerstände der Ausgangstreiber auf dem Chip vorgegeben ist.

Also, wenn Du genug Platz dafür hast, nimm einen 74HCxxxx-Baustein und 
"richtige" LED-Vorwidertsände. Zwei der 6 Inverter reichen (unbenutzte 
Eingänge bitte an GND oder VCC schalten). Wenn's enger zugeht, tun es 
vielleicht auch passende Single- oder Dual-Gate Bausteine, die gibt es 
meines Wissens nach aber nur in SMD - also klein, wie gewünscht?

von Reiner B. (reibuehl)


Lesenswert?

Ja, das hört sich am praktikabelsten an. Ich würde wohl für die Inverter 
eh SMD Versionen nehmen, da kann ich mal schauen, ob ich eine Variante 
mit nur zwei Invertern finde, die von der Größe her noch von Hand lötbar 
ist und die man als Bastler bei den üblichen Verdächtigen bekommt. 
Ansonsten vielleicht ein SMD 74HC04 im SO-14 Gehäuse.

von Thomas E. (picalic)


Angehängte Dateien:

Lesenswert?

Klein und ohne SMD ginge vielleicht auch so:
(oder noch kleiner mit passenden SMD-Transistoren)

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.