Arduino dvostopenjski programirljivi časovni krog

Preizkusite Naš Instrument Za Odpravo Težav





V tem članku se naučimo, kako narediti preprost dvostopenjski programirljivi tokokrog Arduino, ki ga lahko uporabimo za vklop / izklop električne obremenitve z neodvisno nastavljivimi časi vklopa in izklopa.

Na primer, če želite, da lučka sveti 24 ur in ugasne 2 uri, lahko to preprosto storite s hitro spremembo programske kode. Na enak način lahko prilagodite izhodne čase na kateri koli drug želeni nabor časovnih intervalov, tako da ustrezno spremenite kodo.



Preprosto moraš zbrati in naložiti naslednjo kodo na vašo ploščo Arduino in zaženite funkcijo časovnika glede na vaše posebne potrebe aplikacije.

Programska koda

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

V zgornjem primeru kodirajte vrstice zamuda (86400000) in zamuda (3600000) določite časovne intervale zakasnitve izhoda ON in OFF v milisekundah. Tukaj, slika 86400000 milisekund ustreza 24 uram, medtem ko 3.600.000 razstavlja 1 uro zamude.



Ti dve vrednosti lahko prilagodite svojim osebnim željam, da dobite zahtevane zamude pri izhodu.

Po nastavitvi in ​​vklopu bo Arduino še naprej preklapljal med dvostopenjskim časovnim zaporedjem vklopa / izklopa. dokler sistem še vedno napaja moč.

Shema vezja

Popoln diagram vezja skupaj s povezavami Arduino je razviden iz naslednjega diagrama:

Arduino vezje z enim posnetkom

Če ne želite, da časovnik kroži skozi dvostopenjski časovnik, temveč želite, da je časovnik enokraten, ki se bo po nastavljeni zakasnitvi trajno IZKLOPIL, lahko uporabite naslednjo kodo:

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

Če želite diskretno zasnovano različico enakega programabilnega vezja časovnika, lahko odločite se za to vezje

Deli, potrebni za programirljivo vezje Arduino

  • Tabla Arduino UNO = 1
  • IC 7809 = 1
  • BC547 = 1
  • 1N4007 Dioda = 1
  • 10k 1/4 w upor = 1
  • Rele 12V / 400 ohm / SPDT / 5 amp = 1
  • 12V AC-DC adapter = 1



Prejšnja: Preprosto vezje digitalnega časovnika z dvoštevilčnim zaslonom Naprej: Vezje digitalnega termometra - za napajanje uporablja sončno celico