Proje Özeti
Ne geliştirilecek?
İki IR sensöründen alınan siyah/beyaz zemin bilgisini motor hareketlerine dönüştüren orta seviye robotik uygulama.
Amaç
Neden uygulanmalı?
Sensör verisi, karar algoritması ve motor kontrolünün bir test döngüsünde birlikte çalışmasını gözlemlemek.
Problem / İhtiyaç
Çözüm hangi ihtiyaçtan doğuyor?
Sensör verisi, karar algoritması ve motor kontrolünün bir test döngüsünde birlikte çalışmasını gözlemlemek.
Öğrenme Kazanımları
- Yansıma farkını açıklar.
- İki sensörlü karar tablosu kurar.
- Motor hızlarını kontrol eder.
- Sensör yüksekliği ve eşik kalibrasyonu yapar.
- Test verisiyle davranışı iyileştirir.
Sınıfta Uygulama
- Hedef Kitle
- Temel Arduino deneyimi olan orta seviye lise öğrencileri
- Önerilen Süre
- 4–6 ders saati
- Çalışma Biçimi
- 2–4 kişilik grup
- Öğretmen Hazırlığı
- Motor yönlerini kontrol etmek, güvenli batarya kullanımını açıklamak ve kalibrasyon parkuru hazırlamak.
Derse Giriş Etkinliği
Öğrencilerden “Çizgi İzleyen Robot hangi gerçek ihtiyaca cevap verebilir?” sorusuna kodu görmeden çözüm adımları önermeleri istenir.
- 30 dk: Sistem/güvenlik
- 45 dk: Kurulum
- 40 dk: Motor
- 35 dk: Kalibrasyon
- 45 dk: Algoritma
- 30 dk: Test
Ön Koşullar
- Arduino dijital giriş/çıkış
- Temel devre
- Basit if/else
Kullanılacak Araçlar ve Teknolojiler
- Arduino
- IR Sensör
- Motor Sürücü
- DC Motor
- C/C++
Gerekli Malzemeler
- Arduino kart
- 2 IR sensörü
- Çift motor sürücü
- 2 DC motor
- Şase
- Uygun batarya
- Jumper kablolar
Uygulama Aşamaları
- Şase ve sensörleri sabitle.
- Motor sürücüyü bağla.
- Siyah/beyaz okumalarını test et.
- İleri, sol, sağ ve dur hareketlerini dene.
- Algoritmayı yükle.
- Yükseklik, hız ve çizgiyi kalibre et.
Örnek Kod veya Teknik İçerik
İki sensörlü kontrol
İki sensör zemini görüyorsa ileri gidilir. Biri çizgiyi algıladığında motor hızlarıyla yön düzeltilir. İkisi de çizgiyi kaybederse robot durur.
Basit Arduino kodu
Motor sürücü pinleri modele göre değişir; yön pinleri kullanılan sürücüye göre eklenmelidir.
// L298N örneği: başka motor sürücülerde pin ve lojik değişebilir.
const int solSensor = 2, sagSensor = 3;
const int ena = 5, in1 = 7, in2 = 8;
const int enb = 6, in3 = 9, in4 = 10;
void setup() {
pinMode(solSensor, INPUT); pinMode(sagSensor, INPUT);
pinMode(ena, OUTPUT); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT);
pinMode(enb, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT);
}
void motorlar(int solHiz, int sagHiz) {
digitalWrite(in1, solHiz > 0); digitalWrite(in2, LOW);
digitalWrite(in3, sagHiz > 0); digitalWrite(in4, LOW);
analogWrite(ena, constrain(solHiz, 0, 255));
analogWrite(enb, constrain(sagHiz, 0, 255));
}
void loop() {
bool sol = digitalRead(solSensor), sag = digitalRead(sagSensor);
if (!sol && !sag) motorlar(150, 150);
else if (sol && !sag) motorlar(70, 160);
else if (!sol && sag) motorlar(160, 70);
else motorlar(0, 0);
}Kalibrasyon
Sensörleri eşit yükseklikte tutun. Siyah/beyaz okumalarını karşılaştırıp modül eşiğini küçük adımlarla ayarlayın.
Öğrenci Görevi
Uygula ve geliştir
Farklı çizgi kalınlıklarında sensör yüksekliği, motor hızı ve eşik ayarlarını bir test tablosuyla karşılaştır.
Beklenen Sonuç
Başarı nasıl görünecek?
Öğrenci, “Farklı çizgi kalınlıklarında sensör yüksekliği, motor hızı ve eşik ayarlarını bir test tablosuyla karşılaştır.” 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 |
|---|---|
| Mekanik/elektriksel kurulum | 20 |
| Kontrol algoritması | 20 |
| Kalibrasyon ve test | 25 |
| Kod kalitesi | 15 |
| Problem çözme ve sunum | 20 |
Geliştirme Fikirleri
- PWM hız kontrolü
- Daha fazla sensör
- PID araştırması
- Pil izleme
- Parkur optimizasyonu
Test Senaryoları
- İleri, sol, sağ ve dur hareketlerini dene. adımını beklenen ve sınır bir değerle doğrula.
- Algoritmayı yükle. adımını beklenen ve sınır bir değerle doğrula.
- Yükseklik, hız ve çizgiyi kalibre et. adımını beklenen ve sınır bir değerle doğrula.
Sık Karşılaşılan Hatalar
- Sensör yüksekliği
- Ters motor yönü
- Yetersiz batarya
- Yanlış eşik
- Uygunsuz çizgi kalınlığı
Hata Ayıklama Önerileri
- Sensör yüksekliği: İlgili bağlantı veya girdiyi tek başına test et, sonucu kaydet ve yalnız bir değişkeni değiştir.
- Ters motor yönü: İlgili bağlantı veya girdiyi tek başına test et, sonucu kaydet ve yalnız bir değişkeni değiştir.
- Yetersiz batarya: İlgili bağlantı veya girdiyi tek başına test et, sonucu kaydet ve yalnız bir değişkeni değiştir.
- Yanlış eşik: İlgili bağlantı veya girdiyi tek başına test et, sonucu kaydet ve yalnız bir değişkeni değiştir.
- Uygunsuz çizgi kalınlığı: İlgili bağlantı veya girdiyi tek başına test et, sonucu kaydet ve yalnız bir değişkeni değiştir.
Güvenlik Notları
- Motorları önce tekerlekler havadayken test edin.
- Beslemeyi sürücü özelliklerine göre planlayın.
- PID'yi temel algoritmadan sonra ele alın.
Öğretmen Notları
- Motorları önce tekerlekler havadayken test edin.
- Beslemeyi sürücü özelliklerine göre planlayın.
- PID'yi temel algoritmadan sonra ele alın.
Öğrenci Öz Değerlendirme Soruları
- Çözümümün doğru çalıştığını hangi testlerle gösterdim?
- Karşılaştığım en önemli hata neydi ve nasıl çözdüm?
- Projeyi yeniden yapsam hangi kararı değiştirirdim?
Sonraki Öğrenme Önerisi
Buradan sonra ne öğrenilebilir?
Çizgi İzleyen Robot çalışmasını fonksiyonlar, daha kapsamlı test senaryoları ve kullanıcı geri bildirimiyle geliştirmeyi dene.
Ders Paketi
Materyaller
Henüz üretilmemiş dosyalar için indirme bağlantısı sunulmuyor. Güncel durum:
- Öğretmen Kılavuzu — Hazırlanıyor
- Öğrenci Çalışma Kâğıdı — Hazırlanıyor
- Kaynak Kod — Sayfa içinde mevcut
- Değerlendirme Rubriği — Sayfa içinde mevcut
Öğrenmeye Devam Et
Benzer Projeler
- Robotik ve Kodlama
Engelden Kaçan Robot
HC-SR04 ile engel algılayıp motor sürücü üzerinden yön değiştiren hareketli robot projesi.
Projeyi İncele - Robotik ve Kodlama
Arduino Trafik Lambası
Kırmızı, sarı ve yeşil LED'leri süre kontrollü bir durum sırasıyla yöneten başlangıç Arduino projesi.
Projeyi İncele - Robotik ve Kodlama
Arduino Dijital Termometre
TMP36 örneği üzerinden analog sıcaklık ölçümü ve sensör modeline göre dönüşüm farklarını öğreten proje.
Projeyi İncele