mBot Robotu İle Kodlama

Işık ile hareket eden MBot

Bu uygulamamızda ortamdaki ışık şiddetine göre mBot robotumuzun hızını belirleyeceğiz ve karanlık bir ortamda robotumuz üzerinde bulunan LED’ leri yakacak. Bir önceki uygulamamızdan farklı olarak burada değişken kullanmamız gerekiyor. Ayrıca işlemler kod bloğunu da kullanacağız. Bir önceki uygulamamızı kaydettiyseniz onun üzerinde değişiklikler yaparak bu projeyi oluşturabilirsiniz. Hadi başlayalım…

İlk önce bilmemiz gereken bir noktaya değinelim. Işık algılayıcılar 0-1024 arası değer alırlar, motorlar ise 0-255 arası değerlerde çalışır. Biz ışık şiddetine göre motorun hızını belirlemek için ışık şiddetini 4 e bölerek aşağı yukarı bir eşitleme yapmamız gerekiyor.

DEĞİŞKEN Nedir?

Kodlamada kullandığımız sensörlerin (ışık şiddeti, nem, sıcaklık…vb.) okuduğu değerleri bilgisayarın hafızasında saklamamıza yarayan veri tutucudur. Bir çeşit kutu gibi düşünebiliriz.

 

Değişken oluşturarak başlayalım. Kod bloklarından Veri&Blok seçeneğine tıkladığımızda Bir Değişken Oluştur düğmesini göreceğiz. Bu düğmeye tıklayıp ekrana gelen Yeni Değişken penceresinde Değişken ismi alanına Hız yazıp Tamam düğmesi tıklandığında değişkenle ilgili kodlar görüntüye gelecektir.

veri blok

Veri&Blok

Yeni Değişken Oluşturma
Yeni Değişken Oluşturma

 

 

 

 

 

Değişkenler Bloğu
Değişkenler Bloğu

 

 

 

 

 

Bu kodlardan Hız, 0 olsun kodunu kodlama alanına sürükleyip bırakalım.

Ardından İşlemler kod bloğundan bölme işlemi  bölme işlemini kodlama alanına alalım. Işık değerini 4′ e bölerek Hız değişkenine eşitleyelim. Aşağıdaki resimdeki gibi Bölme işleminin sol tarafına ışık algılayıcı kodu sürükleyip ekleyin diğer tarafına da klavyeden 4 yazın.

ışık algılayıcı
ışık algılayıcı

Bu oluşturduğumuz bloğu da aşağıdaki resimdeki gibi Hız, 0 olsun bloğunda 0’ ın yerine sürükleyip bırakın.

Hız Değişkenini Işık Değerine Eşitleme
Hız Değişkenini Işık Değerine Eşitleme

Şimdi robotumuzu hareket ettirmek için 1. Uygulamamızda kullandığımız Robotlar kod bloğundan İleri git hızı 50 yap bloğunu kullanacağız. Veri &Blok kod bloğundan da Hız değişkenini sürükleyip 50 üzerine bırakın.

Böylece ışık algılayıcının ölçtüğü değere göre Hız değişkenin değeri değişecek, motor hızları da Hız değişkeninin değeri ile doğru orantılı olarak artacak veya azalacaktır.

 

Hız Değişkeni ile Motor Hızını Belirleme
Hız Değişkeni ile Motor Hızını Belirleme

 

Şimdi amacımız robotumuzun ışık algılayıcısı 50’ den düşük bir değer okuduğunda ışıklarını yakıp ileri doğru hareket etmesini sağlamak. Fakat burada bir çelişkiyle karşılaşıyoruz. Robotumuzun ışık algılayıcısı hemen RGB LED’ lerinin yanında olduğu için ledler yanınca ışık algılayıcı 50 nin üzerinde bir değer okuyacağından RGB LED’ leri söndürecektir. Bunun için kodlarımızı aşağıdaki gibi iç içe karar yapıları kullanarak düzenlememiz gerekiyor.

Böylece ışık algılayıcı 50’ den küçük bir değer okuduğunda ışıkları yakacak, 450’den büyük bir değer okuduğunda ışıkları söndürecektir.

 Kart ledler bloğunda Kırmızı, Yeşil, Mavi değerlerini 255 olarak seçersek RGB Ledleri beyaz yanacaktır, 0 olarak seçersek sönecektir.

Işık şiddetine göre hareket eden MBot

Işık şiddetine göre hareket eden MBot

Bu derste neler öğrendik?

  • Algılayıcılar ve ışık algılayıcı.
  • Algılayıcılardan gelen verileri okuma.
  • Değişken kullanımı.
  • İç içe karar yapıları kullanma. (eğer-ise-değilse / içinde eğer-ise)
  • RGB Ledleri ile Beyaz ışık yakmak.

İlgili Makaleler

Bir yanıt yazın

Başa dön tuşu