Forum: Mikrocontroller und Digitale Elektronik ATmega-pin als Ein- und Ausgang verwenden


von Andi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

bräuchte hier mal euren Rat zu der Schaltung im Anhang. Ich möchte um 
Pins zu "sparen" mit dem Selben Pin am Microcontroller erst prüfen ob 
der Dip-Schalter umgelegt ist und diesen Pin dann auch nutzen um ein 
Signal auszugeben (Switch anzusteuern).

Funktioniert das so mit dieser Schaltung?

laut meinem Verständnis würde die Schaltung dann so arbeiten:

Schalter aus: mega8pin: 1 durch R1 pullup und SWITCH: 0 durch R2 
pulldown

Schalter an: mega8pin und SWITCH: 0 durch pulldown R2, da R2<R1

ausserdem kann ich wenn der Schalter an ist dann mit dem mega8pin den 
Switch auf 1 schalten.

Funktioniert das so oder gibts ne bessere Lösung?

Danke,

Andi

von AVRFan (Gast)


Lesenswert?

>Funktioniert das so oder gibts ne bessere Lösung?

Es funktioniert unter der Einschränkung, dass der Controller keinen 
Einfluss auf den Switch nehmen kann (der µC kann den Switch weder ein- 
noch ausschalten), solange der Schalter offen ist.

Ich denke nicht, dass es eine bessere Lösung gibt, weil Deine ja ohnehin 
nur zwei Widerstände benötigt.

von AVRFan (Gast)


Lesenswert?

Noch vergessen: Während der Zeitspanne, in dem der µC den 
Schalterzustand abfragt, liegt am Eingang des Switches in jedem Fall 
"L"-Pegel an.  Läßt Du den µC den Schalter zyklisch abfragen (z. B. alle 
10 ms), dann liegt am Switch folglich dieses Muster an:

...HHHHHHHHHHHHHLHHHHHHHHHHHHHHHHHLHHHHHHHHHHHHHHHHHLHHHHHHHH...
                |<---- 10 ms ---->|<---- 10 ms ---->|

In diesem Fall musst Du sicherstellen, dass die kurzen L-Unterbrechungen 
auf den Switch keine unerwünschte Wirkung haben können.

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


Lesenswert?

Der AVR hat interne PullUps. Das spart noch den einen externen ein. Wenn 
der S1 mit 4k7 an Masse gelegt wird, gibt es sichere Low-Pegel. Ist S1 
offen, zieht der interne PullUp nach High. Soll der Pin eine Ausgabe 
machen, einfach das DDRx auf "1" setzen. Den Strom über den S1 und den 
PullDown kann der Pin allemal liefern.

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.