LEGO SPIKE Prime renk sensörünü programlamak için sensörü hub’a bağlayıp LEGO Education SPIKE uygulamasında kelime bloklarıyla bir proje oluşturursun. Sensörün algıladığı rengi veya ölçtüğü yansıyan ışık değerini bloklarda kullanarak robotun bir yüzeye göre davranmasını sağlayabilirsin. Örneğin belirli bir renk algılandığında robotun durmasını isteyebilirsin.
Renk sensörü nasıl çalışır ve nereye bağlanır?
Renk sensörü, karşısındaki yüzeyden ölçüm alan parçadır. Algıladığı bilgi, hazırladığın programın bir karar vermesine yardımcı olur. Örneğin robotun önüne tuttuğun kırmızı bir parçayı algılamasını sağlayabilirsin.
Hub ise sensör ve motorların bağlandığı kontrol birimidir. Sensörden gelen bilgi programda kullanılır; program da motorlara hareket etme veya durma gibi komutlar verebilir.
Bağlantıyı hazırlamak için sensörün kablosunu hub üzerindeki harfli bağlantı noktalarından birine tak. Ardından hub’ı uygulamaya bağla ve kelime bloklarıyla bir proje aç. Sensörle ilgili bir blok kullanırken kabloyu taktığın bağlantı noktasının harfini seç. Sensörü A noktasına taktıysan blokta da A seçili olmalıdır.
Bağlantı harfini eşleştirmek önemlidir, çünkü programın hangi bağlantı noktasındaki sensörden ölçüm alacağını bilmesi gerekir. Kabloyu başka bir noktaya taşırsan ilgili bloktaki seçimi de değiştir.
Renk ve yansıyan ışık ölçümü nasıl kullanılır?

Renk ölçümü, sensörün karşısındaki yüzeyi hangi renk olarak algıladığını öğrenmek için kullanılır. Yansıyan ışık ölçümü ise yüzeyden sensöre ne kadar ışık döndüğünü yüzde olarak gösterir. Sensörün teknik özelliklerinde bu ölçüm, az yansımadan çok yansımaya doğru yüzde 0 ile yüzde 100 arasında ifade edilir.
İki ölçüm farklı sorulara yanıt verir. Renk ölçümünü “Sensör kırmızı görüyor mu?” diye kontrol etmek için kullanabilirsin. Yansıyan ışık ölçümü ise örneğin açık ve koyu yüzeylerden dönen ışığı karşılaştırmana yardımcı olur; tek başına yüzeyin hangi renkte olduğunu söylemez.
Ölçümleri görmek için sensörü hub’a, hub’ı da uygulamaya bağla. Programlama ekranında hub simgesine tıklayarak canlı sensör görünümünü açabilir ve renk ile yansıyan ışık ölçümü arasında geçiş yapabilirsin. Bu görünümle ilgili açıklamaları LEGO Education SPIKE Prime destek sayfasında da bulabilirsin.
Önce sensörü beyaz bir yüzeye tutup ekrandaki renk sonucuna ve yansıyan ışık yüzdesine bak. Ardından sensörün yüzeye uzaklığını olabildiğince aynı tutarak siyah bir yüzeyle denemeyi tekrarla. Sonuçlar arasındaki fark, daha sonra programında kullanacağın karşılaştırmaları seçmene yardımcı olur.
Farklı renkli yüzeyleri de aynı şekilde deneyebilirsin. Yüzeyin rengi kadar sensöre olan uzaklığı ve yüzeyin özellikleri de okumayı etkileyebileceği için ölçüm yaparken sensörün konumuna dikkat et.
Olay ve koşul blokları arasındaki fark nedir?
Olay bloğu, belirli bir olay gerçekleştiğinde kendisine bağlı program akışını başlatır. Koşul ise bir soruyu sınar ve sonuca göre hangi işlemin yapılacağını belirlemene yardımcı olur.
Örneğin programı başlatma olayıyla bir blok dizisini çalıştırabilirsin. Bu dizideki “sensörün gördüğü renk kırmızı mı?” koşulu doğruysa robotu durdurma işlemini uygulayabilirsin.
Sensörün gördüğü renk değişebileceği için bu soruyu bir kez sormak yeterli olmaz. Koşulu sürekli çalışan bir döngünün içine yerleştirdiğinde program rengi tekrar tekrar kontrol edebilir.
Olay, koşul ve döngülerle kurduğun düşünme biçimini Algoritmik Düşünme Testi ile farklı sorular üzerinde de deneyebilirsin.
Robot kırmızıda nasıl durur, yeşilde nasıl ilerler?

İki motorlu bir sürüş tabanında renk sensörünü kullanarak robotun kırmızı gördüğünde durmasını, yeşil gördüğünde yeniden ileri gitmesini sağlayabilirsin. Sensörü, kartları görebileceği bir yöne yerleştir ve denemeyi robotun güvenle hareket edebileceği açık bir alanda yap.
Bu örnekte motorların hub üzerindeki C ve D, renk sensörünün ise B bağlantı noktasına takıldığını varsayalım. Hub, sensörden gelen bilgiyi alan ve motorlara komut gönderen programlanabilir parçadır. Bağlantıların farklıysa bloklarda kendi kullandığın noktaları seç.
- Motor çiftini C ve D bağlantı noktalarına göre ayarla.
- Programı başlatan olayın altına robotu ileri hareket ettiren komutu yerleştir.
- Ardından sürekli tekrarlanan bir döngü ekle.
- Döngünün içine, B noktasındaki sensör kırmızı görüyorsa sürüşü durduran bir koşul yerleştir.
- İkinci bir koşulla sensör yeşil gördüğünde sürüşü yeniden ileri başlat.
Aşağıdaki gösterim blokların işlevlerini ve sırasını anlatır; uygulamaya yazılacak bir metin kodu değildir. Bu akıştaki işlevlere karşılık gelen blokları seçip iç içe yerleştirmen gerekir.
Program başladığında
C ve D motorlarını sürüş için ayarla
İleri sürüşü başlat
Sürekli tekrarla
Eğer B sensörünün gördüğü renk kırmızıysa
Sürüşü durdur
Eğer B sensörünün gördüğü renk yeşilse
İleri sürüşü başlat
Beklenen sonuç: Program başladığında robot ilerler. Sensöre kırmızı kart gösterdiğinde durur, ardından yeşil kart gösterdiğinde yeniden ilerler.
Başka bir renk algılandığında iki koşul da hareketi değiştirmez. Bu yüzden robot duruyorsa durmaya, ilerliyorsa ilerlemeye devam eder.
Hub ışığı renge göre nasıl değiştirilir?
Renk sensöründen gelen bilgiyle hub üzerindeki ışık ekranında farklı şekiller gösterebilirsin. Örneğin sensör kırmızı algıladığında bir çarpı, yeşil algıladığında ise bir onay işareti göstermek için koşul bloklarını kullanabilirsin.
SPIKE Prime hub'ın ışık ekranı beyaz ışıklardan oluşur; bu nedenle örnekte renk değiştirmek yerine farklı ışık desenleri kullanılır. Kelime bloklarıyla kuracağın mantık şöyle işler:
- Renk sensörünün algıladığı rengi kontrol eden bir koşul oluştur.
- Renk kırmızıysa hub'ın ışık ekranında çarpı göster.
- Renk yeşilse ışık ekranında onay işareti göster.
- Koşulları bir döngünün içine yerleştirerek yeni renklerin okunmasını sağla.
Kartı sensörün önünde değiştirdiğinde ekrandaki şeklin de değişmesi beklenir. Böylece motorları çalıştırmadan önce sensör okumasını ve koşullarını deneyebilirsin.
Sensör yanlış ölçüyorsa neleri kontrol etmelisin?
Sensör beklediğin rengi algılamıyorsa bağlantıyı, sensörün konumunu ve programın hangi değeri okuduğunu sırayla kontrol et. Her denemede tek bir değişiklik yapman, sorunun nereden kaynaklandığını anlamanı kolaylaştırır.
- Bağlantı noktasını karşılaştır: Sensör kablosunun hub'a sıkıca takıldığından emin ol. Ardından sensörün fiziksel olarak bağlı olduğu harfle programdaki sensör bloğunda seçilen harfin aynı olduğunu kontrol et.
- Uzaklığı değiştir: Kartı sensöre yaklaştırıp uzaklaştırırken okunan değeri gözlemle. Yüzeyin yapısı ve sensöre uzaklığı ölçümü etkileyebileceği için sensörü farklı konumlarda dene.
- Ortam ışığını karşılaştır: Aynı kartı farklı ışık koşullarında dene ve okumanın değişip değişmediğine bak. Karşılaştırma yaparken sensörün karta olan konumunu mümkün olduğunca aynı tut.
- Ölçülen değeri incele: Bilgisayara bağlıyken uygulamadaki hub simgesinden canlı sensör görünümünü aç. Renk okuması ile yansıyan ışık okuması arasında geçiş yaparak kartın hangi değerleri verdiğini kontrol et.
- Motorları ve döngüyü incele: Sensör doğru okuyorsa motorların doğru bağlantı noktalarına takıldığını ve programda bu noktaların seçildiğini kontrol et. Kırmızı algılandıktan sonra programın sonlanmadığından, döngünün yeşili okumaya devam ettiğinden emin ol.
Renk ve yansıyan ışık için uygun sensör uzaklığı aynı olmak zorunda değildir. LEGO Education'ın SPIKE Prime kullanım ipuçları, sensör okumalarını uygulamada görüntülemeye ve farklı ölçüm türlerini denemeye yardımcı olur.
Sık Sorulan Sorular
Renk sensörü rengi görmediğinde motor neden çalışmayı sürdürür?
Motoru durdurma koşulu gerçekleşmemişse motor, programdaki önceki hareket komutuyla çalışmayı sürdürebilir. Sensörün doğru bağlantı noktasından okuduğunu, kartı algıladığını ve durdurma komutunun ilgili koşulun içinde bulunduğunu kontrol et.
Yansıyan ışık yüzdesiyle belirli bir rengi kesin olarak tanıyabilir miyim?
Yansıyan ışık yüzdesiyle bir rengi kesin olarak tanıyamazsın; farklı renkler ve yüzeyler benzer değerler verebilir. Bu ölçüm, yüzeylerin yansıttığı ışığı karşılaştırmak için kullanışlıdır. Belirli bir rengi kontrol etmek için sensörün renk okumasını da değerlendirebilirsin.
Robot kırmızıda durduktan sonra yeşil kartı nasıl algılamaya devam eder?
Robot, motorlar dururken sensörü okumayı sürdüren bir döngü çalışıyorsa yeşil kartı algılamaya devam edebilir. Kırmızı koşulunda motorları durdur, ancak programı sonlandırma; yeşil koşulunda ise motorlara yeniden hareket komutu ver.
Denemelerinde sensörün okuduğu değerleri ve robotun verdiği tepkiyi birlikte takip ederek programını adım adım geliştirebilirsin.