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
>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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.