İlk duyduğum günden beri kendisine merak duyduğum Arduino’yu birkaç hafta önce sonunda set olarak aldım. Set içeriğinde herhangi bir sensör olmadığı için led ve fotodiyot ile yapılabilecek birkaç basit örnek dışında yapacak bir şey bulamadım, ısınma turları için şunun gibi anlamsız şeyler denedim:
Daha sonra ‘Neden ses işlemiyorum?’ diye sordum kendime, ilk cevabım ‘Ama elimde jak girişi veya mikrofon yok ki’ idi ve elbette ardından bir çözümü olmalı diye düşünüp aramaya başladım. Processing adında, Java tabanlı ve açık kaynak kodlu bir yazılımla karşılaştım, bu yazılım sayesinde Arduino’nuza gerekli yazılımı yükledikten sonra Processing ile Arduino’ya veri gönderebiliyorsunuz. Processing ile ses verisi işlemek için Minim isminde bir kütüphane kullandım.
Öncelikle size sonucu göstereyim, ardından adım adım nasıl yapabileceğinizi anlatayım. 🙂
Sonuç bu, elbette bu haline gelene kadar biraz evrimleşti. Temelde oynatılan medyanın hertz değerlerine bakarak ledlere akım vermekten ibaret. Bu fikri uygulamak istediğimde ilk bulduğum şey Damiano Andreghetti tarafından hazırlanmış olan müzik ritmine göre Arduino’da ledlere akım veren bir projeydi. Ben de bu proje üzerinden gittim, ancak bu projenin çalışması için yazılıma bir mp3 dosyası okutuyorsunuz, yazılım o mp3 dosyasını çalarken hertz değerlerine göre kodlarda belirttiğiniz Arduino pinlerine akım veriyor. Benim projemin son halinde ise yazılımı çalıştırdıktan sonra bilgisayardan ses çıkışına ne ses giderse, bu veriyle ledleri yakıyor. Böylelikle bilgisayarınızda nereden medya oynatırsanız oynatın bunu ledlerde görebiliyorsunuz. 🙂
Not: Proje için gerekli anlatım Windows platformu üzerinde yapılmıştır. Farklı platformlarda geliştirirken yaşadığınız sorunlar için Yorum kısmından veya e-posta ile ulaşabilirsiniz; yardımcı olmaya çalışırım.
– Arduino’ya Gerekli Yazılımın Yüklenmesi
Bilgisayarımızdan Arduino’ya yazılımlar aracılığıyla veri gönderebilmek için Arduino yazılımıyla ile birlikte gelen StandardFirmata kodunu yüklememiz gerekiyor. Arduino IDE yazılımını indirdikten sonra gerekli kodu yüklemek için Arduino’da Dosya>Örnekler>Firmata>StandardFirmata yolunu takip edip Taslak>Yükle yolunu takip ederek veya Ctrl+U kısayolunu kullanarak Arduino’nuza bu kodu yüklemeniz gerekiyor.
Bu işlemi tamamladıktan sonra artık Arduino sadece veri bekliyor.
– Processing’i Yüklemek, Processing Arduino ve Minim Kütüphaneleri
Ben araştırma yaparken Processing 2’nin Arduino ile iletişim kurmasını sağlayan Processing Arduino kütüphanesini bulmuştum, o yüzden Processing’in güncel sürümü yerine 2.2.1 numaralı sürümünü kullandım. Öncelikle Processing Download adresinde bulabileceğiniz Processing 2.2.1 sürümünü indirin, Processing, zip türünde arşivlenmiş ve kurulum gerektirmeyen bir şekilde gelecek. Arşivden çıkarttıktan sonra Processing yazılımını 1 kez çalıştırın, böylelikle kütüphaneler için gerekli dizinleri oluştursun, programı kapattıktan sonra şu adresten Processing2-Arduino kütüphanesini indirin. Arşivden arduino dizinini çıkartın ve dizini, C:/Users/<kullanici_adi>/Documents/Processing/libraries dizini altına kopyalayın, bu kütüphaneyle birlikte Processing yazılımından Arduino’ya komut gönderebileceğiz. Minim kütüphanesi ise hazır bir şekilde Processing ile gelen bir kütüphane.
– Arduino ve Breadboard ile Devreyi Oluşturma
Projeye başlamadan önce kablolama biraz karışık olacağı için Fritzing yazılımı ile devreyi oluşturdum. Fritzing de yine açık kaynak kodlu bir yazılım projesi. Az önce dediğim gibi, gerçekten karışık oldu. 🙂
Karışık görünüyor ama aslında gerçekten çok basit. Arduino ve breadboard ile çalışacaksanız mutlaka şöyle kablolardan almanızı öneririm. Hatta bu yazıyı yazarken ben de hemen bir set sipariş veriyorum! 🙂 Ayrıca Fritzing projesini de isterseniz sizi böyle alalım.
– Let’s Do It!
Arduino’nuza StandardFirmata yazılımını yüklediniz, Arduino ve breadboardınızı yukarıdaki gibi hazırladınız. Geriye ledleri breadboarda yerleştirmek ve projeyi çalıştırmak kalıyor. Ledleri nasıl dizdiğimi görmek için yukarıda sonuç olarak koyduğum videoyu tekrar izleyin, neden öyle dizdiğimi merak ediyorsanız; fritzing çıktısına bakarak anlayabilirsiniz. Ve son olarak, aşağıdaki linkten Processing projesini indirip çalıştırabilirsiniz.
http://dl.kaankolkoy.net/proje/arduino_music2led/processing/music2led.zip
Unutmadan: Yazılımın bilgisayarınızdaki ses çıkışını yakalayabilmesi için sistem tepsisindeki ses simgesine sağ tıklayıp Kayıt Aygıtları‘na girip, Stereo Karışımı‘nı varsayılan aygıt olarak atamanız gerekiyor.
Tüm sorularınız ve takıldığınız noktalar için iletişim kurmaktan çekinmeyin. 🙂 Processing projesinin içeriği çok basit, yorum satırları da mevcut.