2-krokový programovateľný časovač Arduino

2-krokový programovateľný časovač Arduino

V tomto článku sa naučíme, ako vytvoriť jednoduchý 2-krokový programovateľný obvod časovača Arduino, ktorým je možné zapnúť / vypnúť elektrickú záťaž s nezávisle nastaviteľným časovaním ZAPNUTIA a VYPNUTIA.

Napríklad ak chcete, aby svetlo zostalo zapnuté 24 hodín a vypnuté 2 hodiny, môžete to jednoducho urobiť rýchlou úpravou v programovom kóde. Rovnakým spôsobom môžete prispôsobiť výstupné časovanie akejkoľvek inej požadovanej množine časových intervalov príslušnou zmenou kódu.



Len musíš zostaviť a nahrať nasledujúci kód na vašu dosku Arduino a spustite funkciu časovača podľa vašich konkrétnych potrieb aplikácie.



Programový kód

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

Vo vyššie uvedenom príklade kódujte riadky oneskorenie (86400000) a oneskorenie (3600000) určiť časové intervaly oneskorenia výstupu ON a OFF v milisekundách. Tu, obrázok 86400000 milisekúnd zodpovedá 24 hodinám, zatiaľ čo 3 600 000 vykazuje meškanie 1 hodinu.

Tieto dve hodnoty môžete prispôsobiť podľa svojich osobných preferencií, aby ste dosiahli požadované oneskorenia výstupu.



Po nastavení a napájaní bude Arduino pokračovať v prepínaní medzi dvojkrokovou časovacou sekvenciou ON / OFF. pokiaľ zostáva napájanie systému.

Schéma zapojenia

Kompletnú schému zapojenia spolu s pripojeniami Arduino môžete vidieť na nasledujúcej schéme:

Okruh jednorazového časovača Arduino

Ak nechcete, aby časovač prechádzal cez dvojstupňový časovač, namiesto toho chcete, aby bol časovač jednorazový, ktorý sa po nastavenom oneskorení natrvalo vypne, môžete použiť nasledujúci 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 } }

Ak chcete diskrétne navrhnutú verziu identického programovateľného obvodu časovača, môžete rozhodnúť sa pre tento okruh

Súčasti potrebné pre obvod programovateľného časovača Arduino

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



Dvojica: Jednoduchý digitálny časovač s dvojciferným displejom Ďalej: Obvod digitálneho teplomeru - na napájanie využíva solárny článok