In diesem Artikel erfahren Sie, wie Sie eine einfache 2-stufige programmierbare Arduino-Zeitschaltuhr erstellen, mit der eine elektrische Last mit unabhängig einstellbaren EIN- und AUS-Zeiten ein- und ausgeschaltet werden kann.
Wenn Sie beispielsweise möchten, dass ein Licht 24 Stunden lang EIN und 2 Stunden lang AUS bleibt, können Sie dies einfach durch eine schnelle Änderung des Programmcodes tun. Auf die gleiche Weise können Sie die Ausgabezeiten an jeden anderen gewünschten Satz von Zeitintervallen anpassen, indem Sie den Code entsprechend ändern.
Du musst nur kompilieren und hochladen Geben Sie den folgenden Code auf Ihr Arduino-Board ein und starten Sie die Timer-Funktion gemäß Ihren spezifischen Anwendungsanforderungen.
Programmcode
void setup(){ pinMode(13, OUTPUT) } void loop(){ digitalWrite(13, HIGH) delay(86400000) digitalWrite(13, LOW) delay(3600000) }
Im obigen Beispiel codieren Sie die Zeilen Verzögerung (86400000) und Verzögerung (3600000) Bestimmen Sie die Zeitintervalle für die EIN- und AUS-Verzögerung des Ausgangs in Millisekunden. Hier die Figur 86400000 Millisekunden entsprechen 24 Stunden, während 3.600.000 zeigt 1 Stunde Verspätung.
Sie können diese beiden Werte nach Ihren persönlichen Wünschen anpassen, um die erforderlichen Ausgabeverzögerungen zu erhalten.
Nach dem Einrichten und Einschalten schaltet der Arduino weiter zwischen der zweistufigen EIN / AUS-Zeitfolge um. solange das System mit Strom versorgt wird.
Schaltplan
Das vollständige Schaltbild zusammen mit den Arduino-Verbindungen ist im folgenden Diagramm zu sehen:
Arduino One-Shot-Timer-Schaltung
Wenn Sie nicht möchten, dass der Timer den zweistufigen Timer durchläuft, sondern dass der Timer ein One-Shot-Typ ist, der nach der eingestellten Verzögerung dauerhaft ausgeschaltet wird, können Sie den folgenden Code anwenden:
int led = 13 // Pin 13 has an LED connected on most Arduino boards. unsigned long DELAY_TIME = 10000 // 10 sec unsigned long delayStart = 0 // the time the delay started bool delayRunning = false // true if still waiting for delay to finish void setup() { pinMode(led, OUTPUT) // initialize the digital pin as an output. digitalWrite(led, HIGH) // turn led on // start delay delayStart = millis() delayRunning = true } void loop() { // check if delay has timed out if (delayRunning && ((millis() - delayStart) >= DELAY_TIME)) { delayRunning = false // finished delay -- single shot, once only digitalWrite(led, LOW) // turn led off } }
Wenn Sie eine diskret gestaltete Version einer identischen programmierbaren Zeitschaltung wünschen, können Sie dies tun Entscheide dich für diese Schaltung
Erforderliche Teile für die programmierbare Arduino-Timer-Schaltung
- Arduino UNO Board = 1
- IC 7809 = 1
- BC547 = 1
- 1N4007 Diode = 1
- 10k 1/4 w Widerstand = 1
- Relais 12V / 400 Ohm / SPDT / 5 Ampere = 1
- 12V AC / DC Adapter = 1
Zurück: Einfache digitale Timer-Schaltung mit 2-stelliger Anzeige Weiter: Digitale Thermometerschaltung - Verwendet eine Solarzelle zur Stromversorgung