Arduino'da Zamanlayıcı Nasıl Ayarlanır?
Bir Arduino'da bir zamanlayıcı ayarlamak çok basittir. Millis() olan yerleşik Arduino işlevini kullanabilirsiniz. millis() işlevi, bir programın çalıştırılmaya başlanmasından bu yana geçen süreyi milisaniye cinsinden döndürerek çalışır.
Bu özellik, kullanıcının başlangıç zamanını şimdiki zamandan çıkarmasına ve zaman farkını hesaplamasına olanak tanır. Bu zaman farkı, kullanıcının ayarlamak istediği zamanlayıcı aralığı ile karşılaştırılabilir. Bu zamanlayıcı, LED'i AÇIK veya KAPALI konuma getirmek için kullanılabilir.
Bir zamanlayıcı ayarlamak ve üzerinden LED'leri açıp kapatmak için, Arduino IDE'de verilen kodu derlemeniz ve donanım devresini de yapmanız gerekir.
sabit int ledPin = 13 ; //LED pinini const int olarak tanımlıyoruz
int ledDevlet = DÜŞÜK ; // ledState, LED'i başlangıçta DÜŞÜK yapacak
imzasız uzun başlangıç zamanı ;
imzasız uzun süre = 5000 ; // Zamanlayıcınızın süresini milisaniye cinsinden ayarlayın. İşte 5 saniye
geçersiz kurmak ( )
{ // Fonksiyonunuzu buraya yazın
pinModu ( ledPin, ÇIKIŞ ) ;
başlangıç zamanı = milis ( ) ;
}
geçersiz döngü ( )
{ // Diğer döngü kodu...
imzasız uzun şimdiki zaman = milis ( ) ;
imzasız uzun Zaman Geçti = şimdiki zaman - başlangıç zamanı ;
eğer ( Zaman Geçti >= süre )
{ // Zamanlayıcı bittiğinde, başlangıç zamanını güncelleyin
başlangıç zamanı = şimdiki zaman ;
eğer ( ledDevlet == DÜŞÜK )
{
ledDevlet = YÜKSEK ;
} başka
{
ledDevlet = DÜŞÜK ;
}
//LED'i değişkenin ledState'i ile ayarlayın:
dijitalYazma ( ledPin, ledState ) ;
}
// Zamanlayıcı geçtikten sonra ne yapmak istediğinizi yazın
}
Çıktı
Bu programın çıktısı, ayarlanan zamanlayıcıya göre yanıp sönen bir LED aracılığıyla gösterilecektir. Aşağıda verilen, bir LED'e bağlı bir Arduino'nun çıkış devresidir. LED anodunu pin 13'e veya Arduino'ya ve ardından GND pinini LED'e Arduino'nun GND olarak adlandırılan pinine bağlamanız yeterlidir.
Bu programda ayarlanan timer süresi 5 saniye olduğundan 5 saniye sonra LED'in yandığı aşağıdaki çıkışta görülmektedir.
Aşağıda verilen bir sonraki çıkış şemasında, sürenin 10 saniyeyi geçtiğini, LED'in KAPALI olduğunu görebilirsiniz. LED 5 saniye AÇIK kaldı ve ardından KAPALI oldu.
Çözüm
Arduino'da zamanlayıcıyı ayarlamak için millis() gibi yerleşik işlevler rahatlıkla kullanılabilir. Bu işlevler Arduino zamanlayıcılarını kullanır ve programın başlangıcından bu yana geçen sürenin değerini döndürür. Bu zaman değeri, aralığı hesaplamak için kullanılabilir ve aralığın süresi, makalede açıklandığı gibi zamanlayıcıyı ayarlamak için kullanılabilir.