Arduino 2-Step Programmable Timer Circuit

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





V tomto článku se naučíme, jak vytvořit jednoduchý dvoustupňový programovatelný časový obvod Arduino, který lze použít k zapnutí / vypnutí elektrické zátěže s nezávisle nastavitelným časováním zapnutí a vypnutí.

Například pokud chcete, aby světlo zůstalo ZAPNUTO po dobu 24 hodin a VYPNUTO po dobu 2 hodin, můžete to jednoduše provést rychlou úpravou kódu programu. Stejným způsobem můžete přizpůsobit výstupní časování jakékoli jiné požadované sadě časových intervalů odpovídající změnou kódu.



Prostě musíte sestavit a nahrát následující kód na vaši desku Arduino a spusťte funkci časovače podle vašich konkrétních potřeb aplikace.

Programový kód

void setup(){ pinMode(13, OUTPUT) } void loop(){ digitalWrite(13, HIGH) delay(86400000) digitalWrite(13, LOW) delay(3600000) }

Ve výše uvedeném příkladu kódujte řádky zpoždění (86400000) a zpoždění (3600000) určit časové intervaly zpoždění výstupu a vypnutí v milisekundách. Tady, obrázek 86400000 milisekund odpovídá 24 hodinám 3 600 000 vykazuje 1hodinové zpoždění.



Tyto dvě hodnoty můžete upravit podle svých osobních preferencí, abyste získali požadovaná zpoždění výstupu.

Po nastavení a napájení bude Arduino pokračovat v přepínání mezi dvoustupňovou časovací sekvencí ON / OFF. pokud do systému přetrvává napájení.

Kruhový diagram

Kompletní schéma zapojení spolu s připojením Arduino můžete vidět na následujícím schématu:

Okruh jednorázového časovače Arduino

Pokud nechcete, aby časovač procházel dvoustupňovým časovačem, místo toho chcete, aby byl časovač jednorázový, který se po nastaveném zpoždění trvale vypne, můžete použít následující kód:

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 } }

Pokud chcete diskrétně navrženou verzi identického programovatelného časového obvodu, můžete rozhodnout se pro tento obvod

Díly potřebné pro programovatelný časovač Arduino

  • Arduino UNO Board = 1
  • IC 7809 = 1
  • BC547 = 1
  • Dioda 1N4007 = 1
  • 10k 1/4 w rezistor = 1
  • Relé 12V / 400 ohm / SPDT / 5 amp = 1
  • Adaptér 12V AC na DC = 1



Předchozí: Jednoduchý digitální časovač s 2místným displejem Další: Obvod digitálního teploměru - využívá k napájení solární článek