mBlock Dersleri-15 mBlock 4 İle Muz Piyano Yapımı
mBlock ile Arduino uygulamaları serisine devam ediyoruz. Bu yazımızda mBlock 4 İle Muz Piyano Yapımı devresini anlatacağım. mBlock programı blok şeması, devre montaj şeması, devre kurulumu detaylı anlatımı ve devre çalışma videosu şu şekildedir.
İlk önce internetten mBlock içerisine ekleyeceğimiz muz resmi araştıralım. Seçeceğimiz resim png formatında arka planı transparan olan resim olmalıdır. Çünkü resmi sahneye eklediğimizde muz harici beyaz alanlar gözükmesin. İsterseniz bu yazının altına benim kullandığım muz resimlerini ekledim. Resimleri indirip kullanabilirsiniz.
mBlock programını çalıştıralım. Yeni kukla ekleme penceresinden “kuklayı bilgisayarından seç” seçeneği ile bilgisayara indirdiğimiz muz resmini kuklalar içerisine ekleyelim. Ekranda hem panda kuklası hem de muz kuklası olacaktır. Panda kuklası üzerinde fare sağ tuş ile tıklayıp sil komutu ile silelim.
Muz resmi üzerine tıklayarak resmi daha dikey pozisyona çevirelim ve boyutunu küçültelim. Çünkü resmin bulunduğu çalışma ekranına aynı resimden 8 tane ekleyeceğiz. (8 notaya denk gelsin diye)
Boyutunu küçülttükten sonra muz nesnesini çalışma alanının sol tarafına getirelim. Sol üst köşede sahne içerisine muz resminin konumu gözükmektedir. Muz resmine tıkladığımızda sağ bölümde yer alan araç paletindeki kopyala seçeneğine tıklayarak muz resimlerinin 8 adet kopyasını çıkartıp yan yana dizelim.
Orta şeritteki kılıklar sekmesinde muz kuklamız üzerinde iken sağ tuş tıklayarak oluşturduğumuz tasarımı 8 adet çoğaltalım. Her çoğalttığımız muz tasarımı muz2 muz3 şeklinde otomatik isimlendirilecektir.
En üstteki muz ismini de üstteki kutudan muz1 olarak değiştirelim.
Muz1 kılığında iken sağ alt köşede bulunan büyültme küçültme butonları içeren araç çubuğunda ortadaki “eşittir” simgesine tıklayarak muz nesnesini sahnede hepsini görecek şekilde ayarlayalım.
Bendeki muz nesnesi 539×157 boyutlarında oluştu. Sizinkiler farklı boyutlarda olabilir. Önemli olan sahne içerisine hepsinin sığması. Sol üst köşede yer alan sahneyi tam ekran gördüğümüz simgeye tıklayarak muzların sahnede hepsinin görünüp görünmediğini kontrol edebilirsiniz. Bu aşamada dosyamızı her adımda kaydedelim. Bir hata yaptığımızda en azından geriye dönüş imkanımız olsun. Dosya menüsünden “projeyi kaydet” seçeneği ile dosyamıza bir isim verip kaydedelim.
Şimdi en can alıcı noktaya geldik. Her nota için muzları boyayacağız. Muz1 kılığı seçili iken sağ alt köşede yer alan “Biteşleme dönüştür” seçeneğine tıklayalım.
Sahnede sol tarafa bir araç çubuğu gelecektir. Buradan kova simgesine tıklayalım. Alt tarafta siyah renk seçili gelecektir. Renk paletinden kırmızı rengi seçelim.
Tasarım alanındaki en soldaki muz resmi üzerine tıklayarak muz rengini kırmızı renge boyayalım. Dikkatli boyayalım. Sahne alanını veya diğer muzları boyamayalım. Yanlış boyama yaptığınızda üst taraftaki geri al veya ileri al butonları ile çalışmanızı düzeltebilirsiniz. Boyama yaparken rahat boyamak için sağ alttaki büyüteç butonundan + ya basarak 200% değerine getirebilirsiniz. Birinci muz resmini boyadıktan sonra sağ alt köşedeki “vektöre dönüştür” simgesine tıklayınız. (Resmi boyadıktan sonra diğer muzları boyamaya geçmeden önce mutlaka “vektöre dönüştür” simgesine tıklamamız gerekiyor. Yoksa boyama işlemleri ve resimlerin boyutları karışıyor.
Şimdi tasarım alanındaki işlemimiz şu şekilde oluştu.
Şimdi diğer muz resimleri içinde kılıflar içerisinden seçim yaparak sırası ile muzları boyayalım. (muz2 kılıfı için soldan 2. Muz boyanacak. Muz3 kılıfı için soldan 3. Muz boyanacak. Bu şekilde boyama işleri tamamlanacak.)
Kılıflarla işimiz bitti. Kuklamız hazır. Projemizi bu hali ile kaydedelim. Şimdi programlama kısmına geçebiliriz.
Program içerisinde Dizinler sekmesine tıklayarak blok tasarımına geçelim. Olaylar içerisinden ”Tıklandığında” simgesini tasarım alanına sürükleyelim. Ses içerisinden “çalgıyı 1 yap” simgesini seçip “tıklandığında” bloğunun altına ekleyelim.
Kontrol içerisinden “sürekli tekrarla” simgesini blokların altına ekleyelim. Kontrol içerisinde “eğer ise” simgesini “sürekli tekrarla” bloğu içerisine ekleyelim.
Robotlar içerisinde “9 sayısal pini oku” simgesini “eğer ise” bloğundaki eğer ve ise yazısı arasındaki kutu içerisine ekleyiniz. 9 rakamı kutu hizasına geldiğinde içerisine bırakabilirsiniz. 9 rakamını 13 olarak değiştirelim. Biz Arduino üzerinde 13 numaralı pinden başlayacağız.
Görünüm içerisinden “muz8 kılığına geç” simgesini “eğer” bloğunun içerisine ekleyiniz. muz8 ifadesini muz1 olarak blok içerisinde değiştiriniz.
Ses bölümünden “60 notasını 0.5 vuruş çal” simgesini “eğer” bloğunda “muz1 kılığına geç” bloğunun altına yerleştiriniz. 60 değerini 53 olarak değiştiriniz. 1. Notamız bu olacak. Notayı değiştirdiğinizde bilgisayardan nota sesini duyabileceksiniz.
Şimdi 1. Nota ile ilgili kodlamamızı bitirdik. Diğer notaları da aynı şekilde ayarlayacağız. “sürekli tekrarla” altında yer alan “eger ise” bloğu üzerinde fare sağ tuş tıklayalım ve “kopyasını çıkart” diyelim ve kopyayı hemen eğer bloğunun altına yerleştirelim. Bu blokta 13 rakamını 12 ile, muz1 yazısını muz2 ile, 53 notasını 55 ile değiştirelim.
Bu şekilde “eğer ise” bloklarını çoğaltarak 8 nota için değerleri oluşturalım. Aşağıdaki resimde tüm notalar için oluşturulmuş değerler verilmiştir.
Bu şekilde tasarım alanını bitirmiş olduk.
Arduino kartımızı bilgisayarımıza bağlayalım. “Bağlan” menüsünde “Seri Port” içerisinden Portu seçelim. (Ben de COM5 gözükmektedir. Siz de daha farklı port numarası gözükebilir.)
Yine “Bağlan” menüsünden “Aygıt Yazılımı Güncellemesi” seçeneğine tıklayarak bilgisayarımızın Arduino kartı ile etkileşimli çalışmasını sağlayalım. Yükleme tamamlandığında yeşil butona basarsak notaların bilgisayarda çaldığını görebiliriz. Sol taraftaki simge ile sahneyi büyütüp sadece muz simgelerinin geçişini görebiliriz. Kırmızı buton ile çalışmamızı durdurabiliriz.
Not: Notalar şu anda kendi kendine çalmaktadır. Çünkü kart üzerinde bir devre tasarlamadık. Devreyi tasarlayıp Arduino üzerine bağladığımızda kendi kendine nota çalma işlemi susacak ve biz hangi meyveye dokunursak o meyveye bağlı nota çalacaktır. Notaların çalma işlemi Arduino kartı bilgisayar bağlı olduğu sürece çalışacaktır. Kartı bilgisayardan söktüğünüzde harici bir kaynakla kartı beslediğinizde çalışmayacaktır. Bundan dolayı program içerisinde Arduino kipine geçiş yapmadık. Zaten bu kipe geçiş yaptığımızda nota seçeneklerini Arduino kartımız çözemeyeceği için yükleme yapmayacaktır. Arduino kartı içerisine yükleme yaparak bağımsız çalıştırabileceğimiz devre tasarımı farklı olup o devrenin de tasarımı da bir sonraki konularda anlatılacaktır.
Devre tasarım şeması aşağıdadır. Devremizi bu şekilde tasarladığımızda GND den gelen kabloyu bir elimizle tutacağız. Muzlara her dokunduğumuzda notalar çalmaya başlayacaktır. Devrede kullanılan dirençler 10 kOhm’dur (Kahverengi – Siyah – Turuncu)
Devrede muz yerine farklı meyveler veya butonda kullanabilirsiniz. Buton kullanırsanız butonların bir bacağı eksiye bağlanacak, diğer bacaklarına ise meyvelere gelen uçlar bağlanacaktır.
DEVRE MONTAJ ŞEMASI:
DEVRE KURULUMU:
Malzemeler:
Arduino Uno
Breadboard
8 adet 10 kΩ direnç
8 adet muz (Kiraz, portakal, vs. başka meyve de olabilir)
17 adet iki ucu erkek jumper kablo
Breadboard üzerine dirençler yerleştirilir. Dirençlerin birer uçları boardın üst kısmında birleştirilir. Birleştirilen kısımdan tek bir jumper kablo ile Arduino’ nun +5V. pinine bağlanır. Dirençlerin diğer ucu Arduino’nun 6,7,8,9,10,11,12,13 numaralı pinlerine bağlanır. Dirençlerin aynı ucuna birer jumper kablo daha bağlanarak kablonun uçları her bir muz üzerine batırılarak tutturulur. Arduino’nun GND ucuna 1 adet jumper kablo bağlanarak kablonun diğer ucu elimizle tutmak için boşta bırakılır. Devremiz bu şekilde tamamlanır.
mBlock 4 İle Muz Piyano Yapımı
Devre hakkında yorumlarınızı aşağıdaki yorum kısmına yazabilirsiniz. Aynı zamanda Youtube kanalımızda da mBlock ve Arduino ile ilgili ders videoları bulabileceksiniz. Youtube kanalıma abone olmayı da unutmayınız.
https://www.youtube.com/@candemirahmet
Devrede kullanabileceğiniz muz resimleri
Devreyi kurup kodları ardunioya yüklediğim halde notalar kendi kendine çalmaya devam ediyor. Bunun bir çözümü var mıdır acaba?
Devre açıklama kısmında Not bölümünde bu durumu açıkladım. Devreyi kurup bağlantıyı yaptığınızda bu durum düzelecektir. Ayrıca devrede direnç bağlantılarını da kontrol edebilirsiniz.