Arduino 2-vaiheinen ohjelmoitava ajastinpiiri

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tässä artikkelissa opitaan tekemään yksinkertainen kaksivaiheinen ohjelmoitava Arduino-ajastinpiiri, jota voidaan käyttää sähkökuorman kytkemiseen päälle / pois päältä itsenäisesti säädettävillä PÄÄLLE ja POIS-ajastuksilla.

Esimerkiksi, jos haluat, että valo pysyy päällä 24 tuntia ja sammutettuna 2 tuntia, voit tehdä tämän yksinkertaisesti muokkaamalla ohjelmakoodia. Samalla tavalla voit mukauttaa lähtöajastuksia mihin tahansa muuhun haluttuun aikaväliin muuttamalla koodia asianmukaisesti.



Sinun täytyy vain koota ja ladata seuraava koodi Arduino-kortillesi ja käynnistä ajastintoiminto sovelluksesi tarpeiden mukaan.

Ohjelmakoodi

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

Koodaa rivit yllä olevassa esimerkissä viive (86400000) ja viive (3600000) määritä lähdön PÄÄLLE ja POIS viiveaikavälit millisekunteina. Tässä kuva 86400000 millisekuntia vastaa 24 tuntia, kun taas 3 600 000 1 tunnin viive.



Voit mukauttaa nämä kaksi arvoa henkilökohtaisten mieltymystesi mukaan, jotta saat tarvittavat lähtöviiveet.

Kun asennus ja virta on kytketty, Arduino jatkaa vaihtamista kahden vaiheen PÄÄLLE / POIS-ajastuksen välillä. niin kauan kuin järjestelmään on kytketty virta.

Piirikaavio

Koko kytkentäkaavio ja Arduino-liitännät voidaan nähdä seuraavasta kaaviosta:

Arduino Yhden laukauksen ajastinpiiri

Jos et halua ajastimen siirtyvän kaksivaiheisen ajastimen läpi, sen sijaan, että haluat ajastimen olevan yhden kuvan tyyppi, joka sammuu pysyvästi asetetun viiveen jälkeen, voit käyttää seuraavaa koodia:

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

Jos haluat erillisen suunnitellun version identtisestä ohjelmoitavasta ajastinpiiristä, voit valitse tämä piiri

Tarvittavat osat ohjelmoitavalle Arduino-ajastinpiirille

  • Arduino UNO Board = 1
  • IC 7809 = 1
  • BC547 = 1
  • 1N4007 Diodi = 1
  • 10k 1/4 w vastus = 1
  • Rele 12 V / 400 ohm / SPDT / 5 ampeeria = 1
  • 12 V: n vaihtovirtasovitin = 1



Edellinen: Yksinkertainen digitaalinen ajastinpiiri 2-numeroisella näytöllä Seuraava: Digitaalinen lämpömittaripiiri - käyttää aurinkokennoa virtaan