// ========================================== // EINSTELLUNGEN (Hier kannst du Werte ändern) // ========================================== //Sketch uses 930 bytes (3%) of program storage space. Maximum is 30720 bytes. //Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes. const int POTI_PIN = A0; // Hier steckt der Schleifer vom Poti drin // sobald der PIN A0 (vierter von rechts oben gesehen) mit VCC oder 3,3V PIN verbunden wird, leuchtet LED // Bei Verbindung mit GND (zweiterr von links oben) erlischt LED // there should connected a pull down resistor otherwise some flickering if pin is open // zur Vermeidung von Flackern bei völlig offenem Kontakt solte ein Widerstand nach GND geschaltet werden // const int RELAIS_PIN = 2; // Hier steuerst du dein Relais / Ausgang an // instead of Relais there was used the inbuilt LED (LED_INBUILT) // habe statt des Relais die Einbauled genommen // Schwellenwerte für das Poti (Bereich geht von 0 bis 1023) // 512 entspricht genau der Mitte (ca. 12 Uhr Stellung / 2,5V) const int EINSCHALT_WERT = 530; // Schaltet erst ein, wenn leicht über Mitte gedreht wird const int AUSSCHALT_WERT = 490; // Schaltet erst aus, wenn wieder leicht unter Mitte gedreht wird // ========================================== // START-ROUTINE (Läuft nur 1x beim Einschalten) // ========================================== void setup() { pinMode(LED_BUILTIN, OUTPUT); // Definiert den Ausgang für das Relais digitalWrite(LED_BUILTIN, LOW); // Sicherstellen, dass das Relais anfangs AUS ist } // ========================================== // HAUPTSCHLEIFE (Läuft endlos im Kreis) // ========================================== void loop() { // 1. Poti-Wert einlesen (Ergebnis ist eine Zahl zwischen 0 und 1023) int potiWert = analogRead(POTI_PIN); // 2. Logik prüfen mit Hysterese (Puffer gegen Flattern) if (potiWert > EINSCHALT_WERT) { digitalWrite(LED_BUILTIN, HIGH); // Schaltet den Ausgang sauber EIN } else if (potiWert < AUSSCHALT_WERT) { digitalWrite(LED_BUILTIN, LOW); // Schaltet den Ausgang sauber AUS } // Liegt der Wert dazwischen (z.B. bei 500), bleibt einfach der aktuelle Zustand erhalten! // Kurze Pause, um den Prozessor nicht im Mikrosekunden-Takt zu stressen delay(50); }