Proje Özeti
Ne geliştirilecek?
HC-SR04 ile engel algılayıp motor sürücü üzerinden yön değiştiren hareketli robot projesi.
Amaç
Neden uygulanmalı?
Algıla-karar ver-hareket et döngüsünü güvenli robot davranışına dönüştürmek.
Problem / İhtiyaç
Çözüm hangi ihtiyaçtan doğuyor?
Hareketli robot çarpışmadan ilerlemek için önündeki engeli algılamalıdır
Öğrenme Kazanımları
- Mesafe verisini hareket kararına bağlar.
- Motor hareketlerini fonksiyonlaştırır.
- Kaçınma davranışını test eder.
Sınıfta Uygulama
- Hedef Kitle
- Temel bilgisi olan orta seviye lise öğrencileri
- Önerilen Süre
- Uzun proje (5–7 ders)
- Çalışma Biçimi
- Bireysel veya 2–3 kişilik grup
- Öğretmen Hazırlığı
- Engelden Kaçan Robot için örnek girdileri, güvenlik sınırlarını ve test ölçütlerini dersten önce kontrol etmek.
Derse Giriş Etkinliği
Öğrencilere “Hareketli robot çarpışmadan ilerlemek için önündeki engeli algılamalıdır” durumu verilir; kod veya araç göstermeden önce olası çözüm adımlarını tahmin etmeleri istenir.
- 10 dk: Merak uyandıran problem ve tahmin
- 20 dk: Temel kavram ve örnek
- 35 dk: Uygulama
- 20 dk: Test ve hata ayıklama
- 15 dk: Geliştirme ve öğrenci açıklaması
Ön Koşullar
- Temel Arduino IDE kullanımı
- Breadboard ve düşük gerilimli devre güvenliği
- Basit koşullu ifadeler
Kullanılacak Araçlar ve Teknolojiler
- Arduino
- HC-SR04
- Motor Sürücü
- DC Motor
Gerekli Malzemeler
- Robot şasesi
- Arduino
- HC-SR04
- Motor sürücü
- DC motorlar
- Uygun batarya
Uygulama Aşamaları
- Şaseyi kur.
- Motorları ayrı test et.
- Sensörü doğrula.
- Hareket fonksiyonlarını yaz.
- Kaçınma akışını ekle.
Örnek Kod veya Teknik İçerik
Kaçınma algoritması
Motor sürücü modeli pin ve yön fonksiyonlarını değiştirir; kod iskeleti kullanılan karta göre tamamlanmalıdır.
// L298N örneği: başka sürücülerde pin ve lojik değişebilir.
const int trig = 12, echo = 11, ena = 5, enb = 6;
const int in1 = 7, in2 = 8, in3 = 9, in4 = 10;
void hareket(int sol1, int sol2, int sag1, int sag2, int hiz) {
digitalWrite(in1, sol1); digitalWrite(in2, sol2);
digitalWrite(in3, sag1); digitalWrite(in4, sag2);
analogWrite(ena, hiz); analogWrite(enb, hiz);
}
float mesafeOku() {
digitalWrite(trig, LOW); delayMicroseconds(2);
digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW);
long sure = pulseIn(echo, HIGH, 30000);
return sure == 0 ? -1 : sure * 0.0343 / 2;
}
void setup() {
pinMode(trig, OUTPUT); pinMode(echo, INPUT);
pinMode(ena, OUTPUT); pinMode(enb, OUTPUT);
pinMode(in1, OUTPUT); pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT); pinMode(in4, OUTPUT);
}
void loop() {
float cm = mesafeOku();
if (cm > 0 && cm < 20) {
hareket(LOW, LOW, LOW, LOW, 0); delay(200);
hareket(LOW, HIGH, LOW, HIGH, 140); delay(400);
hareket(HIGH, LOW, LOW, HIGH, 140); delay(450);
} else { hareket(HIGH, LOW, HIGH, LOW, 150); }
}Öğrenci Görevi
Uygula ve geliştir
Üç farklı engel düzeninde çarpışma sayısını ve dönüş süresini kaydedip davranışı iyileştir.
Beklenen Sonuç
Başarı nasıl görünecek?
Öğrenci, “Üç farklı engel düzeninde çarpışma sayısını ve dönüş süresini kaydedip davranışı iyileştir.” görevini tamamlayan çalışan bir ürün sunar; sonucunu test senaryoları, gözlemler ve teknik kararlarını açıklayan kısa bir değerlendirmeyle kanıtlar.
Değerlendirme Ölçütleri
Toplam: 100 puan| Ölçüt | Puan |
|---|---|
| Engelden Kaçan Robot gereksinimlerini karşılama | 25 |
| Teknik doğruluk ve kavram kullanımı | 20 |
| Test etme ve kanıt sunma | 20 |
| Problem çözme ve iyileştirme | 20 |
| Güvenli kurulum ve açıklama | 15 |
Geliştirme Fikirleri
- Servo üstünde sensör
- Rastgele yön seçimi
- Hız kontrolü
Test Senaryoları
- Düz duvar
- Dar köşe
- Sensörün algılamadığı yumuşak/eğik yüzey
Sık Karşılaşılan Hatalar
- Motor yönü ters
- Batarya zayıf
- Sensör kör noktası
- Dönüş süresi yetersiz
Hata Ayıklama Önerileri
- Motor yönü ters: Girdiyi veya bağlantıyı tek tek doğrula; değişiklikten sonra aynı testi yeniden çalıştır.
- Batarya zayıf: Girdiyi veya bağlantıyı tek tek doğrula; değişiklikten sonra aynı testi yeniden çalıştır.
- Sensör kör noktası: Girdiyi veya bağlantıyı tek tek doğrula; değişiklikten sonra aynı testi yeniden çalıştır.
- Dönüş süresi yetersiz: Girdiyi veya bağlantıyı tek tek doğrula; değişiklikten sonra aynı testi yeniden çalıştır.
Güvenlik Notları
- İlk motor testinde tekerlekleri kaldırın.
- Batarya kutuplarını ve sürücü akım sınırını kontrol edin.
Öğretmen Notları
- Hazır çözümü vermeden önce öğrenciden tahminini ve denediği adımı açıklamasını isteyin.
- Sonucu yalnız çalışıyor/çalışmıyor olarak değil; test kanıtı ve açıklamayla değerlendirin.
Öğrenci Öz Değerlendirme Soruları
- Çözümüm hangi problemi gideriyor ve bunu nasıl test ettim?
- En zorlandığım hata neydi; hangi ipucu çözmeme yardım etti?
- Bir sonraki sürümde neyi değiştirir ve neden değiştirirdim?
Sonraki Öğrenme Önerisi
Buradan sonra ne öğrenilebilir?
Sensör taraması ve davranış tabanlı robotik yaklaşımını incele.
Ders Paketi
Materyaller
Projeyi sınıfta uygulamak için hazırlanan materyalleri PDF veya düzenlenebilir Word biçiminde indirebilirsin.
Öğretmen Kılavuzu
Engelden Kaçan Robot için amaç, hazırlık, ders akışı, uygulama, güvenlik, hata ayıklama ve geliştirme önerileri.
Öğrenci Çalışma Kâğıdı
Engelden Kaçan Robot için tahmin, uygulama, test, gözlem, sonuç ve öz değerlendirme alanları.
Değerlendirme Rubriği
Engelden Kaçan Robot için projeye özel, gözlenebilir ölçütlerden oluşan 100 puanlık değerlendirme rubriği.
Öğrenmeye Devam Et
Benzer Projeler
- Robotik ve Kodlama
Çizgi İzleyen Robot
İki IR sensöründen alınan siyah/beyaz zemin bilgisini motor hareketlerine dönüştüren orta seviye robotik uygulama.
Projeyi İncele - Robotik ve Kodlama
Servo Motorlu Otomatik Bariyer
Yaklaşan nesneyi algılayıp servo ile bariyer açan masaüstü otomasyon modeli.
Projeyi İncele - Robotik ve Kodlama
Ultrasonik Sensörlü Mesafe Alarmı
HC-SR04 verisine göre buzzer uyarısı üreten mesafe güvenlik modeli.
Projeyi İncele