Robot Programlama – Blok Tabanlı Robot Programlama Yazılımları ve Ortamları – 2

6. mBlock Programlama Dilinin Temel Özellikleri ve Programlama Yapısı

Blok tabanlı programlama dilleri ve ortamlarında komutu oluşturan bloklar, bulunduğu alandan programlama alanına sürükle bırak tekniği ile aktarılır. Bütün bloklar kullanıma açık olmalarına karşın robotik uygulamalarda kullanılmayan bloklar vardır. Bunlar kullanılmak istendiğinde herhangi bir işlev göstermeyecektir.

mBlock’ta robot programlama yapmak ve robotları kontrol etmek için kullanılabilecek komut blokları “Diziler” başlığı altında; “Hareket”, “Görünüm”, “Ses”, “Kalem”, “Veri&Blok”, “Olaylar”, “Kontrol”, “Algılama”, “İşlemler” ve “Robotlar” olmak üzere toplam on kategoride toplanmıştır. Burada yer alan blok yapıları fiziksel bir robotun programlanması ve kullanımının sağlanması dışında sanal bir robotun (kukla, figür kullanılarak) programlanması ve kullanımını da içermektedir.

Hareket Alt Başlığı Altında Verilen Komut Blokları

“Hareket” alt başlığı altında verilen komut blokları sanal bir robotun (kütüphaneden kukla, figür kullanılarak veya oluşturularak) hareket kullanımı ve diğer uygulamalar için kullanılmaktadır. Buradaki blokların kullanılmasıyla sanal robotun istenilen yöne döndürülmesi, belirli bir koordinata gitmesi, belirli bir zaman aralığında belirli bir koordinata yavaşça ilerlemesi (süzülebilmesi) sağlanabilir. Ayrıca sanal robotun kenara geldiği zaman sekmesi de buradan gerçekleştirilebilir. Sanal robotun hangi yönlere dönmesine izin verilip verilmeyeceği de belirlenebilir. “Hareket” alt başlığı altında verilen komut blokları ve ne amaçla kullanıldıkları aşağıdaki tabloda açıklanmıştır.

Hareket alt başlığı altında verilen komut blokları

Hareket Örneği: Bu örnekte sanal robot, ortamdaki ses seviyesi 10 birimden yüksek olunca 250 adım gitmekte; 1 sn bekledikten sonra ekrana “Merhaba!” yazısı 2 sn boyunca çıkmaktadır. 1 sn daha bekledikten sonra geldiği noktaya geri dönmektedir.

Hareket örneği

Aşağıdaki diğer örnekte ise basit bir animasyon çalışması görülmektedir. Kullanılan mBot kuklası 1 ile 20 arasında adımla hareket etmekte, 15 derece dönmekte ve eğer kenara geldiyse sekmektedir. Her işlemden sonra bir sonraki kılığa geçerek animasyon oluşturulmaktadır. Her hareketin ardışık olarak gerçekleşmesi için birbirini izleyen hareket görüntülerinden oluşan kukla resimleri kullanılmalıdır. Animasyon sırasında “computer beeps2” sesini çıkarmaktadır.

mBlock hareket örneği

Görünüm Alt Başlığı Altında Verilen Komut Blokları

“Görünüm” alt başlığı altında verilen bloklar sanal bir robotun (kütüphaneden kukla, figür kullanılarak veya oluşturarak) görünüm kullanımı ve diğer uygulamalar için kullanılmaktadır. Buradaki blokların kullanılmasıyla sanal robotların veya sahnelerin görünümünde değişiklik yapılabilir. Belirli bir süre ya da sürekli olarak bir mesaj verilebilir, bir düşünme cümlesi belirtilebilir. İhtiyaca göre istenilen sanal robotun sahnede görünüp gizlenmesi sağlanabilir. Sahnede birden fazla dekor (arka plan, hareketsiz nesneler) ve birden fazla sanal robot bulunabilir. Bunlar arasında geçişler yapılabilir. Sanal robotun veya dekorun renk etkisi (0-200 arası) değiştirilebilir. Sanal robotun büyüklüğünde değişiklik yapılabilir ya da yapılacak uygulamalara göre belirli bir büyüklük seçilebilir. Sahnede bulunacak nesnelerin istenilen oranla önde ya da arkada görünmesi sağlanabilir. Görünüm alt başlığı altında verilen komut blokları ve ne amaçla kullanıldıkları aşağıdaki tabloda açıklanmıştır.

Görünüm alt başlığı altında verilen komut blokları

Görünüm Örneği: Bu küçük örnekte sanal robot ortamdaki ses şiddeti 10 birimden büyük olunca, 250 adım gidip 1 sn sonra merhaba demekte ve görüntüsü 25 birim büyümektedir. 5 sn bekledikten sonra büyüklüğü %50 oranında değiştirilmektedir.

Görünüm örneği ve ekran çıktısı

Ses Alt Başlığı Altında Verilen Komut Blokları

“Ses” alt başlığı altında verilen bloklar sanal bir robotun (kütüphaneden kukla, figür kullanılarak veya oluşturarak) sesle kullanımı, ses şiddetine dayalı ve sesle ilgili diğer robotik uygulamalar için kullanılmaktadır. Bilgisayarda bulunan mikrofondan elde edilen sesler de kullanılabilir. Buradaki blokların kullanılmasıyla sahnelere veya sanal robotlara ses eklenebilir. Sanal robot bir hedefe ulaştığında ses çıkarması ya da uygulama devam ettiği sürece arka fon müziği bulunması sağlanabilir. Uygulamaya istenirse ses kaydı ya da var olan bir ses dosyası eklenebilir. Ayrıca mBlock içinde bulunan çalgı aletleri de uygulamalara eklenebilir. Sesin temposuyla ilgili düzenlemeler yapılabilir. “Ses” alt başlığı altında verilen komut blokları ve ne amaçla kullanıldıkları aşağıdaki tabloda açıklanmıştır.

Ses alt başlığı altında verilen komut blokları

Ses Örneği: Bu basit örnekte sanal robot görüntüsüne tıklanınca 250 adım ilerlemekte ve 1 sn bekledikten sonra “computer beeps2” sesini çalmaktadır. Ses kaynağı ses kütüphanesinden örnek olarak seçilmiştir.

Ses örneği

Aşağıdaki diğer örnekte ise belirlenen üç ayrı tuşa basılmasıyla piyanodan seçilen üç ayrı nota çalınmaktadır. Diğer notalar da aynı şekilde eklenerek bir piyano yapılabilir. Hangi tuş ve hangi sesin seçileceği aşağıdaki blokun nota numarasına tıklanarak belirlenebilir.

Ses örneği2

Örnekte müzik aleti olarak piyano seçilmiştir. Farklı müzik aleti seçmek için aşağıdaki blokun numarasına tıklanmalıdır.

2. Ses Örneği

Kalem Alt Başlığı Altında Verilen Komut Blokları

“Kalem” alt başlığı altında verilen bloklar, sanal (kütüphaneden kukla, figür kullanılarak veya oluşturarak) veya fiziksel bir robotun kalem kullanımı, çizim ve grafik uygulamaları ile diğer uygulamaları için kullanılmaktadır. Buradaki blokların kullanılmasıyla geometrik çizimler yapılabilir. Kalemin rengi, tonu ve kalınlığı değiştirilebilir. Ayrıca sanal robotun olduğu yerde izini bırakması sağlanabilir. “Kalem” alt başlığı altında verilen komut blokları ve ne amaçla kullanıldıkları aşağıdaki tabloda açıklanmıştır.

Kalem alt başlığı altında verilen komut blokları

Kalem Örneği: Bu örnekte ses şiddeti ile ekranda ses grafiği çizilmektedir. X koordinatında -240 noktasından başlayıp, +239 olunca ekranı temizlemektedir. Y koordinatı sıfır olarak alınmıştır (Koordinat düzlemi en solda -240, en sağda +240, en yukarıda +180, en aşağıda -180 arasında değişmektedir). Kalem kalınlığı 1, kalem rengi olarak da siyah seçilmiştir. Elde edilen grafik boyutunun büyütülmesi için ses şiddeti 4 kat oranında artırılmıştır. Ses kaynağı olarak bilgisayara bağlı bulunan mikrofon veya web kamera mikrofonu kullanılabilmektedir. Çizilen ses grafik örneği aşağıda verilmiştir. Çizilen noktanın x ve y konumlarını göstermek için hareket blok gurubunda bulunan x ve y konumu blokları işaretlenmiştir.

Kalem uygulaması

Veri&Blok Alt Başlığı Altında Verilen Komut Blokları

“Veri&Blok” alt başlığı altında verilen bloklar sanal (kütüphaneden kukla, figür kullanılarak veya oluşturarak) veya fiziksel bir robotun programlanması ile diğer uygulama programlarında gerekli olabilecek “değişken”, değişken listesi “liste” ve “blok” oluşturulması ve bunların düzenlenmesi için kullanılmaktadır.

VeriBlok alt başlığı altında verilen komut blokları



Değişkenler ve Oluşturulması: Girilen değerleri alan veya programın çalışmasıyla bazı değerlerin atandığı veri tutucularından oluşan temel yapılarından biridir. Değişkenlerin taşıdığı değerler programın akışı içinde farklılaşabilir. Değişkenler, değişken adı ve değeri olmak üzere iki kısımdan oluşurlar. Basit değişken tipleri; sayısal, metin ve boolean tipindedir. Aşağıda “Engel” adında bir değişkenin oluşturulması işlemi gösterilmiştir.

Değişken oluşturulması aşamaları

Değişken Oluşturma Örneği: Bu örnekte robotun ultrasonik algılayıcısı kullanılarak engele olan uzaklık ölçülmektedir. Engele olan uzaklık 30 cm’den büyük ise robot her tıklamada 100 rpm hıza göre 0.2 saniye ileri doğru ve 0.2 saniye geriye doğru 2 defa harekat ettikten sonra durmaktadır. Engele olan uzaklık 30 cm’den küçük ise 0.65 saniye sağa dönüp durmaktadır. Örnekte engele olan uzaklık için “mesafe” adında bir değişken oluşturulmuştur. “Bir Değişken Oluştur” butonuna tıklandıktan sonra, değişken için “mesafe” ad olarak girilmiştir. “Mesafe” değişkeni için değer atama blokları bu aşamada otomatik olarak eklenmiştir. Bu bloklar program içinde kullanılarak, ultrasonik algılayıcı mesafesi “mesafe” değişkeni ile ifade edilmiştir. Uzaklık şartı olan 30 cm “işlemler” kategorisinde bulunan …>… işlem bloğu kullanılarak yazılmış ve “mesafe” değişkenine eşlenmiştir.

Değişken oluşturma örneği

Listeler, Diziler ve Oluşturulması: Çok sayıda değişkenle çalışmak için oluşturulmuş temel yapılarından biridir. Listeler değişkenlerden farklı olarak birden fazla değer taşırlar. Dizilerse köşeli parantez içinde virgülle ayrılmış değerler taşır. Aşağıda “Hedef” adında bir değişkenin oluşturulması işlemi gösterilmiştir.

mBlock’ta listeler “Veri&Bloklar” kategorisinde “Bir Liste Oluştur” seçeneğinde bulunmaktadır. “Bir Liste Oluştur” butonuna tıklandıktan sonra, liste için bir ad girilmelidir.

Liste değişkenleri ekranın sol tarafında listelenmektedir.

Listeyle yapılabilecek işlemlere ait bloklar otomatik olarak eklenmektedir.

Liste sol üst köşede yer almaktadır. Diziye değerler bu tablonun sol alt köşesindeki + işaretine tıklayarak oluşan kutucuğa yazıyla girilebilir. İstenirse program akışı içerisinde de listeye değer eklenip çıkarılabilmektedir.

Liste ve dizi oluşturulması aşamaları

Liste Oluşturma Örneği: Bu Bu örnekte robotun üzerinde bulunan ışık algılayıcısı kullanılmıştır. Robotun bulunduğu ortamdaki ışık seviyesi konuşma balonu şeklinde ekranda görülmektedir. Aynı zamanda ortamdaki ışık seviyesine göre ekrandaki robot renk değiştirmektedir. Renk değiştirirken oluşturulan renk listesindeki renklere göre robotun üzerinde bulunan RGB LED’ler de sıra ile yanmaktadır. Bu amaçla; “Görünüm” kategorisinde bulunan “Merhaba ! De” bloğu seçilerek buraya “Merhaba” yerine “Robotlar” kategorisinde bulunan “ışık algılayıcı kartta ışık sensörü değeri” bloğu yerleştirilmiştir. Böylece ışık algılayıcının tespit ettiği ışık değerinin ekrana yazılması sağlanmıştır. Yine “Görünüm” kategorisinde bulunan “renk etkisini artır” bloğu seçilerek üzerine “İşlemler” kategorisinde bulanan bölme işlem bloğu …/100 şekliyle yerleştirilmiş, bölünen üzerine de “ışık algılayıcı kartta ışık sensörü değeri” bloğu yerleştirilmiştir. Böylece renk etkisi artırılarak ekrandaki araç gövdesinin ışık miktarına göre renk değiştirmesi sağlanmıştır. “Veri&Bloklar” kategorisinde bulunan “Bir Liste Oluştur” seçeneği kullanılarak “renk” adını taşıyan bir liste yapılmıştır. “renk” listesi boş olarak yazılım tarafından ekranın sol tarafında tablo şeklinde otomatik olarak yerleştirilmiştir. “renk” adlı listeyle yapılabilecek işlemlere ait bloklar yine yazılım tarafından otomatik olarak eklenmiştir. Buraya etiketler (renk adları) tablonun sol alt köşesindeki + işaretine tıklayarak oluşan kutucuğa yazılarak girilmiştir. Böylece liste tamamlanmıştır. “Robotlar” kategorisinde bulunan “ kart ledler hepsi kır 0 yeş 0 mav 0” bloğu alınmış, “hepsi” yerine, oluşturulan listeye ait bloklardan “1 sırasındaki renk’ in” bloğu seçilerek üzerine yerleştirilmiştir. Bu işlem listedeki 7 renk için tekrarlanarak programa eklenmiştir. Renkler için RGB renk değerleri (kırmızı, yeşil ve mavi oranları) girilerek LED’lerin listede belirtilen renkte yanması sağlanmıştır.

Liste oluşturma örneği

Blok Oluşturma: Kendi kodunu bir kez yazıp defalarca kullanmak için ortaya konmuş temel yapılardan biridir. Program akışı içinde tekrarlayan ifadelerin her seferinde tekrar tekrar yazılması yerine, bir kere ayrı bir yerde yazılıp tekrarlanan her yerde kullanmak için uygundur. Aşağıda “İlerle ve Geridön” adında bir blok oluşturulması işlemi gösterilmiştir. Burada bu blokun oluşturulmasıyla yapılmak istenilen, bir işlem gurubunu tek bir blok olarak belirleyip her seferinde aynı blokların ayrı ayrı kullanılmasını ortadan kaldırmaktır. Örneğimizde robotun önce ileri gidip sonra geri gelme işlemi 7 adımdan oluşmaktadır ancak İlerle ve Geri Dön bloğu oluşturulduğunda bunu tek bir blokla gerçekleştirmek mümkün olmaktadır. mBlock’ta blok oluşturulması “Veri&Bloklar” kategorisinin altında “Bir Blok Oluştur” seçeneğinde bulunmaktadır. “Bir Blok Oluştur” butonuna tıklandıktan sonra, oluşan “Yeni Blok” penceresindeki isimsiz alana blok için bir ad girilmeli ve onaylanmalıdır.

Programda kullanılacak ve çağrılabilecek blok otomatik olarak eklenmektedir.



Blok Oluşturma Örneği: Bu örnekte robotun ultrasonik algılayıcısı kullanılarak bir engele olan uzaklık ölçülmektedir. Engele olan uzaklık 10 cm’den büyük ise robot hareket etmektedir. 10 cm’den azsa robot hareket etmemektedir. Engele olan uzaklık 10 cm’den büyük ise “tıklandığında” blokuna her tıklandığında hızı 100 yaparak 1 saniye ileri doğru engele 10 cm kalıncaya kadar ilerlemektedir. 10 cm kalınca özel olarak yapılan “Dur” bloku ile robot durmaktadır. Bu blok “Veri&Bloklar” kategorisinde bulunan “Bir Blok Oluştur” seçeneği ile oluşturulmuş ve blokun adı “Dur” olarak yazılmıştır. Bu blokla kullanacağımız işlemler için “Robotlar” kategorisinde bulunan “M1 motorunun hızlarını 0’a ayarla” bloku kullanılmıştır. Blokun bir kopyası oluşturularak M1 yerine M2 seçeneği seçilmiştir. Böylece “Dur” blokunun yapacağı işlemler tamamlanmıştır.

Blok oluşturma örneği

Oluşturulan Blok İçin Girdi Tanımlanması: Bloklara değer taşıyan değişkenlere girdi adı verilir. Bir blok çağrıldığı zaman aynı zamanda girdi değerlerini de vermek gerekmektedir. Oluşturulan “İlerle ve Geridön” bloğu bu anlamda bir girdi içermektedir. Bu bloka girdi ekleme işlemi aşağıdaki örnekte açıklanmıştır.

Bloka girdi ekleme aşamaları

Girdi Örneği: Bu örnekte robotun ultrasonik algılayıcısı kullanılarak engele olan uzaklık ölçülmektedir. Engele olan uzaklık 10 cm’den büyük ise program çalışmaktadır. Engele olan uzaklık 10 cm’den büyük ise her tıklamada hızını 100 yaparak 1 saniye ileri doğru, engele 10 cm kalıncaya kadar gitmektedir. Koşul sağlanınca oluşturulan “Dur” değişkeni ile robot durmaktadır. Bu aşamaya kadar olan işlemler için yandaki uygulama örneği kullanılmıştır. Uzaklık şartı olan 10 cm “İşlemler” kategorisinde bulunan …<… işlem bloğu kullanılarak yazılmıştır.

Girdi örneği

Bu bloka girdi tanımlamak için “Dur” değişkenine sağ tıklanmış ve açılan “Düzenle” düğmesinde bulunan “Seçenekler” içerisinden “Sözel girdi ekle” kullanılarak girdi tipi seçilmiştir. Oluşturulan blok içinde tanımlanan kutucuğun içerisine “durdum” yazılarak parametre tamamlanmıştır. Program çalıştırılıp koşul sağlanınca programdaki kukla “durdum” ifadesini 2 saniye boyunca ekrana yazmaktadır.

Olaylar Alt Başlığı Altında Verilen Komut Blokları

Olaylar alt başlığı altında verilen bloklar sanal (kütüphaneden kukla, figür kullanılarak veya oluşturarak) veya fiziksel bir robot için oluşturulan programların ve diğer uygulamaların çalıştırılmasında kullanılmaktadır. Buradaki blokların kullanılmasıyla bir tuşun basılı olup olmaması veya seçilen nesnenin aktif olup olmaması durumuna göre uygulamanın çalışması sağlanabilir. Belirlenen bir haberin gelmesi durumunda yapılacak işlemler kontrol edilebilir. Olaylar alt başlığı altında verilen komut blokları ve ne amaçla kullanıldıkları aşağıdaki tabloda açıklanmıştır.

Olaylar alt başlığı altında verilen komut blokları

Olay Örneği: örnekte sanal robot boşluk tuşuna basılınca 250 adım ileri gitmekte, 1 saniye bekledikten sonra ekrana “Merhaba !” yazmaktadır. Yazı ekranda 2 saniye kaldıktan sonra “İlerledim” haberini salmaktadır. “İlerledim” haberi gelinde robot -250 adım giderek eski yerine dönmektedir. İstenirse boşluk tuşu yerine herhangi bir tuş seçilebilir. Bunun için tuş üzerindeki küçük üçgen üzerine tıklanıp seçim yapılması yeterlidir.

Olay örneği

Kontrol Alt Başlığı Altında Verilen Komut Blokları

Kontrol alt başlığı altında verilen bloklar sanal (kütüphaneden kukla, figür kullanılarak veya oluşturarak) veya fiziksel bir robot için hazırlanan programların ve diğer uygulamaların oluşturulmasında kullanılan temel programlama komutlarından oluşmakta ve tüm programlama uygulamalarında kullanılmaktadır. Buradaki blokların kullanılmasıyla birden fazla yapılması gereken döngüsel işlemler gerçekleştirilebilir. Koşullu durumunda gerçekleştirilmesi gereken işlemler yapılabilir. Ayrıca çalışan tüm kodların durdurulması ve nesnenin ikizi ile ilgili işlemlerin yapılması sağlanabilir. Robotik uygulamalarda, robot hareketinin durdurulması için “durdur” bloğu kullanılamamaktadır. Bu durumlara motor hızlarının sıfırlanarak durdurulması pratik bir çözüm olabilir. Aşağıda verilen örnekleri inceleyip uygulayınız. Kontrol alt başlığı altında verilen komut blokları ve ne amaçla kullanıldıkları aşağıdaki tabloda açıklanmıştır.

Kontrol alt başlığı altında verilen komut blokları

Kontrol Örnekleri-Döngüler

Verdiğimiz Sayı Kadar İşlemi Tekrarlayan Döngü Örneği: Bu örnekte robot hızını 100 yaparak 1 saniye boyunca ileri, 1 saniye boyunca da geri hareket etmektedir. Toplamda bunu 2 defa tekrarlamaktadır. Tekrarın sonunda hızını sıfırlayarak durmaktadır. Kaç defa tekrarlayacağını belirlemek için “Kontrol” kategorisinde bulunan “… defa tekrarla” döngü bloku kullanılmış ve 2 değeri girilmiştir.

Verdiğimiz sayı kadar

İşlemi Sürekli Tekrarlayan Döngü Örneği: Bu örnekte robot hızını 100 yaparak 1 saniye boyunca ileri, 1 saniye boyunca da geri hareket etmektedir. Bu işlemi sürekli olarak tekrarlamaktadır. Sürekli tekrarlaması için “Kontrol” kategorisinde bulunan “sürekli tekrarla” döngü bloku kullanılmıştır.

lemi sürekli tekrarlayan döngü örneği

Belirli Bir Şart Gerçekleşene Kadar Bekleme Örneği: Bu örnekte robot ortamdaki ses şiddeti 10’dan büyük olunca hareket etmeye başlamaktadır. Eğer 10’dan büyük değilse robot hareket etmemektedir. Ses şiddetini belirlemek için bilgisayardaki mikrofonun açık olması yeterlidir. Ses şiddeti 10’dan büyük olunca; robotun ultrasonik algılayıcısı kullanılarak önündeki engele olan uzaklık ölçülmektedir. Engele olan uzaklık 20 cm’den büyük ise robot beklemeye geçmektedir. Eğer engele olan uzaklık 20 cm’den küçük ise (örneğin elinizi robotun ultasonik algılayıcısına yaklaştırırsanız) koşul gerçekleşecek ve hızını 100 yaparak 1 saniye boyunca engele doğru ilerleyecektir. 1 saniye sonra M1 ve M2 motorlarının hızlarını sıfıra düşürerek duracaktır. Engel olan uzaklığı tekrar ölçecek 20 cm’den küçük olduğu için hızını 100 yaparak 1 saniye boyunca yine engele doğru ilerleyecektir. Bu ilerleyip durma durumu engele olan uzaklık sıfırlanıncaya kadar devam edecektir. Robotun uzaklık şartı gerçekleşinceye kadar beklemesi için “Kontrol” kategorisinde bulunan “olana kadar bekle” koşul bloku kullanılmıştır.

Belirli bir şart gerçekleşene kadar bekleme örneği

Belirli Bir Şart Gerçekleşene Kadar Döngü Örneği: Bu örnekte robotun ultrasonik algılayıcısı kullanılarak önündeki engele olan uzaklık ölçülmektedir. Engele olan uzaklık 20 cm’den küçük ise robot beklemeye geçmektedir. Eğer engele olan uzaklık 20 cm’den büyük ise koşul gerçekleşecek ve hızını 100 yaparak 1 saniye boyunca engele doğru ilerleyecektir. 1 saniye sonra M1 ve M2 motorlarının hızlarını sıfıra düşürerek duracaktır. Engel olan uzaklığı tekrar ölçecek 20 cm’den büyük ise hızını 100 yaparak 1 saniye boyunca yine engele doğru ilerleyecektir. Bu ilerleyip durma durumu engele olan uzaklık 20 cm’den küçük olana kadar devam edecektir. 20 cm’den küçük olunca robot artık hareket etmeyecektir. Robotun uzaklık şartı gerçekleşinceye kadar tekrarlaması için “Kontrol” kategorisinde bulunan “olana kadar tekrarla” koşul bloku kullanılmıştır.

Belirli bir şart gerçekleşene kadar döngü örneği

Kontrol Örnekleri-Koşullar

Olumlu Koşul İfadesi “eğer” “ise” Örneği: Bu örnekte robotun ultrasonik algılayıcısı kullanılarak önündeki engele olan uzaklık ölçülmektedir. Engele olan uzaklık 20 cm’den büyük ise robot hareket etmemektedir. Eğer engele olan uzaklık 20 cm’den küçük ise koşul gerçekleşecek ve hızını 100 yaparak 1 saniye boyunca engelden geriye doğru giderek uzaklaşacaktır. 1 saniye sonra M1 ve M2 motorlarının hızlarını sıfıra düşürerek duracaktır. Her tıklandığında engele olan uzaklığı tekrar ölçecek yine 20 cm’den küçük ise hızını 100 yaparak 1 saniye boyunca engelden geriye doğru giderek uzaklaşacaktır. Bu geri geri gidip durma durumu engele olan uzaklık 20 cm’den büyük oluncaya kadar devam edecektir. 20 cm’den büyük olunca robot artık hareket etmeyecektir. Robotun verilen koşula göre hareket edebilmesi için “Kontrol” kategorisinde bulunan “eğer ise” koşul bloku kullanılmıştır.

Olumlu koşul ifadesi eğer ise örneği

Olumlu Koşul İfadesi “eğer” “ise” ve Olumsuz Koşul İfadesi “değilse” Örneği: Bu örnekte de robotun ultrasonik algılayıcısı kullanılarak önündeki engele olan uzaklık ölçülmektedir. Eğer engele olan uzaklık 10 cm’den büyük ise her tıklamada hızını 100 yaparak 1 saniye boyunca engele doğru ilerleyecektir. 1 saniye sonra M1 ve M2 motorlarının hızlarını sıfıra düşürerek duracaktır. Her tıklandığında engel olan uzaklığı tekrar ölçecek yine 10 cm’den büyük ise hızını 100 yaparak 1 saniye boyunca engele doğru ilerleyecektir. Bu ilerleyip durma durumu engele olan uzaklık 10 cm’den küçük olana kadar devam edecektir.

Eğer engele olan uzaklık 10 cm’den küçük ise hızını 100 yaparak 1 saniye boyunca engelden geriye doğru giderek uzaklaşacaktır. 1 saniye sonra M1 ve M2 motorlarının hızlarını sıfıra düşürerek duracaktır. Her tıklandığında engel olan uzaklığı tekrar ölçecek yine 10 cm’den küçük ise hızını 100 yaparak 1 saniye boyunca engelden geriye doğru giderek uzaklaşacaktır. Bu geri geri gidip durma durumu engele olan uzaklık 10 cm’den büyük oluncaya kadar devam edecektir. Robotun verilen koşullara göre hareket edebilmesi için “Kontrol” kategorisinde bulunan “eğer ise değilse” koşul bloku kullanılmıştır.

Olumlu koşul ifadesi eğer ise ve olumsuz koşul ifadesi değil örneği

Algılama Alt Başlığı Altında Verilen Komut Blokları

Algılama alt başlığı altında verilen bloklar sanal (kütüphaneden kukla, figür kullanılarak veya oluşturarak) veya fiziksel bir robot için hazırlanan programların ve diğer uygulamaların oluşturulmasında ve tüm uygulama programlarında kullanılmaktadır. Buradaki blokların kullanılmasıyla bir nesneye, bir renge değme durumu ya da fareye olan mesafe algılanabilir. Mesaj vermek için kullanılabilir. Klavye ve fare kullanımına dayalı işlemler yapılabilir. Bilgisayara bağlı kameranın aktif olması ve sanal robotun video hareketlerine göre değişiklik göstermesi sağlanabilir. Ayrıca nesnelerin konumunu algılama işlemleri de yapılabilmektedir. Algılama alt başlığı altında verilen komut blokları ve ne amaçla kullanıldıkları aşağıdaki tabloda açıklanmıştır.

Algılama alt başlığı altında verilen komut blokları

Algılama Örneği: Bu örnekte yukarı ve aşağı ok tuşları kullanılarak sanal robotun dikey yönde aşağı veya yukarı hareket etmesi sağlanmıştır. Program çalıştırıldığında robot x=-180, y=0 konumuna gitmektedir. Yukarı ve aşağı hareket y değerinin artırılıp azaltılmasıyla sağlanmaktadır.

Algılama örneği



İşlemler Alt Başlığı Altında Verilen Komut Blokları

İşlemler alt başlığı altında verilen bloklar sanal (kütüphaneden kukla, figür kullanılarak veya oluşturarak) veya fiziksel bir robot için hazırlanan programların ve diğer uygulamaların oluşturulmasında ve tüm uygulama programlarında kullanılmaktadır. İşlemler bloğu matematiksel işlemlerin bulunduğu bloktur. Dört işlem gerçekleştirme, iki değer arasında rastgele değer üretme, karşılaştırma yapma, birden fazla durumu veya bir durumu seçmek veya seçmemek için kullanılmaktadır. Ayrıca iki farklı ifadeyi birleştirme, karakter uzunluğu belirtme işlemleri ve basit matematiksel hesaplamalar (mod alma, yuvarlama, karekök alma gibi) yapılabilmektedir. İşlemler alt başlığı altında verilen komut blokları ve ne amaçla kullanıldıkları aşağıdaki tabloda açıklanmıştır.

lemler alt başlığı altında verilen komut blokları

İşlem Örneği: Bu örnekte 0 ile 10 arasında girilen sayıya göre sanal robotun (kukla) hareketi etmesi sağlanmıştır. Kullanıcının 0 ile 10 arasında sayı girmesi beklenmekte, sayı girilince yanıta göre kukla hareket etmektedir. Eğer yanıt 0 ise kukla 50 adim ileri gitmekte, eğer yanıt 1 ise kukla (-50) adim geri gitmektedir. Yine eğer yanıt 2 veya 3 ise kukla 100 adim ileri gitmekte, eğer yanıt 4 ise kukla (-100) adim geri gitmektedir. Eğer yanıt 5 ile 7 arasında ise kukla 200 adim ileri gitmekte, eğer yanıt 7’den büyük ise kukla (-200) adim geri gitmektedir.

lem örneği ve ekran

Robotlar Alt Başlığı Altında Verilen Komut Blokları

Robotlar alt başlığı altında verilen bloklar Arduino uyumlu kartlar için uygulama programları hazırlanmasında, fiziksel bir robot için programların hazırlanmasında, Makeblock tarafından üretilen robot ve robot kontrol kartları ve kalkanların (shield) programlanmasında ve diğer tüm donanım tabanlı programlama uygulamalarında kullanılmaktadır. Kullanılan kart türüne göre desteklenen bloklar değişmekte olup aşağıda Arduino uyumlu kartlar için kullanılabilecek bloklar verilmiştir. Robotlar alt başlığı altında verilen komut blokları ve ne amaçla kullanıldıkları aşağıdaki tabloda açıklanmıştır.

Robotlar alt başlığı altında verilen komut blokları

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir