Robot programlama

Bir süredir Serkan’a aldığım Lego Mindstorms EV3 setiyle oynuyorum. Pahalı olmasına rağmen oldukça hoşuma giden bir öğrenim imkanı.

Programlamayı şimdilik Lego Mindstorms EV3 yazılımıyla yapıyorum. İlk başta android için olan uygulamayı kullanmıştım ama orada çok daha az blok olduğundan bazı programlar daha zor oluyordu.

Aşağıda ilk denemelerimden birini görebilirsiniz. Sonsuz döngü içinde hareket eden bir robot. Kızılötesi sensörle önünde bir engel olup olmadığına bakıyor. Eğer bir engel varsa biraz geriye gidip restgele seçtiği bir yöne dönüp bir sonraki engele kadar ilerliyor. Programdaki ses blokları temel program için önemli değildir.

Program sonsuz döngü içinde çalıştığından robotu durdurmak için kontrol bloğunun üzerindeki düğmeyi kullanmak gerekmekte. Programda tabii ki hangi sensörün ve motorun hangi giriş kanalına bağlandığına dikkat etmek lazım. Aşağıdaki program B ve C kanallarına takılı büyük motorları ve 1. kanalda bulunan kızılötesi sensörünü kullanmakta. Bekleme bloğu kızılötesi sensör engel algılayana kadar motorun düz hareket etmesini sağlıyor. Engel algılandıktan sonra motoru durduruyorum çünkü diğer durumda ses dosyası motor gürültüsünden duyulmayabiliyor. Yani ses dosyaları kullanılmazsa motorları durdurmaya da gerek yok. Ses dosyası çalındıktan sonra motorlar geriye doğru bir tur döndürülüyor. Rastgele sayı bloğu 1 ile 4 arasında (1 ve 4 dahil) rastgele bir tamsayı üretiyor ve sonraki ‘switch’ bloğunda her bir ihtimale karşı ne yapılacağı programlanıyor.

Bir engelle karşılaşınca yön değiştiren robot progamı

Aşağıdaki videoda da robotu çalışırken izleyebilirsiniz.