Circuit temporizator programabil în doi pași Arduino

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În acest articol învățăm cum să realizăm un circuit temporizator Arduino simplu în 2 pași, care poate fi utilizat pentru a comuta o încărcare electrică PORNIT / OPRIT cu temporizări de PORNIRE și OPRIRE reglabile independent.

De exemplu, dacă doriți ca un bec să rămână aprins timp de 24 de ore și oprit timp de 2 ore, puteți face acest lucru printr-o modificare rapidă a codului programului. În același mod, puteți personaliza temporizările de ieșire pentru orice alt set de intervale de timp dorite, schimbând codul în mod corespunzător.



Trebuie doar compilați și încărcați următorul cod pe placa dvs. Arduino și porniți funcția de temporizare conform nevoilor specifice ale aplicației dvs.

Codul programului

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

În exemplul de mai sus codificați liniile întârziere (86400000) și întârziere (3600000) determinați intervalele de timp de întârziere ON și OFF, respectiv, în milisecunde. Aici, cifra 86400000 milisecunde corespunde la 24 de ore, în timp ce 3.600.000 prezintă întârziere de 1 oră.



Puteți personaliza aceste două valori conform preferințelor dvs. personale pentru a obține întârzierile de ieșire necesare.

Odată configurat și alimentat, Arduino va continua să comute între secvența de sincronizare PORNIT / OPRIT în doi pași. atâta timp cât puterea rămâne aplicată sistemului.

Diagrama circuitului

Schema completă a circuitului împreună cu conexiunile Arduino pot fi observate în următoarea diagramă:

Arduino One-Shot Timer Circuit

Dacă nu doriți ca temporizatorul să treacă prin temporizatorul în doi pași, în schimb doriți ca temporizatorul să fie de tip one-shot, care se va opri definitiv după întârzierea setată, puteți aplica următorul cod:

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

Dacă doriți o versiune proiectată discret a unui circuit de temporizator programabil identic, puteți optează pentru acest circuit

Piese necesare pentru circuitul temporizator programabil Arduino

  • Arduino UNO Board = 1
  • IC 7809 = 1
  • BC547 = 1
  • 1N4007 Diodă = 1
  • Rezistor 10k 1/4 w = 1
  • Releu 12V / 400 ohm / SPDT / 5 amp = 1
  • Adaptor 12V AC la DC = 1



Precedent: Circuit digital cu temporizator digital cu afișaj cu 2 cifre Următorul: Circuitul digital al termometrului - folosește o celulă solară pentru energie