Forum: Mikrocontroller und Digitale Elektronik Zustand am Ausgangspin abfragen (Hochohmig oder Verbraucher)


von Peter L. (Gast)


Lesenswert?

Hallo zusammen,

ich weiss nicht wie ich das, was ich möchte, beschreiben kann.

Ich versuche es mal:
Ich habe einen Ausgangspin (beliebig) eines Atmega8 mit einer LED und 
einem Taster

AUSGANGSPIN------TASTER-----WIDERSTAND-----LED-----GROUND

Aus Schaltungsgründen, muss der Pin am Atmega als Ausgang gesetzt sein. 
Gibt es dennoch eine Möglichkeit abzufragen, ob der besagte Taster 
gedrückt ist? sozusagen den Status des Ausgangs abfragen --> Hochohmig 
oder Niederohmig (Fließt Strom oder fließt kein Strom)?

Vielen Dank

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter L. schrieb:
> AUSGANGSPIN------TASTER-----WIDERSTAND-----LED-----GROUND
Kuriose Schaltung. Wie kommt man auf sowas?

> AUSGANGSPIN------TASTER-----WIDERSTAND-----LED-----GROUND
Werte?                           ?            ?

> Aus Schaltungsgründen, muss der Pin am Atmega als Ausgang gesetzt sein.
Warum?
Dauernd?
Oder darfst du für 10us auch mal auf Eingang mit Pullup umschalten?

von Hugo (Gast)


Lesenswert?

Einfach einen weiteren Pin als Input zusätzlich anschließen. Voila.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Hugo schrieb:
> Einfach einen weiteren Pin als Input zusätzlich anschließen. Voila.
Kann gut sein, dass das nicht reicht. Hängt eben von den fraglichen 
Werten (Widerstand+LED) ab. Mal angenommen, die LED hat UF = 3,7V. Dann 
zieht keiner den Pegel aktiv auf 0 herunter. Der Rest ist Hoffen und 
Raten....

@ Peter L.
Kannst du diese stumpfe Schaltung noch ändern?
Was soll damit erreicht werden?

Peter L. schrieb:
> Gibt es dennoch eine Möglichkeit abzufragen, ob der besagte Taster
> gedrückt ist? sozusagen den Status des Ausgangs abfragen --> Hochohmig
> oder Niederohmig (Fließt Strom oder fließt kein Strom)?
Das ist nicht unbedingt das Gleiche! Denn der Taster kann ja auch 
gedrückt sein, wenn der Ausgang low ist. Dann fließt trotz gedrücktem 
Taster kein Strom...   :-o

von Jakob B. (teddynator)


Lesenswert?

Lothar Miller schrieb:
> Hugo schrieb:
>
>> Einfach einen weiteren Pin als Input zusätzlich anschließen. Voila.
>
> Kann gut sein, dass das nicht reicht. Hängt eben von den fraglichen
>
> Werten (Widerstand+LED) ab. Mal angenommen, die LED hat UF = 3,7V. Dann
>
> zieht keiner den Pegel aktiv auf 0 herunter. Der Rest ist Hoffen und
>
> Raten....

Man könnte einen ADC Pin verwenden und den Analogwert auswerten.

von Christian R. (cris06)


Lesenswert?

Seh auch nur die 2 Möglichkeiten:

1. Kurz auf Eingang schalten (nur 1ms oder so)

2. Zweiter Pin (Eingang) der nach dem Taster angeschlossen wird

von Peter L. (Gast)


Lesenswert?

Okay... Hmm...Danke schonmal

Das ist nur ein Testaufbau, weil meine Matrixtastatur noch nicht da ist.

Da schließe ich doch auch insgesamt nur 7 Pins an? Woher weiss ich dann 
exakt welcher Taster gedrückt ist?

Ich muss doch dann Abfragen, welcher Ausgang gerade einen Verbraucher 
hat?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter L. schrieb:
> Das ist nur ein Testaufbau, weil meine Matrixtastatur noch nicht da ist.
Salamitaktik.

> Da schließe ich doch auch insgesamt nur 7 Pins an? Woher weiss ich dann
> exakt welcher Taster gedrückt ist?
Und wie kommt eine LED in eine Matrixtatatur?

> Ich muss doch dann Abfragen, welcher Ausgang gerade einen Verbraucher
> hat?
WAS WILLST DU MACHEN?
Lies mal deine Posts, so wie wenn du von deinem eigentlichen Problem 
nichts wüsstest. Verstehst du, was du meinst? Nein? So gehts es uns 
auch...

von Peter L. (Gast)


Lesenswert?

Sorry...

Also ich möchte eine Matrixstatatur an einen Atmega8 anschließen und das 
Betätigen der Taster auslesen. Dazu verwende ich einen Port des Atmega8 
PC.

Eine LED sollte nur im Testaufbau bestehen. Diese wird später nicht 
verwendet. Es geht nur um die Matrixtastatur.

Und nun geht es um die Einstellungen im C-Programm, um das Auslesen, 
welcher Taster betätigt wurde, zu realisieren.

Ist mein Vorhaben jetzt besser beschrieben? oder habe ich irgendwelche 
Infos vergessen

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter L. schrieb:
> Ist mein Vorhaben jetzt besser beschrieben?
Nein, du hast es jetzt überhaupt einmal richtig beschrieben. Denn bei 
einer Matrixtastatur gibt es keine Widerstände und keine LEDs...

> Und nun geht es um die Einstellungen im C-Programm, um das Auslesen,
> welcher Taster betätigt wurde, zu realisieren.
Und da hast du Glück, dass du etwa der 32465te bist, der sowas machen 
will. Also nimmst du einfach mal die Forumssuche her und legst los:
http://www.mikrocontroller.net/search?query=matrixtastatur&forums[]=1&forums[]=4
Da ist deine Frage sicher schon beantwortet.

von Peter D. (peda)


Lesenswert?

Peter L. schrieb:
> weil meine Matrixtastatur noch nicht da ist.
>
> Da schließe ich doch auch insgesamt nur 7 Pins an?

Also ne 3*4 Matrix. Warum sagste das denn nicht gleich?

Auf sowas kommt man nie im Leben, wenn man Dein Topic und das erste 
Posting liest. Das ist die totale Irreführung.

Erstmal ein langes Gäääähn, weil das ist ja erst die einmillionste Frage 
dazu.
Dann Tante Google gefragt:

Beitrag "Re: Matrix-Tastatur Abfrage in C"


Peter

von bitte löschen (Gast)


Lesenswert?


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.