2-stopniowy programowalny obwód czasowy Arduino

Wypróbuj Nasz Instrument Do Eliminowania Problemów





W tym artykule dowiemy się, jak wykonać prosty 2-stopniowy programowalny obwód czasowy Arduino, który może być używany do włączania / wyłączania obciążenia elektrycznego z niezależnie regulowanymi czasami włączania i wyłączania.

Na przykład, jeśli chcesz, aby światło pozostało WŁĄCZONE przez 24 godziny i WYŁĄCZONE przez 2 godziny, możesz to po prostu zrobić poprzez szybką modyfikację kodu programu. W ten sam sposób można dostosować czasy wyjściowe do dowolnego innego zestawu przedziałów czasowych, odpowiednio zmieniając kod.



Ty po prostu musisz kompilować i przesyłać poniższy kod do płyty Arduino i uruchom funkcję timera zgodnie z określonymi potrzebami aplikacji.

Kod programu

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

W powyższym przykładzie zakoduj linie opóźnienie (86400000) i opóźnienie (3600000) określić odpowiednio przedziały czasu opóźnienia włączenia i wyłączenia wyjścia w milisekundach. Tutaj figura 86400000 milisekund odpowiada 24 godzinom, podczas gdy 3,600,000 wykazuje 1-godzinne opóźnienie.



Możesz dostosować te dwie wartości zgodnie z osobistymi preferencjami, aby uzyskać wymagane opóźnienia wyjściowe.

Po skonfigurowaniu i zasileniu Arduino będzie kontynuować przełączanie między dwustopniową sekwencją czasową WŁ. / WYŁ. tak długo, jak długo system pozostaje zasilany.

Schemat obwodu

Pełny schemat obwodu wraz z połączeniami Arduino można zobaczyć na poniższym schemacie:

Obwód timera jednorazowego użytku Arduino

Jeśli nie chcesz, aby timer działał w pętli przez timer dwustopniowy, zamiast tego chcesz, aby timer był jednostopniowy, który wyłączy się na stałe po ustawionym opóźnieniu, możesz zastosować następujący kod:

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

Jeśli chcesz dyskretnie zaprojektowanej wersji identycznego programowalnego obwodu czasowego, możesz zdecyduj się na ten obwód

Części wymagane w obwodzie programowalnego timera Arduino

  • Płytka Arduino UNO = 1
  • IC 7809 = 1
  • BC547 = 1
  • Dioda 1N4007 = 1
  • Rezystor 10k 1/4 w = 1
  • Przekaźnik 12 V / 400 omów / SPDT / 5 A = 1
  • Zasilacz 12 V AC na DC = 1



Poprzedni: Prosty obwód zegara cyfrowego z 2-cyfrowym wyświetlaczem Dalej: Obwód termometru cyfrowego - wykorzystuje ogniwo słoneczne do zasilania