Kodunuz temiz, bağlantılar tamam ama robot inatla beyaz çizgiyi ıskalıyor mu? Beyaz çizgiyi siyah zemin sanıp üzerinden geçiyor, ya da siyah zemini çizgi sanıp duruyor / yanlış dönüyor mu?
Panik yapmayın; kodunuz bozuk olmayabilir. Sorun çoğu zaman robotunuzun göz ayarının yani kalibrasyonunun yapılmamış olmasıdır.
Bizim pist nasıl?
Birçok internet örneğinde beyaz zemin + siyah çizgi anlatılır. Bizim yarışma ve atölye pistlerimizde tersidir: siyah zemin üzerinde beyaz çizgi. Mantık aynıdır; sadece hangi rengi çizgi kabul ettiğiniz değişir.
Sorun ne? Işık oyunları
Çizgi sensörleri (özellikle yansımalı IR sensörler) ortam ışığından etkilenir. Atölyedeki ışıkla yarışma salonundaki ışık aynı değildir. Evde ölçtüğünüz değerler başka salonda kayabilir.
Bu yüzden koda ezbere sabit bir sayı yazıp mucize beklemeyin:
if (sensor < 500) {
// cizgideyim saniyorum
}
500 sizin atölyenizde doğru olabilir; yarışma pistinde yanlış olabilir.
Sensör ne okur? (bizim ölçüm)
Yansımalı sensörlerde tipik okuma şöyledir:
- Beyaz (çizgi): 0 a yakın (çok yansıma)
- Siyah (zemin): 1023 e yakın (az yansıma)
Yani bizde çizgi = düşük değer, zemin = yüksek değer.
Püf noktası: Robota ortamı tanıtın
Robotu her yeni ortama (yeni salon, yeni pist, farklı aydınlatma) soktuğunuzda zemini ve çizgiyi yeniden ölçün.
1) Beyaz çizgiyi ölçün
Sensörü beyaz çizginin tam üstüne getirin. Seri Port ile değeri not alın. Örnek: 50 (0 a yakın).
2) Siyah zemini ölçün
Robotu siyah zemine koyun (çizgi dışında). Değeri not alın. Örnek: 1000 (1023 e yakın).
3) Ortayı bulun (eşik değer)
esik = (beyaz + siyah) / 2
// Ornek: (50 + 1000) / 2 = 525
İşte o anki, o ortamdaki gerçek eşik değeriniz budur. Kodda örneğin:
if (sensor < esik) {
// beyaz cizgidesin (deger dusuk)
} else {
// siyah zemindesin (deger yuksek)
}
Atölye notu: Kalibrasyon sırasında
Serial.println(sensor)kullanın; piste çıkmadan önce Serial çıktısını kapatmayı unutmayın (testModu = 0).
Ne zaman yeniden kalibre etmelisiniz?
- Farklı bir salona / piste geçtiğinizde
- Işıklar değiştiğinde (güneş, spot, loş ortam)
- Sensör yüksekliği veya açı değiştiğinde
- Pist zemini / bant rengi değiştiğinde
Özet
Bizim pist: siyah zemin, beyaz çizgi. Beyazı ve siyahı ölçün, ortalamayı eşik yapın, çizgiyi düşük değerde arayın. Doğru eşik = net gören robot.
Kontrol listesi: Beyaz çizgi ölçüldü mü (0 a yakın)? Siyah zemin ölçüldü mü (1023 e yakın)? Eşik ortalamaya göre mi? Yeni salonda yeniden mi kalibre edildi?