Ich möchte einen Endschalter (INPUT_PULLUP) auswerten & diesen via Software ggf invertieren
hierzu hab ich ne Variable angelegt
#define invert_end_switch true // true or false
jetzt hab ich gerade nen blackout wie ich das ganze auswerte und ggf invertiere...
Wenn "invert_end_switch == true" dann soll "HIGH" = "LOW" sein & "LOW" = "HIGH".
Wenn "invert_end_switch == false" dann soll "HIGH" = "HIGH" sein & "LOW" = "LOW"
Ich komm jetzt nur nicht darauf wie ich das im Code umsetzen sollte...
So (allerdings mit const boolean) definiere ich den Soll-Zustand des Pin bei gewünschtem aktivem Relais.
Damit ich nur den AKTIV-Zustand angeben brauch (und sich der AUS-Zustand eh davon unterscheidet und der User Da durchaus was falsch machen kann), wird der gegen-Part per NOT eingestellt.
const boolean relaisAN=LOW; //User-Eingabe
const boolean relaisAUS=!relaisAN;
Die Relais-Platinen (Klappertechnik und 2A-SSR) sind bei mir Beide Low-Aktiv.
Die Einzel-SSR (Bezeichnung 25DA,DC anzusteuern, AC schaltend, 25A maximaler Strom) akut HIGH-Aktiv.
(beim nächsten Entwurf werden hier ebenfalls die PLUS auf Vdd gelegt und die MINUS der Ansteuerung geschaltet - dann ist's Alles gleich und man muß nicht immer überlegen ...)
So kann ich aber, egal was ich verwende und wie Das intern tickt, eine Zeile im Sketch ändern und die Logik an den Pins dreht sich um.
Hätte das digitalRead nur 1x verbaut und dann nur den Zustand umgedreht.
Denke, das digitalRead wird wesentlich mehr Platz brauchen, als ein pin=!pin.
Ungetestet
Hätte das digitalRead nur 1x verbaut und dann nur den Zustand umgedreht.
Denke, das digitalRead wird wesentlich mehr Platz brauchen, als ein pin=!pin.
Ungetestet
MfG
Hallo,
up´s da hast Du allerdings recht, das wäre´s gewesen