Yazılım 2: LED, Sıklaşan Bip ve LCD
Robotik Kodlama 2 · 31. hafta ders notu · RK.2.3.2
- Mesafe bölgesine göre yeşil, sarı ve kırmızı LED'den yalnızca birini yakan programı yazar.
- Bip aralığını mesafeye bağlayarak engel yaklaştıkça sıklaşan bir sesli uyarı oluşturur.
- I²C LCD ekranın satır–sütun düzenini kullanarak mesafeyi ve bölge adını ekrana yazdırır.
- Blok programı ile Arduino C karşılığını (tone, digitalWrite, lcd.setCursor) satır satır eşleştirir.
Sınıf park sensörü ve kâğıt LCD
Yere 50 ve 20 cm yerine 5 ve 2 adımlık bant çizgileri çekilir. Bir öğrenci "araç" olarak tahtaya doğru yürür; "LED" öğrencisi bölgeye göre yeşil, sarı ya da kırmızı kartı kaldırır, "buzzer" öğrencisi el çırpma ritmini sıklaştırır. Tahtadaki 16×2 kareli LCD şablonuna da başka bir öğrenci ölçülen adım sayısını sütun ve satır numarasına dikkat ederek yazar. Sınıf hataları (iki kart birden kalkması, yazının 17. sütuna taşması) yakalar.
Konu anlatımı
Önce konuyu aç, sonra sorulara dokun: cevap altında açılır. Soru işaretli kutulara dokununca cevap görünür.
01Uyarı devresi
- 1Yeşil LED (pin 2)Güvenli bölgede yanar.Dokun, adını gör
- 2Kırmızı LED (pin 4)Tehlike bölgesinde yanar; sarı LED pin 3’tedir.Dokun, adını gör
- 3220 Ω dirençLED’den geçen akımı sınırlar; her LED’e bir tane.Dokun, adını gör
- 4Buzzer (pin 8)tone() komutuyla bip sesi üretir.Dokun, adını gör
- 5HC-SR04 (Trig 7, Echo 6)Mesafeyi ölçer.Dokun, adını gör
- 6I²C LCD (A4, A5)SDA → A4, SCL → A5; iki veri kablosuyla yazı gösterir.Dokun, adını gör
- 7Arduino UNOTüm parçaları yönetir; GND hattı hepsinde ortaktır.Dokun, adını gör
Numaralara dokun.
?Neden üç LED için üç ayrı pin kullanıyoruz?
?Buzzer'ın hangi türü tone komutuyla çalışır?
02Bölgeye göre ışık ve ses
?Bipin sıklaşmasını hangi blok sağlar?
?"kısa bip" alt programında ne vardır?
Biliyor muydun?
Tehlike bölgesinde sesi kesintisiz yapmak, kullanıcıya "artık uyarı değil, dur!" mesajı verir. Gerçek park sensörleri de aynı dili kullanır.
03LCD ekrana yazmak
?setCursor(5, 1) ekranda nereyi gösterir?
?"27 cm" yazdıktan sonra mesafe "8 cm" olursa ekranda neden "8 cmm" gibi bir yazı görünebilir?
04Arduino C karşılığı
Blok programındaki her kararın C karşılığını bul.
?"delay(d * 10)" neden mesafe ÷ 100 saniyeyle aynıdır?
?"(int)d" ne işe yarar?
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
for (int p = 2; p <= 4; p++) pinMode(p, OUTPUT);
lcd.init();
lcd.backlight();
}
void loop() {
float d = mesafeOlc();
digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW);
lcd.setCursor(0, 0);
lcd.print("Mesafe: "); lcd.print((int)d); lcd.print(" cm ");
lcd.setCursor(0, 1);
if (d < 20) {
digitalWrite(4, HIGH); tone(8, 1000);
lcd.print("TEHLIKE ");
} else if (d < 50) {
digitalWrite(3, HIGH); tone(8, 1000, 100);
lcd.print("UYARI ");
delay(d * 10);
} else {
digitalWrite(2, HIGH); noTone(8);
lcd.print("GUVENLI ");
}
}
Ders akışı
40 dakikalık bir ders saati için planlandı. Adımın başlığına dokun, ayrıntılar açılsın.
5dkIsınma: Park sensörünü dinle
Bip sesleri çizimini göster ve sınıfla birlikte ritmi el çırparak canlandır: 60 cm'de sessizlik, 45 cm'de seyrek, 25 cm'de sık, 10 cm'de kesintisiz ses. "Sürücü ekrana bakmadan mesafeyi nasıl anlıyor?" diye sor. Bugün geçen haftaki "mesafe ölç" alt programının sonucunu ışığa, sese ve yazıya dönüştüreceğiz.
8dkKeşif: Uyarı devresi
Numaralı devre çizimini aç. Öğrenciler numaralara dokunarak her LED'in kendi 220 Ω direnciyle 2, 3 ve 4 numaralı pinlere, buzzer'ın pin 8'e, LCD'nin yalnızca dört kabloyla (5V, GND, SDA → A4, SCL → A5) bağlandığını açıklar. Tinkercad'de devreyi 28. haftanın sensör devresinin üzerine ekleyin.
10dkKeşif: Bölgeye göre ışık ve ses
Önce tüm LED'leri söndüren küçük bir alt program yazın; böylece bölge değişince eski LED yanık kalmaz. Ardından iç içe "eğer–değilse" ile bölge kararını kurun. Uyarı bölgesinde bekleme süresini mesafeye bağlayın: mesafe ÷ 100 saniye. 45 cm'de 0,45 sn, 25 cm'de 0,25 sn olduğunu tahtada hesaplayın.
12dkEtkinlik: LCD'ye yaz
LCD çizimini göster: 16 sütun, 2 satır, numaralar 0'dan başlar. Gruplar önce tahtadaki kareli şablona "Mesafe: 27 cm" ve "UYARI" yazılarını harf harf yerleştirir, sonra aynı düzeni setCursor bloklarıyla programlar. Türkçe karakterlerin görünmediğini fark edince "TEHLIKE, GUVENLI" yazımına geçerler. Ekran titriyorsa nedenini (her döngüde temizleme) tartışın.
5dkDeğerlendirme: Uyarı kontrol listesi
Gruplar benzetimde hedefi 60, 45, 25 ve 10 cm'ye getirip 6 maddelik listeyi işaretler: doğru LED yanıyor mu, aynı anda tek LED mi yanıyor, bip sıklaşıyor mu, tehlikede ses kesintisiz mi, LCD'de sayı doğru mu, yazı titremiyor mu. Bir başka grup aynı testi onların programında tekrarlar ve farklı bulduğu maddeyi işaretler.
Doğru mu, yanlış mı?
Dersin sonunda tahtada ya da öğrencinin kendi cihazında çözülür.
1. Her LED'in önüne akımı sınırlayan bir direnç (örneğin 220 Ω) konur.
Cevabı göster
Doğru · Direnç olmazsa LED'den çok akım geçer; LED ve Arduino pini zarar görebilir.2. Bölge değiştiğinde önceki LED kendiliğinden söner.
Cevabı göster
Yanlış · Arduino bir pini YÜKSEK yaptıktan sonra biz DÜŞÜK yapana kadar öyle kalır. Bu yüzden her döngünün başında tüm LED'leri söndüren alt programı çağırırız.3. Uyarı bölgesinde bekleme süresi mesafe ÷ 100 saniye ise 30 cm'de bipler arasında 0,3 saniye beklenir.
Cevabı göster
Doğru4. Mesafe azaldıkça bekleme süresi uzar ve bipler seyrekleşir.
Cevabı göster
Yanlış · Bekleme süresi mesafeyle orantılıdır; mesafe küçüldükçe bekleme kısalır, bipler sıklaşır.5. tone(8, 1000) komutu pin 8'deki buzzer'dan 1000 Hz'lik ses çıkarır, noTone(8) bu sesi susturur.
Cevabı göster
Doğru6. 16×2 LCD ekranda satır ve sütun numaraları 1'den başlar.
Cevabı göster
Yanlış · Numaralar 0'dan başlar: sütunlar 0–15, satırlar 0–1. setCursor(0, 1) ikinci satırın ilk karesidir.7. I²C LCD, Arduino UNO'ya veri için yalnızca iki kabloyla (SDA ve SCL) bağlanır.
Cevabı göster
Doğru · Besleme için 5V ve GND ile birlikte toplam dört kablo yeterlidir.8. Standart karakter LCD'ler "Ş, ğ, ı" gibi Türkçe harfleri doğrudan gösterebilir.
Cevabı göster
Yanlış · Ekranın içindeki hazır karakter tablosunda bu harfler yoktur. "TEHLIKE" gibi yazarız; gerekirse createChar ile en fazla 8 özel karakter tasarlanabilir.9. Her döngüde lcd.clear() kullanmak ekranın titremesine neden olabilir.
Cevabı göster
Doğru · Ekran çok sık silinip yeniden yazıldığı için göz titreme görür. Bunun yerine yazının sonuna boşluk ekleyerek eski karakterlerin üzerine yazmak daha iyidir.10. Uyarı bölgesinde delay ile beklenirken Arduino mesafeyi ölçmeye devam eder.
Cevabı göster
Yanlış · delay sırasında Arduino başka iş yapmaz. Bu yüzden 0,45 saniyelik beklemede engel yaklaşırsa fark edilmez; daha ileri programlarda millis() ile beklemeden zaman ölçülür.31. hafta günlük planı
2026–2027 2. düzey Seçmeli Robotik Kodlama 2 dersi 31. hafta günlük planı. Okul ve öğretmen bilgileriyle doldurulmuş Word dosyası için etkileşimli sürümde Evraklar › Günlük planlar bölümünü kullanın.
2026–2027 EĞİTİM ÖĞRETİM YILI …………………………
SEÇMELİ ROBOTİK KODLAMA 2. SEVİYE DERSİ GÜNLÜK PLANI · 31. HAFTA
| BÖLÜM I · DERSE İLİŞKİN BİLGİLER | |||
|---|---|---|---|
| Ders | Seçmeli Robotik Kodlama 2. Seviye | Sınıf / Düzey | 2. düzey (seçmeli) |
| Hafta / Tarih | 31. Hafta · 10–14 Mayıs (MAYIS) | Süre | 2 ders saati (40' + 40') |
| Tema | ÇARPIŞMA ÖNLEYİCİ | ||
| Konu | Yazılım 2: LED, Sıklaşan Bip ve LCD | ||
| BÖLÜM II · ÖĞRENME ÇIKTILARI VE KAYNAKLAR | |||
| Öğrenme çıktısı | RK.2.3.2 Yazılım yerleştirme, benzetim, test ve hata ayıklama | ||
| Süreç bileşenleri |
| ||
| Araç, gereç ve kaynaklar | Akıllı tahta ve Tinkercad Devreler · Varsa 3 LED, 3 adet 220 Ω direnç, buzzer, I²C LCD 16×2 · Tahtaya çizilmiş 16×2 kareli LCD şablonu · Yeşil, sarı, kırmızı renk kartları; maskeleme bandı · Bilişim Ders Notları ders sayfası, sunum ve etkinlikler (bilisimdersnotlari.com) | ||
| BÖLÜM III · ÖĞRENME-ÖĞRETME UYGULAMALARI | |
|---|---|
| Süre | Etkinlik akışı |
| 1. ders 5 dk | Isınma: Park sensörünü dinle Bip sesleri çizimini göster ve sınıfla birlikte ritmi el çırparak canlandır: 60 cm'de sessizlik, 45 cm'de seyrek, 25 cm'de sık, 10 cm'de kesintisiz ses. "Sürücü ekrana bakmadan mesafeyi nasıl anlıyor?" diye sor. Bugün geçen haftaki "mesafe ölç" alt programının sonucunu ışığa, sese ve yazıya dönüştüreceğiz. |
| 1. ders 8 dk | Keşif: Uyarı devresi Numaralı devre çizimini aç. Öğrenciler numaralara dokunarak her LED'in kendi 220 Ω direnciyle 2, 3 ve 4 numaralı pinlere, buzzer'ın pin 8'e, LCD'nin yalnızca dört kabloyla (5V, GND, SDA → A4, SCL → A5) bağlandığını açıklar. Tinkercad'de devreyi 28. haftanın sensör devresinin üzerine ekleyin. |
| 1. ders 10 dk | Keşif: Bölgeye göre ışık ve ses Önce tüm LED'leri söndüren küçük bir alt program yazın; böylece bölge değişince eski LED yanık kalmaz. Ardından iç içe "eğer–değilse" ile bölge kararını kurun. Uyarı bölgesinde bekleme süresini mesafeye bağlayın: mesafe ÷ 100 saniye. 45 cm'de 0,45 sn, 25 cm'de 0,25 sn olduğunu tahtada hesaplayın. |
| 1. ders 12 dk | Etkinlik: LCD'ye yaz LCD çizimini göster: 16 sütun, 2 satır, numaralar 0'dan başlar. Gruplar önce tahtadaki kareli şablona "Mesafe: 27 cm" ve "UYARI" yazılarını harf harf yerleştirir, sonra aynı düzeni setCursor bloklarıyla programlar. Türkçe karakterlerin görünmediğini fark edince "TEHLIKE, GUVENLI" yazımına geçerler. Ekran titriyorsa nedenini (her döngüde temizleme) tartışın. |
| 1. ders 5 dk | Değerlendirme: Uyarı kontrol listesi Gruplar benzetimde hedefi 60, 45, 25 ve 10 cm'ye getirip 6 maddelik listeyi işaretler: doğru LED yanıyor mu, aynı anda tek LED mi yanıyor, bip sıklaşıyor mu, tehlikede ses kesintisiz mi, LCD'de sayı doğru mu, yazı titremiyor mu. Bir başka grup aynı testi onların programında tekrarlar ve farklı bulduğu maddeyi işaretler. |
| 2. ders 10 dk | Tekrar: Sunum 9 slaytlık ders sunumu akıllı tahtada açılır; önceki saatte öğrenilen kavramlar öğrencilerle birlikte tekrar edilir. |
| 2. ders 20 dk | Uygulama: Etkinlikler Akıllı tahtada etkileşimli etkinlikler oynanır: Uyarı devresi: numarayı eşleştir; Mesafeye göre ne olur?; Blok ↔ Arduino C; Doğru mu, yanlış mı?; Kutuyu aç: konu soruları; Eşleşen kartlar: Yazılım 2: LED, Sıklaşan Bip ve LCD. |
| 2. ders 10 dk | Değerlendirme 10 soruluk doğru-yanlış testi tahtada birlikte çözülür; yanlış cevaplar gerekçeleriyle tartışılır. |
| Farklılaştırma | Bilgisayarsız sınıf alternatifi: Sınıf park sensörü ve kâğıt LCD. Yere 50 ve 20 cm yerine 5 ve 2 adımlık bant çizgileri çekilir. Bir öğrenci "araç" olarak tahtaya doğru yürür; "LED" öğrencisi bölgeye göre yeşil, sarı ya da kırmızı kartı kaldırır, "buzzer" öğrencisi el çırpma ritmini sıklaştırır. Tahtadaki 16×2 kareli LCD şablonuna da başka bir öğrenci ölçülen adım sayısını sütun ve satır numarasına dikkat ederek yazar. Sınıf hataları (iki kart birden kalkması, yazının 17. sütuna taşması) yakalar. |
| BÖLÜM IV · ÖLÇME VE DEĞERLENDİRME | |
|---|---|
| Ölçme araçları | Kontrol listesi, dereceli puanlama anahtarı, öz ve akran değerlendirme |
| Doğru-yanlış soruları |
|
| Dersin uygulanmasına ilişkin açıklamalar | Tinkercad'de I²C LCD bileşeni "LCD 16 x 2 (I2C)" adıyla bulunur ve kendi kitaplığını kullanır; gerçek kartta en yaygın kitaplık LiquidCrystal_I2C'dir ve adres çoğunlukla 0x27 ya da 0x3F'tir. Ekranda hiçbir şey görünmüyorsa önce modülün arkasındaki kontrast vidasını çevirmeyi deneyin. |