Valize teker eklemek gibi dramatik bir örnek olmasa da; Ses sensörü yerine PIR sensörü takarak AHMT'i harekete daha duyarlı hale getirmiştik.
Bkz: #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12, #13, görsel
Son durumdaki kodları biraz geliştirelim.
if (biri) {
Serial.println("biri var"); kombi(ISIdeger - 3 , ISIdeger);
} else {
Serial.println("kimse yok"); }
Burada, PIR sensöründen gelecek değere göre, ısıyı kontrol edip kombiye Çalış demesi için, kombi()
fonksiyonunu çağırıyoruz.
Ancak yazılımsal olarak imla hatası olmasa da mantıksal olarak öyle mi tartışılabilir. Zira koda dikkat edilecek olursa, "biri" durumuna göre tetikleniyor. Biri=1
ise kombi'yi çağırıyoruz, Biri=0
ise kimse yok yazıyoruz.
Burada sürekli hareket etmemiz lazım ki kombi() fonksiyonu tetiklensin. Aksi halde herhangi bir aksiyon olmayacak. Yani çok fazla hareket etmeden uzanmış youtube izliyorsanız, biraz sonra üşümeye başlayabilirsiniz
Şöyle bir güncelleme yapsak?
PIR sensöründen Biri=1, değeri geliyorsa, evde hareketlenme başlamış birileri eve gelmiş demektir. Ve kitap unutma/cüzdan unutma gibi vakalar yoksa çok büyük ihtimalle evde uzun bir müddet birileri olacak demektir.
Her iki -hatta tasarruf ögesini de eklersek 3- durumu düşünerek kodlarımızı şu hale getirelim:
if ( biri > 0) {
Serial.println ("biri var");
/* // 60*5 demek: 5 dakika yanacak /
for ( k = 1; k < 60 * 5; k++ ) {
Serial.print (k);
kombi ( ISIdeger - 3 , ISIdeger );
delay (1000); / // çalışma süresi için durmalı */ }
} else {
Serial.println ( "kimse yok" );
kombi ( ISIdeger - 3 , ISIdeger );
}
gayet kolay ve pratik bir şekilde, kombi() fonksiyonunu bir döngünün içine aldık. Ve döndü adı üstünde başa dönmeden içerisine 1 saniye bekleme koyduk. Böylece; for'un çalışma şeklini belirtirken yazdığımız k < 60 * 5
kısmında 5 yerine 10 yazarsak 10 dakika ya da Ne kadar süre boyunca kombi()'yi kontrol etmesi gerektiğini ayarlamış oluruz.
Dikkat! 10 dakika boyunca kombi yanacak demiyorum. 10 dakika boyunca kombi() fonksiyonunu çağıracağız.
Aradaki fark ne ki?
Birisinde,
hareketi algıladığında kombi yanacak.
10 dakika sonunda
yeniden hareketi dinlemeye(?) başlayacak.
Diğerinde,
hareketi algıladığında kombi'nin çalışmasına gerek var mı bakacak,
zaten istenen sıcaklık aralığında ise kombi yanmayacak
ama ortam sıcaklığı evde birisi varken olması gereken sıcaklıktan düşükse kombi yanacak.
// evet daha karpuz kesmedik, evde birisi yokken olması gereken min ve max sıcaklık aralıklarını da kodlarımıza ekleyeceğiz ;) //ki evde kimse yokken tümden kapanıp, eve birisi geldiğinde iyice buz olmuş evi ısıtana kadar millet hasta olmasın..
Posted from my blog with SteemPress :
https://murattatar.xyz/ahmt-sadece-gerekli-ise-lutfen/
:)) asansör beklerken sabit durunca ışıkların bir anda sönüvermesi gibi:D
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
evet, aynı sebep-sonuç
bu tür durumlar için bir kaç satır daha yazmak lazım, kodlayacak denetleyici bir cihaz yoksa farklı türde 2. bir sensör eklenerek de sorun çözülebilir.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Kişiye duyarlı kombi harika bir rahatlık:)
Karikatür de çok komik :) bilimsel yazıları bu kadar eğlenceli anlatabilmeniz çok iyi hocam :)) Ellerinize sağlık 👍
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Teşekkürler ;)
Bu arada, -AHMT'e çok yüklendik onun için olmasa da- "Kişiye duyarlı" derken, eve gelen kişileri tanıyıp, kişiye özel ayarlamalar sağlanabilir ;)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @murattatar! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Click here to view your Board
If you no longer want to receive notifications, reply to this comment with the word
STOP
Do not miss the last post from @steemitboard:
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit