Arduino Vumetre Devresi ve Projesi: Ses Seviyesine Göre Yanıp Sönen Ledler
Bu yazımızda Arduino ve basit elektronik elemanları kullanarak bir vumetre projesi yapacağız. Kısaca vumetrenin ne olduğunu düşündüyseniz söyleyelim; sıralı olarak dizeceğimiz LEDlerimizin çalan müziğe göre yani sesin ritmine göre yanıp sönmesidir. Bazı müzik çalarlarda sese göre artıp azalan ışıkların mantığı işte vumetredir. Hadi anlatmaya başlayalım;
Vumetre Malzeme Listesi
İlk başta malzeme listemizi verelim. Almanız gerekenler Arduino ve basit elektronik elemanlardır;
♦ Arduino UNO,
♦ 10 adet led,
♦ 10 adet 220ohm değerinde direnç,
♦ 3.5mm jack,
♦ Jack çoğaltıcı
♦ Bir miktar erkek-erkek jumper kablosu
Vumetre Devresi
Devreyi üst tarafta gördüğünüz resimdeki gibi kuruyoruz. Kurduktan sonra eğer direk jackimizi bilgisayara taktığımızda LED’lerin yanıp sönmeye başladığını göreceğiz ama ses gelmeyecektir. Çünkü ses kulaklık girişine gitmektedir. Bunu çözmek içinde jack çoğaltıcı kullanacağız.
Devre Şemasının Açıklanması
Devre şemasına aşina iseniz kısa sürede kurabilirsiniz. Eğer değilseniz size yardımcı olması açısından kısaca açıklarsak; Ledlerimizin her bir ucuna 220 ohm dirençlerimizi bağlıyoruz. Dirençlerimizin diğer ucunuda sırasıyla Arduino’muzun 2,3, 4, 5, 6, 7, 8, 9, 10, 11 nolu pinlerine bağlıyoruz. Ledlerimizin diğer uçlarınıda birbirine seri bağlayarak, toprağa gönderiyoruz. Jackimizin bir ucunu Arduino’muzun Analog-0 yani A0 ucuna diğerini de toprağa bağlıyoruz. Alt tarafta ikinci bölümde Jack çoğaltma işlemini ve Kodları açıkladık.
Jack Çoğaltıcı Kullanımı
Önerilen Yazı: LCD Ekranlı Termometre Yapımı – Arduino Projeleri
Jack çoğaltıcı ve devremizi yukarıdaki görülen resimdeki gibi bağlıyoruz. Böylelikle bilgisayarımızdan hem vumetremize hem de hapörlerimize bir giriş-çıkış sağlamış oluyoruz. Resimdeki gibi jack çoğaltıcıyı bağladığınızda artık hem LEDlerin yanıp söndüğünü hem de sesin geldiğini göreceksiniz.
Vumetre Arduino Kodu
Kodun çalışma mantığı şu şekilde önce bir dizi ile ledleri tanımlıyoruz. Kodumuzda kullanacağımız değişkenleri tanımlayıp, ledleri çıkış olarak ayarlıyoruz. Loop fonksiyonu içerisinde ise, önce A0 analog pininden okuduğumuz değeri analog deger değişkenine atıyoruz ve bu değişkeni 5’e bölüyoruz. Eğer analog_değer değişkeni 0 ise tüm ledleri söndürüyoruz, değişken 0’dan farklı ise ledleri sırası ile yakmaya başlıyoruz.
int led_pinleri[10] = { 2,3, 4, 5, 6, 7, 8, 9, 10, 11}; int analog_deger, i; void setup() { for (i = 0; i < 10; i++) pinMode(led_pinleri[i], OUTPUT); Serial.begin(9600); } void loop() { analog_deger = analogRead(A0); Serial.print(analog_deger); Serial.print(” “); analog_deger = analog_deger / 5; Serial.println(analog_deger); if (analog_deger == 0) { for(i = 0; i < 10; i++) { digitalWrite(led_pinleri[i], LOW); } } else { for (i = 0; i < analog_deger; i++) { digitalWrite(led_pinleri[i], HIGH); } for(i = i; i < 10; i++) { digitalWrite(led_pinleri[i], LOW); } } }
Vumetre Videosu;
Vumetre ile ilgili videomuzu Facebook sayfamızdan paylaşmıştık. Eğer izlemek isterseniz. Buraya tıklayarak ulaşabilirsiniz. Eğer müziği hoşunuza gittiyse onuda belirtelim. Müziğin ismi; The Prodigy – Firestarter. Kolay gelsin.