Bkz: Önceki konular:
26 Satırda İsrafı Önleme
26 Satır Bahanesiyle, Ucundan Bit-Byte, MBit/s Meali
void loop() ve analogRead açıklaması
Hiç öyle bir niyetim yoktu ama ufak açıklama ve eklemeler yapayım derken, bunun aynı konu üzerindeki 4. yazı olduğu düşünülürse, bu yazılar da bir Seri’ye dönecekmiş havası seziliyor sanki 😉
Son yazıda, analogRead() hakkında yazmışım.. Sonrasından devam edelim..
Bizi karşılayan kod:
-Denilmez ve belki iddialı bir laf olur ama- Denilse ki; Şu programlama dilini hatta ve hatta BÜTÜN Programlama dillerini ve programcılık mantığını tek KELİME ile nasıl özetlersin?
Bu sorunun o tek kelimelik cevabı
olurdu sanırım.
Ve başlıktan da anlaşılacağı üzere, herhangi bir programın ya da cihazın, “algılamasından”, “sınama-doğrulama yapmasından”, “değişikliği fark etmesinden”, “belli bir koşulun gerçeklemesi ile belirli şeyler yapmasından” vb.. bahsediyorsak temelde IF’ten bahsediyoruz demektir.
“`Eğer (şifre yanlışsa) { Ekrana hata mesajı yazdır. Yanlış şifre denemesi yapıldığın dair mail at. }“`
“`IF (Steem fiyatı 1 USDT’nin altına düşerse) { 100 Steem Sat. 50 SBD Al. EOS’a %10 aşağıdan AL emri gir. }“`
“`IF (evi su basmaya başladıysa) { telefona bildirim gönder. }“`
Ve gelelim üzerinde çalıştığımız örneğe, “`Şayet (gün ağardıysa ){ Sokak lambalarını söndür }“`
Bir önceki bölümden hatırlayacak olursak;
kodu ile A0 pinine bağlamış olduğumuz Işık Sensörü’nden (LDR) gelen değerleri okuyor ve bunu x’e atıyorduk.
Şimdi bi kere daha düşünelim;
Ne istiyoruz?
Margot Robbie ile akşam yemeği yemek 🙂
Gün ağarınca, sokak lambaları sönsün..
Yani? LDR-Sensör üzerine düşen ışık miktarı artınca.. lambalar sönsün..
Yani LDR’den okuduğumuz değer artında..
Yani x değeri artınca
Algılama dediğimiz şey işte tam burası..
// Aydınlık artınca x de artacağı için, x 200’den büyük ise, süslü parantez içindeki yap
// Programlama dilleri arasında ufak tefek imla farkları olabilir ama genel mantık budur.
// Şöyle ise, şöyle değilse, büyükse, küçükse, büyük eşit değilse vb..
// Dilerseniz iki koşulu birlikte de verebilirsiniz. Ali gelmişse ama Zeynep gelmemişse, şunları yap gibi..
// So..
Ok. Ortam aydınlık ve x 200’den büyük. Şimdi lambaları kapatalım.
// Yukarıda A0 pininden değer okumuştuk.
// Bu kez herhangi bir pine bir değer gönderdiğimiz için READ yerine WRITE kullanıyoruz.
// Geniş bir yelpazede veriler/değerler değil de sadece Aç-Kapa , 1-0 gibi bir değer göndereceğimiz için
// yani Dijital bir işlem yapacağımız için digitalWrite() kullanıyoruz.
// burada Sokak lambalarımızın ana hattını kontrol eden Röle, 3 nolu pine bağlı olduğu için
// 3 nolu pine LOW gönderiyoruz. Yani sokak lambalarımızı kapatıyoruz.
Görsel: hdwallsource, shutterstock