Arduino 2 Adımlı Programlanabilir Zamanlayıcı Devresi

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Bu makalede, bağımsız olarak ayarlanabilen AÇMA ve KAPAMA zamanlamaları ile bir elektrik yükünü AÇIK / KAPALI konuma getirmek için kullanılabilecek basit bir 2 adımlı Arduino programlanabilir zamanlayıcı devresinin nasıl yapılacağını öğreniyoruz.

Örneğin, bir ışığın 24 saat AÇIK ve 2 saat KAPALI kalmasını istiyorsanız, bunu program kodunda hızlı bir değişiklik yaparak kolayca yapabilirsiniz. Aynı şekilde, kodu uygun şekilde değiştirerek çıktı zamanlamalarını istenen diğer zaman aralıklarına göre özelleştirebilirsiniz.



Sadece yapmalısın derle ve yükle Arduino kartınıza aşağıdaki kodu girin ve özel uygulama ihtiyaçlarınıza göre zamanlayıcı işlevini başlatın.

Program kodu

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

Yukarıdaki örnekte satırları kodlayın gecikme (86400000) ve gecikme (3600000) milisaniye cinsinden sırasıyla çıkış AÇIK ve KAPALI gecikme zaman aralıklarını belirleyin. İşte şekil 86400000 milisaniye 24 saate karşılık gelirken 3.600.000 1 saat gecikme sergiliyor.



Gerekli çıktı gecikmelerini elde etmek için bu iki değeri kişisel tercihinize göre özelleştirebilirsiniz.

Kurulum ve çalıştırıldıktan sonra, Arduino iki adımlı AÇMA / KAPAMA zamanlama dizisi arasında geçiş yapmaya devam edecektir. sisteme güç uygulandığı sürece.

Devre şeması

Arduino bağlantıları ile birlikte tam devre şeması aşağıdaki şemada görülebilir:

Arduino Tek Atış Zamanlayıcı Devresi

Zamanlayıcının iki adımlı zamanlayıcıda döngü yapmasını istemiyorsanız, bunun yerine zamanlayıcının ayarlanan gecikmeden sonra kalıcı olarak KAPALI olacak tek seferlik bir tür olmasını istiyorsanız, aşağıdaki kodu uygulayabilirsiniz:

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

Aynı programlanabilir zamanlayıcı devresinin ayrı tasarlanmış bir versiyonunu istiyorsanız, şunları yapabilirsiniz: bu devreyi seç

Arduino Programlanabilir Zamanlayıcı Devresi için Gerekli Parçalar

  • Arduino UNO Kartı = 1
  • IC 7809 = 1
  • BC547 = 1
  • 1N4007 Diyot = 1
  • 10k 1/4 w direnç = 1
  • Röle 12V / 400 ohm / SPDT / 5 amp = 1
  • 12V AC - DC Adaptörü = 1



Önceki: 2 Haneli Ekranlı Basit Dijital Zamanlayıcı Devresi Sonraki: Dijital Termometre Devresi - Güç İçin Güneş Pili Kullanır