Sensörler ve Projeler
Mesafe, hareket, ortam, ses, gaz ve kimlik sensörleri. Her hafta bir proje.
- 40 ders
- 8 hafta
- ~19 saat
- 12+ yaş
Haftalar
- 1. HAFTAMesafeProje: Park sensörü
- Ultrasonik prensip: ses, süre, mesafe20 dkUltrasonik prensip: ses, süre, mesafeBaşla
- pulseIn, trig/echo ve santimetre hesabı25 dk
- Gürültü, yansıma açısı ve medyan filtre25 dk
- Servo ile tarama (sonar)25 dk
- Proje: Park sensörü (LED + buzzer + LCD)35 dk
- Hafta tekrarırehber, sık hatalar, proje ölçütü
- Ultrasonik prensip: ses, süre, mesafe20 dk
- 2. HAFTAVarlık ve engelProje: Hırsız alarmı
- 3. HAFTAOrtamProje: Hava istasyonu
- 4. HAFTAIşık, ses, gazProje: Yangın ve gaz alarmı
- 5. HAFTAHareket ve yönProje: Eğimle kontrol edilen servo
- 6. HAFTAGirdi cihazlarıProje: Akıllı kapı
- 7. HAFTAZaman ve veriProje: Veri kaydedici
- 8. HAFTASimülasyondan gerçeğeProje: Akıllı oda
- 1
Haftalık rehber hedefler, gün gün plan, tekrar ve proje ölçütü
Hafta hedefleri
Bu haftanın sonunda öğrenci:
- HC-SR04'ün sesin gidiş-dönüş süresiyle mesafe ölçtüğünü anlatabilir; süreden santimetreyi (süre × 0,0343 / 2) hesaplayabilir.
- TRIG'e doğru tetik darbesi verip
pulseInile ECHO süresini zaman aşımıyla ölçebilir;0dönüşünü "yankı yok" diye yorumlar. - Aykırı değerin ne olduğunu, ortalama ile medyanın farkını söyler; kayan pencereli medyan filtre yazabilir.
- Servo ve sensörle açı açı tarama yapıp en yakın nesnenin yönünü bulabilir.
- Mesafe sensörünü LED, buzzer ve I2C LCD ile birleştirerek
millis()ile bloklamayan bir park sensörü kurabilir.
Haftanın planı
Hafta beş derstir; ilk dört ders yaklaşık 20-25 dakika, proje dersi yaklaşık 35 dakikadır. Aşağıdaki plan günde bir ders içindir.
Gün Ders Süre Ne yapılır 1 Ultrasonik prensip: ses, süre, mesafe ~20 dk Anlatımı oku, formülü elle uygula, sıcaklık tablosunu çalıştırıp yorumla, mini testi çöz. 2 pulseIn, trig/echo ve santimetre hesabı ~25 dk HC-SR04'ü bağla, Mesafe değerini değiştirerek ölçümü izle, "yankı yok" durumunu dene. 3 Gürültü, yansıma açısı ve medyan filtre ~25 dk Ortalama ve medyanı aykırı değerli dizilerde karşılaştır, kayan pencereyi canlı sensörle dene. 4 Servo ile tarama (sonar) ~25 dk Servoyu ekle, taramayı çalıştır; Mesafe'yi açıya göre elle değiştirip en yakın yönü bul. 5 Proje: Park sensörü (LED + buzzer + LCD) ~35 dk Davranış tablosunu oku, devreyi kur, programı çalıştır, ölçütle değerlendir. Ön koşul kontrolü
Bu hafta Modül 1-3'ten şunlar gerekir. Başlamadan kısaca kontrol et:
fordöngüsü, diziler ve fonksiyon yazma (Modül 3, ders 4 ve 19).millis()ile bloklamayan zamanlama (ders 27); projede üç iş birlikte yürür.map()(ders 14), buzzer (ders 18), servo (ders 21) ve I2C LCD (ders 32-33).- Seri Monitor'a yazdırma (ders 9).
- Ondalık sayılarla çarpma ve bölme; birim çevirme (m/s'den cm/µs'ye).
Kavram haritası
- Fizik: ses → yankı → gidiş-dönüş süresi → mesafe = süre × 0,0343 / 2 → sıcaklığın ses hızına etkisi
- Ölçüm: TRIG darbesi (10 µs) → ECHO süresi →
pulseIn→ zaman aşımı →0= yankı yok - Veri kalitesi: yansıma açısı ve yüzey → aykırı değer → ortalama / medyan → kayan pencere → filtre gecikmesi
- Sistem: servo + sensör = tarama → en küçüğü tutma → eşikler →
map()→millis()ile çok görev
Sık yapılan hatalar
- İkiye bölmeyi unutmak. Süre gidiş + dönüş olduğu için mesafe iki kat çıkar.
- Birim karıştırmak. 343 m/s değerini 0,0343 cm/µs yapmadan formüle koymak.
- Zaman aşımı yazmamak ve 0'ı mesafe sanmak. Program takılır ya da "0 cm" sanılır; LED veya buzzer yanlış çalışır.
delay(10)iledelayMicroseconds(10)karıştırmak. Biri milisaniye, öbürü mikrosaniyedir.- Ortalamayla aykırı değeri temizlediğini sanmak. Medyan yanlışları atar, ortalama kendine katar.
- Pencereyi doldurmamak ya da
% Nunutmak. Başlangıçta sıfırlar medyanı bozar, indeks diziden taşar. - En yakın nesne aramasında başlangıcı 0 yapmak. Hiçbir ölçüm 0'dan küçük olmaz.
- Bip için
delay()kullanmak. Ölçüm ve ekran bip süresince durur. - LCD satırını 16 karaktere tamamlamamak. Eski harfler ekranda kalır.
Hafta sonu tekrarı
- Her dersin kavram kartlarına bir kez daha bak ve "sık yapılan yanlış" satırlarını yüksek sesle oku.
- Mini testlerde yanlış yaptığın soruların açıklamalarını yeniden oku, sonra soruyu yeniden çöz.
- Süre × 0,0343 / 2 formülünü bakmadan yaz; 1750 µs, 5830 µs ve 11660 µs için santimetreyi hesapla (yaklaşık 30, 100 ve 200 cm).
100, 100, 100, 350, 100dizisinin ortalamasını ve medyanını kâğıtta bul; sonra iki yanlışlı bir dizi kendin yaz.- Kendi cümlelerinle şunu cevapla: "Park sensöründe pencereyi büyütünce ne kazanır, ne kaybedersin?"
Hafta sonu testi olarak beş dersin mini testleri yeterlidir; her derste 5 soru, toplam 25 soru. Hedef: her dersten en az 4 doğru. Eksik kalan dersin anlatımına dön.
Proje değerlendirme ölçütü (Park sensörü)
Ölçüt Gelişmeli Yeterli İleri Devre HC-SR04, LED, buzzer ya da LCD eksik veya yanlış pine bağlı Tüm parçalar doğru pinlerde (TRIG D9, ECHO D10, buzzer D8, LED D11-D13, LCD A4/A5) Bağlantılar düzenli, buzzer türü ve LCD adresi bilinçli seçilmiş Ölçüm ve filtre Ham ölçümle karar veriyor; yankı yok durumu işlenmemiş Medyan filtre ve geçersiz ölçüm ele alınmış Pencere boyunun gecikme etkisini açıklıyor, deneyle gösteriyor Eşikler ve davranış LED, bip ya da ekran tabloyla uyuşmuyor Dört bölge tabloya uygun çalışıyor Sınırda titremeyi histerezisle çözmüş Zamanlama Bip için delay()kullanılmış, ölçüm duruyorÖlçüm, bip ve ekran millis()ile ayrı çalışıyorSüreleri değiştirip etkisini açıklıyor Anlatım Ne yaptığını anlatamıyor Devreyi ve kodu adım adım anlatıyor Hata yapıp nasıl bulduğunu anlatıyor ve gerçek bir arabadaki farkları sayıyor Veli ve öğretmen notu
- Amaç. Bu hafta bir sensörün "mesafeyi bilmediğini, bir süre ölçtüğünü" anlamak ve gerçek dünyadaki ölçümün gürültülü olduğunu görmek. Formülü ezberletmek yerine "ses gidip dönüyor, bu yüzden ikiye bölüyoruz" sorusunu öğrencinin kendi cümleleriyle söylemesini bekle.
- Nasıl destek olunur? Öğrenci takıldığında cevabı söylemek yerine şu soruları sor: "ECHO ne kadar HIGH kalıyor?", "Süre gidiş mi, gidiş-dönüş mü?", "Yankı gelmezse ne okuyor?", "Bu okuma bir aykırı değer olabilir mi?"
- Sanal laboratuvar ve gerçek sensör. Laboratuvardaki sensör kusursuzdur: Mesafe özelliğine ne yazılırsa onu okur ve ses hızı sabittir. Gerçek HC-SR04 eğik yüzeylerde, yumuşak malzemelerde ve sıcaklık değişince yanlış okuyabilir; medyan filtre bu yüzden öğretilir.
- Süre. Dersleri aynı gün peş peşe yapmak yerine aralıklı çalışmak kalıcılığı artırır. Medyan dersi ve proje yeni bir düşünce biçimi içerir; gerekirse bir gün ara ver.
- Güvenlik. Servo ve motorlar gerçek devrede ayrı bir 5 V kaynaktan beslenir ve GND'ler ortak yapılır. Şebeke gerilimiyle (220 V) hiçbir devre kurulmaz; pil kullanılırsa kısa devre ve ters bağlamaya dikkat edilir.
- İlerleme. Mini test sonuçları "İlerlemem" sayfasında beceri bazında görünür (taslak/pilot özellik; yalnız onay verildiyse kaydedilir).
- 2
Haftalık rehber hedefler, gün gün plan, tekrar ve proje ölçütü
Hafta hedefleri
Bu haftanın sonunda öğrenci:
- PIR sensörünün ısı ışınımındaki değişimi algıladığını, ısınma ve tutma süresinin ne olduğunu açıklayabilir; ısınmayı bekleyen ve son hareket zamanını tutan bir program yazabilir.
- IR engel sensörünün "var/yok" bilgisi verdiğini, eşiğin dijital çıkışta vidada, analog çıkışta kodda olduğunu bilir; iki eşikle (histerezis) titremesiz karar verebilir.
- Reed ve limit anahtarını
INPUT_PULLUPile okuyabilir, NO ve NC farkını güvenlik açısından açıklayabilir, kontak titreşimini debounce ile eleyebilir. - VL53L0X'i (ToF, I2C, 0x29) tanır;
init(),timeoutOccurred()veWire.begin()ile hata kontrolü yapan kod yazabilir (laboratuvarda parça yok, yalnız derleme). - PIR, reed ve butonu birleştiren,
enumvemillis()ile yazılmış dört durumlu bir hırsız alarmı kurabilir ve zayıf noktalarını tartışabilir.
Haftanın planı
Hafta beş derstir; her ders yaklaşık 20 dakika, proje yaklaşık 35 dakikadır. Aşağıdaki plan günde bir ders içindir.
Gün Ders Süre Ne yapılır 1 PIR: hareket algılama ve ısınma süresi ~20 dk Anlatımı oku, pir_isinmavepir_oda_dolusketch'lerini çalıştır, Hareket kutusunu ısınma sırasında ve sonrasında dene, mini testi çöz.2 IR engel sensörü ve eşik ayarı ~20 dk Yakınlık ve Eşik kaydırıcılarını oynat, analog sketch'te histerezisi gözle, mini testi çöz. 3 Reed anahtarı ve limit anahtarı ~20 dk Reed ve butonu aynı mantıkla oku, NO/NC ve debounce üzerine düşün, mini testi çöz. 4 VL53L0X (I2C ToF): hassas mesafe ~20 dk Kodu yaz ve derle, sensörsüz çalıştırıp hata mesajını gör, eşik hesaplarını yap, mini testi çöz. 5 Proje: Hırsız alarmı (durum makineli) ~35 dk Durum tablosunu çiz, devreyi kur, programı çalıştır, durumların hepsini gez, ölçütle değerlendir. Ön koşul kontrolü
Bu hafta Modül 3 ve ilk haftanın bilgilerine dayanır. Başlamadan önce şunları kontrol et:
INPUT_PULLUPile buton okuyabiliyor mu ve basılı = LOW olduğunu biliyor mu? (6. ders)- Kenar algılama ve debounce fikrini hatırlıyor mu? (8. ders)
millis()iledelay()kullanmadan süre ölçebiliyor mu? (27. ders)enumveswitchile durum makinesi yazabiliyor mu? (28. ders)- I2C'nin SDA ve SCL ile çalıştığını, her cihazın bir adresi olduğunu biliyor mu? (33. ders)
- İki eşikli (histerezisli) karar fikrini hatırlıyor mu? (35. ders)
- Ultrasonik sensörün ses gönderip yankıyı beklediğini biliyor mu? (36. ders)
Kavram haritası
- Varlık: PIR (ısı değişimi) → ısınma süresi → tutma süresi → son hareket zamanı → oda dolu/boş
- Engel: IR engel (yansıma) → dijital OUT (vida eşiği) ve analog AO (kod eşiği) → histerezis → kenar sayma
- Kontak: reed ve limit anahtarı →
INPUT_PULLUP→ NO ve NC → debounce → arızaya karşı güvenlik - Mesafe (ışık): VL53L0X → I2C 0x29 →
init()vetimeoutOccurred()→ milimetre eşiği - Proje: durum tablosu →
enumveswitch→ çıkış gecikmesi → mandal → şifre penceresi → bloklamayan döngü
Sık yapılan hatalar
- Isınmayı beklememek. PIR açıldıktan sonra yalancı HIGH verir; alarm hemen çalar.
- PIR için
INPUT_PULLUPkullanmak ya da LOW'u hareket saymak. PIR'da hareket = HIGH. - PIR'ın hemen LOW olacağını sanmak. Tutma süresi nedeniyle OUT hareket bittikten sonra bir süre HIGH kalır.
- Her IR modülünün engelde LOW verdiğini varsaymak. Seviyeyi bir sabite yaz.
- Tek eşik kullanmak. Değer eşik civarında dalgalanınca çıktı titrer; iki eşik kullan.
- Cisim sayarken seviyeyi saymak. Duran cisim her turda yeniden sayılır; kenarı say.
- Reed ve limit anahtarında pull-up'ı unutmak. Açık kontakta pin yüzer, okuma rastgele olur.
- NO ile NC'yi karıştırmak. Mantık tersine çalışır; kopan kablo fark edilmeyebilir.
- VL53L0X'te
Wire.begin()ya datimeoutOccurred()kontrolünü atlamak. Hatalı okuma gerçek mesafe sanılır. - mm ile cm'yi karıştırmak. 300 mm = 30 cm.
- Alarm projesinde
delay()kullanmak. Buton ve sensörler o sürede kaçırılır. - Şifre sayacını durum değişince sıfırlamamak. Önceki durumdaki basışlar yenisini bozar.
Hafta sonu tekrarı
- Her dersin kavram kartlarına bir kez daha bak ve "sık yapılan yanlış" satırlarını yüksek sesle oku.
- Mini testlerde yanlış yaptığın soruların açıklamalarını yeniden oku, sonra soruyu yeniden çöz.
pir_oda_dolusketch'ini bakmadan yaz; sonra bekleme süresini değiştirip etkisini açıkla.- Kâğıda, hırsız alarmı için durum geçiş şemasını (ok ve koşullarla) çiz; sonra projedeki koddan kontrol et.
- Kendi cümlelerinle şu soruyu cevapla: "Alarm kapı kontağını neden NC bağlamak, NO bağlamaktan daha güvenli olabilir?"
Hafta sonu testi olarak beş dersin mini testleri yeterlidir; her derste 5 soru, toplam 25 soru. Hedef: her dersten en az 4 doğru. Eksik kalan dersin anlatımına dön.
Proje değerlendirme ölçütü (Hırsız alarmı)
Ölçüt Gelişmeli Yeterli İleri Devre PIR, reed ya da buton eksik veya yanlış pinde Üç giriş ve çıkışlar doğru pinlerde, GND'ler bağlı Bağlantılar düzenli, her sensörün çalışması tek tek denenmiş Durum tasarımı Durum tablosu yok, bayraklarla karışık Dört durum ve geçişleri tabloda var, kod enumveswitchkullanıyorGeçiş koşulları şemayla birebir uyuyor, giriş gecikmesi gibi bir ek durum düşünülmüş Zamanlama delay()kullanılıyor, düğme ya da sensör kaçırılıyorÇıkış gecikmesi, alarm süresi ve şifre penceresi millis()ile ölçülüyorSüreler sabitlerde toplanmış, değiştirilince etkisi açıklanıyor Sensör güvenilirliği Isınma ve tutma süresi hesaba katılmamış, yalancı alarm çıkıyor Çıkış gecikmesi PIR'ın sakinleşmesine izin veriyor, reed mantığı doğru NC/NO ve debounce seçimleri gerekçelendirilmiş Anlatım Ne yaptığını anlatamıyor Durumları ve geçişleri adım adım anlatıyor Zayıf noktaları (kablo kesme, PIR'ı kapatma) ve çözümleri tartışıyor Veli ve öğretmen notu
- Amaç. Bu hafta, sensörlerin "doğru cevap" vermediğini; yorumlanması, süzülmesi ve güvenlik için tasarlanması gereken sinyaller verdiğini göstermektir. Isınma, titreşim ve eşik gibi kavramlar gerçek mühendisliğin gündelik sorunlarıdır.
- Nasıl destek olunur? Öğrenci takıldığında cevabı söylemek yerine şunları sor: "Sensör o anda ne okuyor?", "Bu durum hangi koşulla değişiyor?", "Kablo kopsaydı ne olurdu?"
- Laboratuvar sınırı. VL53L0X parçası laboratuvarda yoktur; bu ders yalnız kod yazma ve derleme üzerinedir. Ölçüm değerleri sanal olarak doğrulanamaz.
- Güvenlik. Platformdaki her şey sanaldır. Gerçek kartla çalışılırsa şebeke gerilimiyle (220 V) hiçbir devre kurulmaz; röle ve sirenler için harici besleme ve ortak GND kuralı unutulmaz.
- Etik. Alarm ve hareket algılama kendi odan ve eşyaların için kullanılır. Başkalarının odasına izinsiz sensör koymak, birini gizlice izlemek yanlıştır; bu konuyu öğrenciyle konuşmak iyi olur.
- İlerleme. Dersin sonundaki mini test sonuçları "İlerlemem" sayfasında beceri bazında görünür (taslak/pilot özellik; yalnız onay verildiyse kaydedilir).
- 3
Haftalık rehber hedefler, gün gün plan, tekrar ve proje ölçütü
Hafta hedefleri
Bu haftanın sonunda öğrenci:
- DHT11/DHT22 ile sıcaklık ve nemi okuyabilir;
NaNdeğeriniisnanile yakalayıp okuma aralığının (en az 2 saniye) neden gerekli olduğunu açıklayabilir. - BMP280'i I2C adresiyle bulabilir, basıncı Pa'dan hPa'ya çevirebilir ve rakımın deniz seviyesi basıncına (P0) neden bağlı olduğunu söyleyebilir.
- Toprak nemi, yağmur ve su seviyesi sensörlerinin yönünü ölçerek bulabilir;
mapveconstrainile ham değeri yüzdeye çevirebilir. - Birden çok değeri çok sayfalı bir LCD ekranda
delaykullanmadan gösterebilir. - Hava istasyonu ve sulama uyarısı projesini plan tablosundan yola çıkarak kurabilir; iki eşikle (histerezis) uyarının titremesini önleyebilir.
Haftanın planı
Hafta beş derstir; ilk dört ders yaklaşık 25 dakika, proje yaklaşık 35 dakikadır. Aşağıdaki plan günde bir ders içindir.
Gün Ders Süre Ne yapılır 1 DHT11 ve DHT22: sıcaklık ve nem ~25 dk Anlatımı oku, DHT'yi D5'e bağla, sıcaklık ve nem kaydırıcılarını oynat, DATA kablosunu çıkarıp hata yolunu dene, mini testi çöz. 2 BMP280: basınç ve rakım (I2C) ~25 dk Basınç kaydırıcısıyla rakımın değiştiğini gör, formülü elle hesapla ve kütüphaneyle karşılaştır, adres hatasını dene. 3 Toprak nemi, yağmur ve su seviyesi (analog) ~25 dk Üç sensörün yönünü ham sayılardan bul, kalibrasyon uçlarını kaydet, eşiklerle durum yazdır. 4 Çok sayfalı ekran arayüzü (LCD/OLED) ~25 dk Üç sayfalı ekranı kur, butonla sayfa çevir, dolgusuz yazının artık bıraktığını gör. 5 Proje: Hava istasyonu ve sulama uyarısı ~35 dk Durum tablosunu yaz, devreyi kur, programı çalıştır, toprak nemini düşürüp uyarıyı sına, proje ölçütüyle değerlendir. Ön koşul kontrolü
Başlamadan önce öğrenci şunları yapabilmeli:
millis()iledelaykullanmadan iki işi birlikte yürütmek (27. ders).- I2C hattında SDA/SCL bağlantısını ve cihaz adresi kavramını tanımak (33. ders).
- Bir kütüphaneyi
#includeile kullanmak (34. ders). analogRead,mapveconstrainile ham değeri yüzdeye çevirmek (11. ve 14. dersler).- Histerezis fikrini (iki eşik) bilmek (35. ders).
toneile buzzer çalmak (18. ders).
Eksik varsa ilgili Modül 3 dersine dönülmeli; özellikle 27. ve 35. dersler bu haftanın temelidir.
Kavram haritası
- Ortam sensörleri: DHT (sıcaklık, bağıl nem) →
NaNveisnan→ 2 saniye kuralı → ardışık hata sayacı - Basınç: BMP280 → I2C adresi (0x76/0x77) → Pa ve hPa → rakım formülü → P0 ve hava durumu
- Analog sensörler: toprak nemi, yağmur, su seviyesi → yön → kalibrasyon uçları →
mapveconstrain→ eşik ve histerezis - Arayüz: sayfa değişkeni →
%işleci → satırı 16 karaktere tamamlama →snprintfvedtostrf→ OLED - Proje: durum tablosu →
uyaridurumu → iki eşik → bloklamayan buzzer → arızaya dayanıklılık
Sık yapılan hatalar
isnandenetimini atlamak. DHT okuyamazsaNaNdöner; hesap ve ekrannanolur.- DHT'yi 2 saniyeden sık okumak. Aynı eski değer tekrarlanır.
- BMP280'i parametresiz
begin()ile aramak. Varsayılan adres 0x77'dir; 0x76'daki sensör bulunamaz. - Pa ile hPa'yı karıştırmak.
readAltitudehPa bekler;101325yazılırsa rakım anlamsız çıkar. - Sensör yönünü bilmeden "büyük sayı = ıslak" varsaymak. Toprak ve yağmur sensörlerinde ıslandıkça değer düşer.
constrainunutmak. Yüzde %-26 ya da %130 gibi değerler çıkar.- Satırı 16 karaktere tamamlamamak. Ekranda eski yazının artıkları kalır.
snprintfile%fkullanmak. Uno'da ondalık sayı yerine?yazılır;dtostrfkullanılır.- Tek eşik kullanmak ve bip için
delaykullanmak. Uyarı titrer ve program donar.
Hafta sonu tekrarı
- Her dersin kavram kartlarına bir kez daha bak ve "sık yapılan yanlış" satırlarını yüksek sesle oku.
- Mini testlerde yanlış yaptığın soruların açıklamalarını yeniden oku, sonra soruyu yeniden çöz.
- DHT'yi bağla ve kaydırıcıları çalışırken oynat; sonra DATA kablosunu çıkarıp programın ne yazdığını açıkla.
- BMP280 basıncını 1013,25 hPa'dan 1003,25 hPa'ya çek ve rakımın kaç metre kaydığını hesaplayıp ölç.
- Kendi cümlelerinle şu soruyu cevapla: "Uyarı için neden iki eşik kullandık?"
Hafta sonu testi olarak beş dersin mini testleri yeterlidir; her derste 5 soru, toplam 25 soru. Hedef: her dersten en az 4 doğru. Eksik kalan dersin anlatımına dön.
Proje değerlendirme ölçütü (Hava istasyonu ve sulama uyarısı)
Ölçüt Gelişmeli Yeterli İleri Devre Birkaç parça bağlı değil ya da LED dirençsiz DHT, BMP280, LCD, toprak sensörü, LED ve buzzer doğru pinlerde Bağlantılar düzenli; LCD ve BMP280 aynı I2C hattını adresleriyle paylaşıyor Plan Durum tablosu yok Normal ve uyarı durumları ile eşikler tabloda yazılı Tablo kodla birebir uyuyor ve her geçiş açıklanmış Ölçüm Değerler yanlış birimde ya da nangörünüyorSıcaklık, nem, basınç, rakım ve toprak yüzdesi doğru Kalibrasyon uçları kendi sensöründen ölçülmüş Uyarı Uyarı titriyor ya da hiç çalışmıyor İki eşikle uyarı doğru açılıp kapanıyor; mesaj yalnız durum değişince yazılıyor Ek bir geliştirme var (örneğin susturma butonu) Dayanıklılık Sensör çıkarılınca program çöküyor DHT ya da BMP280 yokken ekranda --ve "BMP280 yok" görünüyorBozuk sensörü anlamak için ek bir kontrol eklenmiş Anlatım Ne yaptığını anlatamıyor Devreyi ve kodu adım adım anlatıyor Hata yapıp nasıl bulduğunu anlatıyor Veli ve öğretmen notu
- Amaç. Bu hafta sensör okumanın yalnızca bir sayıyı almak olmadığını, o sayıya güvenmeden önce denetlemek ve yorumlamak gerektiğini öğrenmektir. "Sensör yoksa ne olur?" sorusu haftanın ortak sorusudur.
- Nasıl destek olunur? Öğrenci takıldığında cevabı söylemek yerine şu soruları sor: "Bu sayının birimi ne?", "Sensör cevap vermezse ne olur?", "Bu değer hangi yönde artıyor?"
- Doğruluk uyarısı. Ekranda çok basamak görmek doğru ölçmek demek değildir. Sensörün gerçek doğruluğu için veri sayfasına bakılır; derslerdeki sayılar laboratuvar modelinindir.
- Güvenlik. Platformdaki her şey sanaldır. Proje bir pompa içermez; gerçek bir pompa için transistör ya da röle ve ayrı güç kaynağı gerekir ve şebeke gerilimiyle (220 V) hiçbir devre kurulmaz.
- İlerleme. Mini test sonuçları "İlerlemem" sayfasında beceri bazında görünür (taslak/pilot özellik; yalnız onay verildiyse kaydedilir).
- DHT11/DHT22 ile sıcaklık ve nemi okuyabilir;
- 4
Haftalık rehber hedefler, gün gün plan, tekrar ve proje ölçütü
Hafta hedefleri
Bu haftanın sonunda öğrenci:
- Bir LDR bölücüsünde ışığın okuma yönünü söyleyebilir; iki eşikli histerezisle titremeyi önleyebilir.
- Ses sensöründe baz seviyeyi ölçüp sapmayı hesaplayabilir; sesi yüksekliğine ve süresine göre sınıflandırabilir.
- MQ-2 için ısınma ve temiz havada baz değer fikrini açıklayabilir; eşiği bazın katı olarak yazabilir ve neden ppm yazılmadığını söyleyebilir.
- Alev sensörünün yönünü tek yerde çözebilir;
enumve parametreliseviyeBulile üç seviyeli karar mekanizması kurabilir. - Gaz, alev ve ısı sensörlerinden bir yangın ve gaz alarm paneli kurup test edebilir; panelin eğitim amaçlı olduğunu ve sınırlarını açıklayabilir.
Haftanın planı
Hafta beş derstir. Aşağıdaki plan günde bir ders içindir; proje günü daha uzundur.
Gün Ders Süre Ne yapılır 1 Işık sensörü hassasiyeti ve histerezis ~25 dk Anlatımı oku, tek eşikle titremeyi gör, iki eşikle gider, mini testi çöz. 2 Ses sensörü: alkış anahtarı ~30 dk Baz seviyeyi ölç, tepeyi yazdır, alkışı süre ve yükseklikle tanıt, iki alkışla LED aç/kapat. 3 MQ-2 gaz sensörü: ısınma ve kalibrasyon ~25 dk Isınmayı bekle, baz ölç, bazın katıyla alarm kur. Gazı Gaz düzeyi ile taklit et. 4 Alev sensörü ve çoklu eşik yönetimi ~30 dk Yönü siddet()ile çöz, üç seviyeyi dene, iki sensörde aynı fonksiyonu kullan.5 Proje: Yangın ve gaz alarm paneli ~35 dk Devreyi kur, test tablosunu uygula, çıkışları ve ekranı kontrol et, ölçütle değerlendir. Ön koşul kontrolü
Bu hafta Modül 3'ün bazı konuları gerekir. Başlamadan önce kontrol et:
analogReadile 0-1023 arası okuma yapıp Serial Monitor'a yazdırabiliyor musun? (11. ve 9. dersler)- LDR ile gerilim bölücü kurmayı ve ışığa göre değerin yönünü söyleyebiliyor musun? (12. ders)
- Yumuşatmanın ne işe yaradığını biliyor musun? (14. ders)
- Parametre alan ve değer döndüren bir fonksiyon yazabiliyor musun? (19. ders)
millis()iledelaykullanmadan zaman ölçebiliyor musun? (27. ders)enumile durum tutmayı biliyor musun? (28. ders)- Projede ayrıca röle (24. ders), buzzer (18. ders), NTC (13. ders) ve I2C LCD (32-33. dersler) kullanılır.
Kavram haritası
- Okuma: sensör → ham sayı → yön → gürültü → baz değer
- Karar: eşik → histerezis (iki eşik) → göreli eşik (bazın katı) → yumuşatma → çoklu seviye (NORMAL, UYARI, TEHLIKE)
- Olay: baz seviye → sapma (
abs) → tepe → süre → sessizlik payı → sınıflandırma - Yapı: parametreli fonksiyon →
enum→enKotu→ çıkışları seviyeden türetmek - Proje: üç sensör → genel durum → LED, buzzer, röle, ekran → güvenlik ve sınırlar
Sık yapılan hatalar
- Açma ve kapama eşiğini aynı yapmak. Bu tek eşiktir; titreme geri gelir. Eşikleri ters yazmak da (açma > kapama) ölü bölgede her turda değişim üretir.
- Eşiğin yönünü devreye bakmadan yazmak. LDR 5V tarafındaysa karanlıkta değer küçüktür.
- Baz seviyeyi varsaymak ya da yanlış ortamda ölçmek. Ses modülünde baz 512 değildir (sanal modülde yaklaşık 256); MQ-2 bazı gazlı ortamda ölçülürse eşikler yukarı kayar.
- Isınmayı atlamak. Gerçek MQ-2'de baz yanlış çıkar.
- Sadece yüksekliğe bakmak. Kapı çarpması da alkışa benzer; süre de kontrol edilmelidir.
- Tamsayı bölmesi.
int/intküsuratı atar: 160 / 100 sonucu 1 olur. - Kapama eşiğini açma eşiğinden büyük yazmak. Seviye titrer ya da hiç düşmez.
- Bir sensörü genel duruma katmamak.
enKotuher sensörü kapsamalıdır. - Çıkışları farklı yerlerden sürmek. LED, buzzer ve ekran birbirinden kopar.
- Röleyi şebeke gerilimiyle kullanmak. Bu projede kesinlikle yapılmaz.
Hafta sonu tekrarı
- Her dersin kavram kartlarına bir kez daha bak ve "sık yapılan yanlış" satırlarını yüksek sesle oku.
- Mini testlerde yanlış yaptığın soruların açıklamalarını yeniden oku, sonra soruyu yeniden çöz.
seviyeBulfonksiyonunu bakmadan, kâğıda yaz. Sonra 300 / 250 / 600 / 500 eşikleriyle 320, 280, 240, 650, 520, 480 dizisini elle izle.- Isı için üçüncü bir sensör eklemeyi dene: eşikleri değiştir, fonksiyona dokunma.
- Kendi cümlelerinle şu soruları cevapla: "Histerezis neden gerekir?" ve "MQ-2 için neden ppm yazmıyoruz?"
Hafta sonu testi olarak beş dersin mini testleri yeterlidir; her derste 5 soru, toplam 25 soru. Hedef: her dersten en az 4 doğru. Eksik kalan dersin anlatımına dön.
Proje değerlendirme ölçütü (Yangın ve gaz alarm paneli)
Ölçüt Gelişmeli Yeterli İleri Devre Sensörlerden biri ya da çıkışlardan biri bağlı değil Gaz, alev, LED'ler, buzzer, röle ve ekran doğru bağlı Bağlantılar düzenli; NTC de bağlı ve çalışıyor Isınma ve baz Isınma yok ya da baz gazlı ortamda ölçülüyor Isınma bekleniyor, baz temiz havada ölçülüyor Baz çok küçükse koruma var ve süre gerçek donanım için tartışılmış Seviyeler Seviyeler titriyor ya da yanlış sensörden çıkıyor Üç sensör için histerezisli NORMAL, UYARI, TEHLIKE çalışıyor Yeni bir sensör tek satırla ekleniyor, seviyeBuldeğişmiyorÇıkışlar Çıkışlar seviyeyle uyuşmuyor LED, buzzer, röle ve ekran tabloya göre davranıyor Buzzer deseni değiştirilmiş (örneğin iki kısa bip) ve nedeni açıklanmış Test Test yapılmamış Test tablosundaki değerler denenmiş ve sonuçlar yazılmış Kenar durumlar (histerezis bandı, sensör kopması) denenmiş Güvenlik ve anlatım Sınırlar söylenmiyor Eğitim amaçlı olduğunu ve röle sınırını söylüyor Panelin gerçek hayatta neden yetmeyeceğini örneklerle anlatıyor Veli ve öğretmen notu
- Amaç. Bu hafta öğrencinin "sensör bir sayı verir, karar bizim" fikrini kavraması hedeflenir. Titremeyi görüp çözmesi, ezberlemekten daha değerlidir.
- Güvenlik. Bu platformdaki gaz, alev ve ısı sanaldır. Gerçek gaz, alev ya da ısıtıcıyla deney yapılmaz. Röle yalnızca 5 V'luk bir LED sürer; şebeke gerilimiyle (220 V) hiçbir devre kurulmaz. Bu panel sertifikalı bir gaz ya da yangın dedektörünün yerini tutmaz; evdeki gerçek koruma için uygun cihazlar kullanılmalıdır.
- Nasıl destek olunur? Öğrenci takıldığında cevabı söylemek yerine şunları sor: "Sensör ışıkla artıyor mu azalıyor mu?", "Temiz havada kaç okuyor?", "Seri monitör ne yazıyor?", "Hangi çıkış hangi seviyeden geliyor?"
- Tartışma sorusu. Konuşalım bölümündeki soruları sohbetle işleyin: Gaz varken fan çalışsın mı, alev varken de çalışsın mı? Gerçek panolarda bu kuralları kim belirler?
- Süre. Proje dersi uzundur; gerekirse iki oturuma bölünebilir. Isınma süresini beklemek sabır ister, gerçek donanımda çok daha uzundur.
- İlerleme. Mini test sonuçları "İlerlemem" sayfasında beceri bazında görünür (taslak/pilot özellik; yalnız onay verildiyse kaydedilir).
- 5
Haftalık rehber hedefler, gün gün plan, tekrar ve proje ölçütü
Hafta hedefleri
Bu haftanın sonunda öğrenci:
- Joystick'in iki potansiyometre ve bir düğmeden oluştuğunu söyleyebilir; orta noktayı ölçüp ölü bölge koyarak ham değeri -100...+100 aralığına çevirebilir.
- Döner enkoderde CLK ve DT sinyalinden dönüş yönünü bulabilir; sayacı kesme ve
volatileile tutabilir, sıçrama filtresinin neden gerektiğini açıklayabilir. - MPU6050'yi yazmaçlarla okuyabilir, ham değeri g ve °/s'ye çevirebilir,
atan2ile eğim açısı hesaplayabilir. - Jiroskop sapmasının neden hata biriktirdiğini açıklayabilir ve tamamlayıcı filtreyle iki sensörü birleştirebilir.
- Eğimi ters yönde servoya çeviren,
millisile bloklamayan bir mini gimbal kurabilir.
Haftanın planı
Hafta beş derstir; her ders yaklaşık 25-35 dakikadır. Aşağıdaki plan günde bir ders içindir.
Gün Ders Süre Ne yapılır 1 Joystick: iki eksen ve düğme ~25 dk Anlatımı oku, ham değerleri izle, merkezi ve ölü bölgeyi dene, mini testi çöz. 2 Döner enkoder (quadrature) ve kesme ~25 dk CLK/DT durum tablosunu çiz, sayacı çalıştır, sıçrama eşiğini değiştir. 3 MPU6050: ivmeölçer ve eğim açısı (I2C) ~30 dk Yazmaç okumayı dene, ham değeri g'ye çevir, pitch ve roll'u hesapla. 4 Jiroskop sapması ve tamamlayıcı filtre ~30 dk Sapmayı ölç, integralin kaymasını gör, ALFA değerini değiştir. 5 Proje: El eğimiyle kontrol edilen servo (mini gimbal) ~35 dk Devreyi kur, programı çalıştır, projeyi ölçütle değerlendir. Ön koşul kontrolü
Bu hafta önceki haftalardan şunlar gerekir. Başlamadan önce kontrol et:
INPUT_PULLUPve basılı düğmeninLOWokunduğunu biliyor mu? (ders 6)- Kenar algılama ve buton sıçramasını anlıyor mu? (ders 8)
analogReadile 0-1023 değerini okuyupmapile ölçekleyebiliyor mu? (ders 11 ve 14)- Servo açısını ve
millisile bloklamayan döngüyü biliyor mu? (ders 21 ve 27) attachInterrupt, ISR vevolatilekavramlarını biliyor mu? (ders 29)- I2C'de SDA, SCL ve cihaz adresini biliyor mu? (ders 33)
Kavram haritası
- Analog girdi: joystick (iki gerilim bölücü) → merkez → ölü bölge →
mapile -100...+100 - Sayma: enkoder → CLK ve DT (90 derece fark) → yön kuralı → kesme ve
volatile→ sıçrama filtresi - Hareket algılama: MPU6050 → yazmaç (0x6B, 0x3B) → ham → g ve °/s →
atan2ile açı - Sensör birleştirme: ivmeölçer (kaymaz, gürültülü) + jiroskop (hızlı, kayar) → tamamlayıcı filtre (
ALFA) - Proje: açı → ofset → servo = 90 − eğim →
constrain→millisile işler → açık çevrim
Sık yapılan hatalar
- Merkezi sabit 512 yazmak ya da ölü bölge koymamak. Kol bırakılmışken değer dalgalanır.
- Kol itilmişken programı başlatmak. Merkez yanlış ölçülür.
- CLK'yı kesme pinine (D2, D3) bağlamamak.
attachInterruptçalışmaz. sayac'ıvolatileyapmamak ya da ISR içindeSerial.print/delaykullanmak.- Sıçrama eşiğini çok büyük seçmek. Hızlı çevirirken gerçek tıklar da atılır.
- MPU6050'yi
0x6Byazmacına 0 yazmadan okumak. Çip uykuda kalır. ax / 16384yazmak. Tam sayı bölmesi 0 verir;16384.0yaz.- Baytları işaretsiz birleştirmek. Negatif değer 65000 gibi görünür;
int16_tkullan. - MPU6050 ile RTC'yi aynı hatta kullanmak. İkisi de 0x68 adresindedir.
- Hareket anında ivmeölçer açısına güvenmek. Çip eğilmeden
ax= 0,3 g bile yaklaşık 16,7 derece gösterir. dt'yi milisaniye ya da sabit yazmak. Integral 1000 kat bozulur ya da süre değişince kayar.- Sapma ölçerken çipi oynatmak. Bütün açı kayar.
- Gimbalde
delaykullanmak ve servoyu sınırlamamak. Düğme kaçar, servo mekanik uca dayanır.
Hafta sonu tekrarı
- Her dersin kavram kartlarına bir kez daha bak ve "sık yapılan yanlış" satırlarını yüksek sesle oku.
- Mini testlerde yanlış yaptığın soruların açıklamalarını yeniden oku, sonra soruyu yeniden çöz.
- Joystick programını bakmadan yaz: merkez ölç, ölü bölge ekle,
mapile ölçekle. - Enkoder için kâğıda iki yönün 11, 01, 00, 10 tablosunu çiz ve "CLK düşerken DT" kuralını kendi cümlenle anlat.
ALFAdeğerini 0,90, 0,98 ve 0,999 yaparak filtrenin titreşime ve kaymaya tepkisini karşılaştır; zaman sabitiniALFA · dt / (1 − ALFA)ile hesapla.- Şu soruyu kendi cümlelerinle cevapla: "İvmeölçer ve jiroskop neden birlikte kullanılır?"
Hafta sonu testi olarak beş dersin mini testleri yeterlidir; her derste 5 soru, toplam 25 soru. Hedef: her dersten en az 4 doğru. Eksik kalan dersin anlatımına dön.
Proje değerlendirme ölçütü (Mini gimbal)
Ölçüt Gelişmeli Yeterli İleri Devre MPU6050 ya da servo çalışmıyor, SDA/SCL karışık MPU6050, LCD, servo ve düğme doğru pinlerde; RTC yok Düzenli bağlantılar, servo gücünün neden ayrı olması gerektiğini açıklıyor Ölçüm ve filtre Yalnız ivmeölçer kullanıyor; açı titriyor Sapma ölçülüyor, tamamlayıcı filtre çalışıyor ALFAdeğerini deneyip etkisini açıklıyorKontrol Servo eğimle aynı yönde dönüyor ya da sınırsız Servo ters yönde dönüyor, 10...170 ile sınırlı, düğme sıfırlıyor Sınır LED'i çalışıyor, roll ekseni gibi bir geliştirme var Zamanlama delaykullanıyor; düğme kaçıyormillisile bloklamayan döngü vardt'yimicrosile hesaplıyor ve nedenini açıklıyorAnlatım Ne yaptığını anlatamıyor Sensörden servoya veri akışını adım adım anlatıyor Açık çevrimin sınırını ve nasıl iyileştirilebileceğini anlatıyor Veli ve öğretmen notu
- Amaç. Bu hafta formül ezberlemek değil, bir sensörün kusurlu olduğunu ve kusurunu başka bir sensörle kapatmayı görmektir. "İvmeölçer neden yanılıyor?" sorusu haftanın ana sorusudur.
- Nasıl destek olunur? Öğrenci takıldığında cevabı söylemek yerine sor: "Sensör şu an tam olarak neyi ölçüyor?", "Birimler uyumlu mu: derece mi radyan mı, ms mi s mi?", "Hangi satır çip uykudayken de çalışırdı?"
- Matematik.
atan2ve filtre formülü zor görünebilir. Önce değerleri laboratuvardan değiştirip sonucu izlemek, sonra formüle bakmak daha kolaydır. Hesaplamalar dört işlem ve basit oran düzeyindedir. - Süre. Dersleri aynı gün peş peşe yapmak yerine aralıklı çalışmak kalıcılığı artırır. Haftanın 3. ve 4. dersi arasında bir gün ara vermek iyi olur.
- Güvenlik. Bu platformdaki her şey sanaldır. Gerçek kartla çalışılırsa servoyu ayrı 5 V kaynaktan besle ve GND'leri ortak yap; şebeke gerilimiyle (220 V) hiçbir devre kurulmaz.
- İlerleme. Mini test sonuçları "İlerlemem" sayfasında beceri bazında görünür (taslak/pilot özellik; yalnız onay verildiyse kaydedilir).
- 6
Haftalık rehber hedefler, gün gün plan, tekrar ve proje ölçütü
Hafta hedefleri
Bu haftanın sonunda öğrenci:
- IR kumandanın mesajı ışığın süreleriyle taşıdığını, NEC mesajının yapısını (ön darbe, 32 bit, ters kopyalar) ve bitleri boşluk süresinden okumayı açıklayabilir.
- 4x4 tuş takımının matris mantığıyla 8 pinle nasıl okunduğunu anlatabilir;
getKey()ile rakam biriktiripstrcmpile PIN'i doğrulayan program yazabilir. - RFID'in ve UID'nin ne olduğunu, SPI'nin dört telini ve UID'nin neden tek başına parola sayılmayacağını söyleyebilir; projenin pin ihtiyacını önceden hesaplayabilir.
- PIN ve kart listesini EEPROM'da sabit adreslerle tutabilir; kurulum işareti,
EEPROM.updateve "sayacı en son yaz" kuralının nedenini açıklayabilir. - KILITLI, ACIK ve BLOKE durumlarından oluşan, hiç
delaykullanmayan bir kapı kilidini kurup test edebilir.
Haftanın planı
Hafta beş derstir; ilk dört ders 30-35 dakika, proje yaklaşık 40 dakika sürer. Plan günde bir ders içindir. Dördüncü dersten sonra bir gün ara vermek proje için iyi olur.
Gün Ders Süre Ne yapılır 1 IR alıcı ve kumanda kodları ~30 dk Anlatımı oku, NEC tablosunu incele, butonla darbe süresini ölç, çözücü sketch'ini çalıştır, mini testi çöz. 2 Keypad 4x4: şifre girişi ~30 dk Tuş takımını kur, her tuşun harfini seri monitörde gör, PIN programını dene. 3 RFID RC522 (SPI): kart okuma ~30 dk SPI pinlerini ve pin bütçesi tablosunu incele, KART:AABBCCDDile seri taklidi dene.4 Yetki yönetimi: kart + şifre + EEPROM ~35 dk EEPROM haritasını çiz, EKLE,SIL,LISTEkomutlarını dene, yeniden başlatıp listenin kaldığını gör.5 Proje: Akıllı kapı kilidi ~40 dk Devreyi kur, durum tablosunu kontrol et, deneme senaryosunun yedi adımını uygula, ölçütle değerlendir. Ön koşul kontrolü
Başlamadan önce şunlara bak:
INPUT_PULLUPile buton okumayı biliyor mu? (Modül 3, ders 6-7)millis()ile bloklamayan zamanlamayı ve durum makinesini görmüş mü? (Ders 27-28)- Servoyu
writeile döndürmeyi biliyor mu? (Ders 21) - I2C LCD'yi ve EEPROM'u daha önce kullandı mı? (Ders 32-34)
pulseInile süre ölçmeyi hatırlıyor mu? (Ders 37)- Seri monitörden satır gönderme kutusunu ve ▶ ile ■ düğmelerini kullanabiliyor mu?
Kavram haritası
- IR iletişim: 38 kHz taşıyıcı → ters çıkış (darbe LOW) → NEC → boşlukla bit →
uint32_tve bit kaydırma → ters kopya ile hata denetimi - Girdi: tuş matrisi → tarama →
getKey()→chardizisi ve'\0'→strcmp - Kimlik: RFID → UID → SPI (SCK, MOSI, MISO, SS) → 3,3 V → seri taklit
- Kalıcılık: EEPROM haritası → kurulum işareti →
EEPROM.update→ sayacı en son yaz → master PIN - Proje: kural → durum tablosu →
durumdeğişkeni →millis()ile süre → ortak hata sayacı → ayrı servo beslemesi
Sık yapılan hatalar
pulseIn(LOW)vepulseIn(HIGH)karıştırmak. IR alıcı ters çalışır: boşta HIGH, darbede LOW.- 32 bit için
intkullanmak. Uno'daint16 bittir;(uint32_t)1 << iyaz. - Tuş takımı satır ve sütunlarını ters yazmak. Her tuşu sırayla seçip seri monitörde ne yazdığına bak.
- Yazıları
==ile karşılaştırmak. İçerik içinstrcmp(UID gibi baytlar içinmemcmp) kullanılır. - Diziyi
'\0'için bir fazla boyutlandırmamak. 4 haneli PIN içinchar girilen[5]. - Gerçek RC522'yi 5 V ile beslemek. Modül 3,3 V ister.
- UID'yi parola sanmak. UID okunabilir ve taklit edilebilir; kart PIN ile birlikte kullanılır.
- Sayacı kayıttan önce artırmak. Yarım yazılmış kart yetkili görünebilir.
- Servoyu D6 gibi keypad pinlerinde bırakmak. D2-D9 bu hafta tuş takımına aittir; servo D10'a taşınır.
delayile kapıyı açık tutmak ya da bloke beklemek. Tuşlar ve seri komutlar kaçar, ekran donar.
Hafta sonu tekrarı
- Her dersin kavram kartlarını bir kez daha oku ve "sık yapılan yanlış" satırlarını yüksek sesle söyle.
- Yanlış yaptığın mini test sorularının açıklamasını oku, sonra soruyu yeniden çöz.
- Bir NEC mesajının neden her zaman yaklaşık 68 ms sürdüğünü kendi cümlelerinle açıkla.
- Bir EEPROM haritası çiz: 12 kart sığabilsin diye hangi adresleri değiştirmen gerekir? (İpucu: her kart 4 bayt.)
- Kendi evin için bir kapı kilidi kuralı yaz: kaç yanlışta, kaç saniye bloke olsun? Durum tablosuna dök.
- Kapı kilidi projesinde bloke süresini her seferinde iki katına çıkaracak bir değişiklik tasarla.
Hafta sonu testi olarak beş dersin mini testleri yeterlidir: her derste 5 soru, toplam 25 soru. Hedef: her dersten en az 4 doğru. Eksik kalan dersin anlatımına dön.
Proje değerlendirme ölçütü (Akıllı kapı kilidi)
Ölçüt Gelişmeli Yeterli İleri Devre Parçalar eksik ya da pinler keypad ile çakışıyor Keypad, servo, buzzer, iki LED ve LCD doğru pinlerde; servo D10'da Pin bütçesini ve neden kart okuyucunun seri taklit edildiğini açıklıyor Durum makinesi Durumlar karışık, kapı açık kalıyor KILITLI, ACIK ve BLOKE doğru geçişlerle çalışıyor Durum tablosunu çizmiş ve kodla birebir uyuşuyor Zamanlama delaykullanıyor, bloke sırasında tuşlar donuyorAçık kalma 5 sn, bloke 30 sn, millis()ileSüreleri değiştirip etkisini açıklıyor; taşmaya dayanıklı karşılaştırmayı biliyor Yetki PIN ve kart ayrı sayaçlarla çalışıyor PIN ve kart ortak sayaçta; yönetim komutları master PIN ister Bloke süresini artıran bir kural ekledi ya da fabrika PIN'lerini değiştirdi Geri bildirim Ekran ve buzzer olaylarla uyuşmuyor LCD, LED ve buzzer her olayı gösteriyor Mesajları Türkçe karaktersiz ve 16 karaktere sığacak biçimde tasarlamış Güvenlik bilinci Açıkları düşünmedi Seri portun yönetim açığı olduğunu fark etti Gerçek üründe neyin değişeceğini (ayrı besleme, deneme sınırı, seri yönetimi kapatma) anlatıyor Veli ve öğretmen notu
- Amaç. Bu hafta birçok bilgiyi bir araya getirme haftasıdır: tuş takımı, kart, EEPROM, servo ve ekran. Öğrenci hepsini ezberlemek zorunda değildir; önemli olan planı yazılı bir tabloya dökmeyi ve parçaları tek tek sınayıp birleştirmeyi öğrenmesidir.
- Dürüstlük notu. Laboratuvarda kart okuyucu ve IR kumanda parçası yoktur. Kart seri monitörden taklit edilir; IR için buton kullanılır. Bu, bilerek seçilmiş bir test yöntemidir ve gerçek donanım yerine geçmez. Öğrenciye bunu açıkça söyleyin.
- Nasıl destek olunur? Takıldığında cevabı söylemek yerine şunu sorun: "Şu an kapı hangi durumda?", "Seri monitör ne yazıyor?", "Hangi pini iki parçaya birden verdin?"
- Güvenlik. Her şey sanaldır. Gerçek bir kapıyı etkileyen sistem kurulacaksa şebeke gerilimiyle (220 V) doğrudan çalışılmaz; yönetim PIN'leri ve deneme sınırı gerçek üründe zorunludur. Fabrika PIN'lerinin (1234 ve 9999) gerçek bir kilitte kullanılmayacağını vurgulayın.
- Süre. Dersleri aralıklı yapmak kalıcılığı artırır; dördüncü ders yoğundur, gerekirse iki oturuma bölün.
- İlerleme. Mini test sonuçları "İlerlemem" sayfasında beceri bazında görünür (taslak/pilot özellik; yalnız onay verildiyse kaydedilir).
- 7
Haftalık rehber hedefler, gün gün plan, tekrar ve proje ölçütü
Hafta hedefleri
Bu haftanın sonunda öğrenci:
- RTC modülünü I2C ile bağlayıp
rtc.now()ile tarih ve saati okuyabilir,rtc.adjust()ile kurabilir ve basit bir alarm yazabilir. - SD kartın SPI ile nasıl bağlandığını, 8.3 dosya adı kuralını ve
close()/flush()ile verinin karta nasıl yazıldığını açıklayabilir. - Zaman damgalı bir CSV satırı üreten, donanımdan bağımsız bir fonksiyon yazabilir; ondalık virgül ile sütun ayracı çatışmasını açıklayabilir.
- UART, I2C ve SPI protokollerini hat sayısı, hız ve cihaz seçimi bakımından karşılaştırabilir; bit sayısından aktarım süresini hesaplayabilir.
- RTC, DHT22, LCD ve butonu birleştiren bir sıcaklık ve nem veri kaydedicisi kurabilir.
Haftanın planı
Hafta beş derstir; ders süreleri 25-35 dakikadır. Aşağıdaki plan günde bir ders içindir.
Gün Ders Süre Ne yapılır 1 RTC: saat, tarih, alarm ~25 dk Anlatımı oku, RTC'yi kur, saati okut, adjustile gece yarısına ayarla, alarmı dene, mini testi çöz.2 SD kart (SPI): dosyaya yazma ~25 dk Laboratuvarda SD yok: devreyi tablodan oku, kodu yaz ve derle, "Dene" sorularını kağıt üzerinde cevapla. 3 Veri kaydı: CSV ve zaman damgası ~30 dk Satır fonksiyonunu sabit değerlerle dene, RTC + DHT22 ile canlı satır üret. 4 Haberleşme protokolleri: UART, I2C, SPI karşılaştırması ~30 dk Üç ölçüm programını çalıştır, tabloları kendi hesabınla karşılaştır. 5 Proje: Sıcaklık ve nem veri kaydedici ~35 dk Planı tabloya yaz, devreyi kur, kaydediciyi çalıştır, ölçütle değerlendir. Ön koşul kontrolü
Bu hafta şunlar gerekir. Eksik olanın dersine dön:
millis()ile bloklamayan zamanlama (Modül 3, ders 27)- I2C,
Wireve adresler (ders 33); I2C LCD (ders 32) - Buton ve kenar algılama (ders 8)
- DHT22 ile sıcaklık ve nem okumak (Modül 4, ders 46)
Stringve SRAM sınırı (ders 34)- SPI'ya ilk giriş (ders 63)
Kavram haritası
- Zaman:
millis()→ RTC →DateTime→adjustvelostPower→ alarm - Depolama: EEPROM (1 KB) → SD kart → SPI (SCK, MOSI, MISO, CS) → 8.3 ad →
closeveflush - Veri biçimi: CSV → zaman damgası (ISO 8601) → satır fonksiyonu →
NaNve boş alan → ondalık ayırıcı - Haberleşme: UART (baud) → I2C (adres, SDA/SCL) → SPI (CS) → bit süresi ve aktarım süresi
- Proje: RTC saniyesine bağlı kayıt → tekrar önleme bayrağı → butonla aç/kapat → hataya dayanıklı satır
Sık yapılan hatalar
adjust(__DATE__, __TIME__)satırını koşulsuz bırakmak. Her açılışta saat derleme anına döner; yalnızlostPower()doğruysa ayarla.- MPU6050 ile RTC'yi aynı I2C hattına bağlamak. İkisi de 0x68 kullanır.
close()ya daflush()çağırmamak. Gerçek cihazda son satırlar kaybolur.- Dosya adını 8.3 kuralının dışında seçmek.
sicaklik_kaydi.csvgibi ad açılamaz. - Ay ve günü iki haneli yazmamak. Metin sıralaması zaman sırasını bozar.
- Ondalık virgül ve ayraç virgülü birlikte kullanmak.
23,5iki sütuna bölünür. - Baud hızlarını farklı seçmek. Karşı taraf anlamsız karakterler görür.
- Aynı saniyede satırı birden çok kez yazmak.
u != sonKayitbayrağı gerekir. delay(10000)ile kayıt aralığını beklemek. Buton ve ekran donar.- D11, D12, D13 pinlerine LED bağlayıp SD kartı da kullanmak. Bu pinler SPI hatlarıdır.
Hafta sonu tekrarı
- Her dersin kavram kartlarına bak ve "sık yapılan yanlış" satırlarını yüksek sesle oku.
- Mini testlerde yanlış yaptığın soruların açıklamalarını yeniden oku, sonra soruyu yeniden çöz.
- Kendi cümlelerinle cevapla: "Veri kaydedicide neden
millis()yerine RTC kullanıyoruz?" - 5 saniyelik aralıkla bir günde kaç satır yazılır? 60 saniyelik aralıkla bir haftada kaç? Hesapla ve dosya boyutunu tahmin et.
- Aynı anda RTC, LCD ve SD kullanan bir devrede hangi pinlerin hangi protokole ait olduğunu bir tabloya çiz.
Hafta sonu testi olarak beş dersin mini testleri yeterlidir; her derste 5 soru, toplam 25 soru. Hedef: her dersten en az 4 doğru. Eksik kalan dersin anlatımına dön.
Proje değerlendirme ölçütü (Sıcaklık ve nem veri kaydedici)
Ölçüt Gelişmeli Yeterli İleri Devre RTC ya da LCD tepki vermiyor, SDA/SCL karışık DHT22, RTC, LCD ve buton doğru pinlerde, RTC (0x68) ve LCD (0x27) çakışmıyor Bağlantılar düzenli, adresler ve pin tablosu açıklanmış Kayıt biçimi Satırlar bozuk ya da sütun sayısı tutmuyor Başlık + zaman damgalı, iki haneli, 3 sütunlu CSV satırları NaN durumunda boş alan yazılıyor ve denenmiş Zamanlama delaykullanıyor ya da aynı saniyede çok satır yazıyorSatırlar 10 saniyelik tam adımlarla, tekrarsız çıkıyor Aralığı değiştirip etkisini açıklıyor Kontrol Buton kaydı güvenilir biçimde durduramıyor Buton kaydı aç/kapat yapıyor, ekranda durum görünüyor Sıçrama ve kenar algılamayı açıklıyor, ek uyarı (örneğin buzzer) ekliyor Anlatım Ne yaptığını anlatamıyor Veri akışını (sensör → satır → kayıt) adım adım anlatıyor Hata yapıp nasıl bulduğunu ve SD sürümünün farkını anlatıyor Veli ve öğretmen notu
- Amaç. Bu hafta öğrenci, ölçümün "bir an"dan çıkıp zamana bağlı bir veri kümesine dönüşmesini görür. Önemli olan mükemmel bir kayıt cihazı değil, verinin neden zaman damgasına ve düzenli bir biçime ihtiyaç duyduğunu anlamasıdır.
- SD kart. Sanal laboratuvarda SD kart modülü yoktur; ikinci ders ve projenin SD sürümü okuma ve derleme çalışmasıdır. Gerçek bir kartla yapılacaksa FAT32 biçimli kart ve 3,3 V uyumlu bir modül gerekir.
- Nasıl destek olunur? Takılınca cevabı söylemek yerine sor: "Bu satırın kaç sütunu var?", "Saat hangi anda kuruldu?", "Aynı saniyede kaç kez yazıyor?"
- Süre. Dersleri aralıklı çalışmak kalıcılığı artırır. Protokol dersi (4. gün) sayı hesabı içerir; gerekirse hesap makinesi kullanılabilir.
- Güvenlik. Şebeke gerilimiyle (220 V) hiçbir devre kurulmaz. Gerçek devrede kartı çıkarmadan önce dosyanın kapalı olması gerekir.
- İlerleme. Mini test sonuçları "İlerlemem" sayfasında beceri bazında görünür (taslak/pilot özellik; yalnız onay verildiyse kaydedilir).
- RTC modülünü I2C ile bağlayıp
- 8
Haftalık rehber hedefler, gün gün plan, tekrar ve proje ölçütü
Hafta hedefleri
Bu haftanın sonunda öğrenci:
- Laboratuvarın hangi gerçek dünya etkilerini modellediğini (ADC basamağı, zamanlama, sensör besleme eşikleri), hangilerini modellemediğini (gürültü, buton sıçraması, 5V çökmesi) ayırt edebilir.
- Bir ADC basamağının yaklaşık 4,89 mV olduğunu söyler; ortalama ve histerezisle gürültülü okumadan kararlı bir karar çıkarır.
- Buton sıçramasını kararlı kalma süresiyle (debounce) ve
delay()yüzünden kaçan basışımillis()ile giderir. - Besleme değişince analog sensör sayılarının kaydığını bilir,
mapveconstrainile iki nokta kalibrasyonu yapar ve sessiz kalan sensörde çıkışı güvenli tarafta bırakır. - Hatayı alttan üste (fiziksel, adres, kimlik, veri) arar; XOR checksum ile bozuk çerçeveyi yakalar.
- PIR, LDR, DHT22, röle, LCD ve butonu tek bir durum makinesinde birleştirerek Akıllı oda projesini kurar.
Haftanın planı
Hafta beş derstir; her ders yaklaşık 30-35 dakikadır. Aşağıdaki plan günde bir ders içindir. Laboratuvarın "yalan söylediği" yerler bu hafta bilerek öğretilir; öğrenciye "laboratuvarda gördün mü, yoksa kodla mı taklit ettik?" sorusunu sor.
Gün Ders Süre Ne yapılır 1 Laboratuvar kusursuzdur: ADC basamağı ve gürültü ~30 dk Modellenen ve modellenmeyen etkiler tablosunu oku, ADC basamağını ve sahte gürültüyü dene, tek eşik ile histerezisi karşılaştır. 2 Buton sıçraması ve tepki gecikmesi ~30 dk Sıçramalı sayacı ve debounce'u çalıştır, delayvemillissürümlerinin tepkisini karşılaştır.3 Besleme düşmesi ve kalibrasyon ~30 dk Toprak nemini iki nokta ile kalibre et, VCC'yi 3V3'e al, pin yükünü sanal ölçümle oku, YOKdurumunu üret.4 Hata ayıklama vakası: "ping çalışıyor ama veri yok" ~30 dk Dört katmanlı testi çalıştır, hata modlarını tek tek üret, XOR çerçevesini elle doğrula. 5 Bitirme projesi: Akıllı oda ~35 dk Devreyi kur, programı yükle, "Uçtan uca denemek" adımlarını sırayla uygula, proje ölçütüyle değerlendir. Ön koşul kontrolü
Bu hafta Modül 3 ve Modül 4'ün ilk yedi haftasından bilgi gerekir. Başlamadan önce kontrol et:
analogRead,map,constrainve yumuşatma (11. ve 14. dersler) biliniyor mu?- Buton,
INPUT_PULLUPve debounce (6. ve 8. dersler) biliniyor mu? millis()ile bloklamayan kod ve durum makinesi (27. ve 28. dersler) yapılabiliyor mu?- PIR, DHT22, LDR ve röle ayrı ayrı kullanıldı mı (Hafta 2-4 ve 24. ders)? Proje bunların hepsini birleştirir.
- I2C ve LCD (32. ve 33. dersler) kullanımı hatırlanıyor mu?
Kavram haritası
- Sınırlar: laboratuvar neyi modeller → ADC basamağı, zamanlama, sensör besleme eşiği → neyi modellemez → gürültü, sıçrama, 5V çökmesi, referans kayması
- Gürültüye karşı: ortalama (karekök N) → histerezis (iki eşik) → bant, gürültü genliğinden geniş
- Zamana karşı: sıçrama → kararlı kalma süresi (debounce) →
delaytuzağı →millis() - Güce karşı: AO = VCC x oran → koşula bağlı kalibrasyon →
map+constrain→ pin iç direnci → brown-out → fail-safe - Hata ayıklamaya karşı: fiziksel → adres → kimlik → veri makullüğü → XOR checksum
- Proje: girdi → durum → çıkış → ISINMA / BOS / DOLU / KAPALI → iki histerezis → güvenli varsayılan
Sık yapılan hatalar
- "Laboratuvarda sorun yoktu, gerçekte de olmaz" demek. Gürültü, sıçrama ve güç çökmesi laboratuvarda yoktur.
- Histerezis aralığını gürültüden dar seçmek. Titreme geri gelir.
- Ortalamayı gereksiz büyütmek. 64 okuma 64 kat iştir; kazanç karekökle artar.
- Debounce'ta bırakma sıçramasını unutmak. Bekleme iki yönde de çalışmalıdır.
- Kararlı kalma süresini çok uzun seçmek. Hızlı basışlar kaçar.
delay()içinde butonu dinlemeyi beklemek. Kısa basış iki okuma arasında kalır.constrainunutmak. Kalibre edilmiş yüzde 0'ın altına ya da 100'ün üstüne çıkar.- Kalibrasyonu başka beslemede kullanmak. AO gerilimi VCC ile orantılıdır.
pulseIn0 döndüğünde "mesafe 0" sanmak. Cevap yoktur; çıkışı güvenli tarafta bırak.- Adres cevabını "cihaz doğru" saymak. Kimlik ve veri katmanları ayrı sınanır.
- Fanı kartın 5V ucundan beslemek. Gerçek devrede kart sıfırlanabilir; laboratuvar göstermez.
- Akıllı odada PIR ısınmasını hesaba katmamak. Açılışta oda dolu sanılır.
Hafta sonu tekrarı
- Her dersin kavram kartlarına bir kez daha bak ve "sık yapılan yanlış" satırlarını yüksek sesle oku.
- Mini testlerde yanlış yaptığın soruların açıklamalarını yeniden oku, sonra soruyu yeniden çöz.
- Laboratuvarın modellediği ve modellemediği etkileri kendi cümlelerinle bir tabloya yaz; her satıra gerçek devrede kullanacağın önlemi ekle.
- Hesabı elle yap: ADC basamağı kaç mV? 3V3 ile beslenen toprak nemi modülünde nem 0,5 iken ham değer ne olur?
- Akıllı oda programının üç durumunu kağıda çiz ve her oktaki koşulu yaz.
Hafta sonu testi olarak beş dersin mini testleri yeterlidir; her derste 5 soru, toplam 25 soru. Hedef: her dersten en az 4 doğru. Eksik kalan dersin anlatımına dön.
Proje değerlendirme ölçütü (Akıllı oda)
Ölçüt Gelişmeli Yeterli İleri Devre Birkaç parça bağlı değil ya da pinler karışmış Tüm parçalar tabloya göre doğru bağlı Bağlantılar düzenli ve her parçanın görevi açıklanıyor Durum makinesi Durumlar yok, bayraklar dağınık ISINMA, BOS, DOLU ve KAPALI durumları doğru geçiyor Durumlar tablo ve kodla birebir uyuşuyor, yeni durum eklenmiş Eşikler Tek eşik, lamba ya da fan titriyor Işık ve fan histerezisle karar veriyor Eşikler denemeyle seçilmiş ve nedenleri açıklanıyor Güvenli davranış DHT hatasında fan açık kalıyor DHT hatasında fan kapalı ve LCD hata yazıyor Başka sensör arızaları da ele alınmış Zamanlama delaykullanıyor, buton ve PIR geç tepki veriyormillis()ile her iş kendi zamanındaSüreler ve DHT aralığı gerekçesiyle seçilmiş Gerçek dünya farkı Laboratuvar farkından söz etmiyor Gürültü, sıçrama ve güç farkını söylüyor Gerçek devre için kalibrasyon ve önlem listesi yazıyor Veli ve öğretmen notu
- Amaç. Bu hafta yeni bir sensör öğrenilmez; öğrencinin "çalışıyor" sözünün ne kadar kanıta dayandığını sorgulaması hedeflenir. Laboratuvarın sınırlarını bilmek, gerçek devreye geçişin en önemli hazırlığıdır.
- Nasıl destek olunur? Öğrenciye cevabı söylemek yerine şunu sor: "Bunu laboratuvar gerçekten üretti mi, yoksa biz mi taklit ettik?", "Bu hatayı hangi katmanda arıyorsun?", "Sensör cevap vermezse çıkış ne olmalı?"
- Süre. Dersler dolu (30-35 dk). Aynı gün iki ders yerine aralıklı çalışmak kalıcılığı artırır.
- Güvenlik. Bu platformdaki her şey sanaldır. Ders gerçek kartla tekrarlanacaksa şebeke gerilimiyle (220 V) hiçbir devre kurulmaz; motor, röle ve servo için ayrı güç kaynağı ve ortak GND kullanılır. Pil kullanılacaksa kısa devre ve ters bağlamaya dikkat edilir.
- Hyvex vakası. 74. ders, Hyvex ekibinin staj programındaki bir vakaya dayanır; yalnızca programda yazılan bilgiler aktarılmıştır.
- İlerleme. Dersin sonundaki mini test sonuçları "İlerlemem" sayfasında beceri bazında görünür (taslak/pilot özellik; yalnız onay verildiyse kaydedilir).