İçeriğe Geç

Mozart Projesi

06 Nov 2023
Mozart Project

Müzik Projesi

Klasik dönemin ikonik bestecisi Mozart, hala dünya genelinde müzisyenleri ve hayranları etkilemeye devam ediyor. Bu projede, PicoBricks platformunu kullanarak Mozart'ın ünlü bestelerinden birini nasıl buzzer ile çalabileceğimizi keşfedeceğiz. PicoBricks, müzik tutkunları ve teknoloji severler için mükemmel bir seçenek olabilir :) . Projemiz, Mozart'ın başyapıtı Türk Marşı'nı PicoBricks kullanarak yeniden çalmaya odaklanıyor. Seçtiğimiz bir parçayı sevimli bir kesite dönüştürerek onu büyüleyici bir müzik deneyimine çevirdik. Sadece birkaç satır kod, bir buzzer ve biraz yaratıcılık ile Mozart'ın müziğini ve benzer besteleri tamamen yeni bir şekilde hayata geçirebiliriz..

Detaylar ve Algoritma

İlk olarak, projemiz için bazı sabitler ayarlamamız gerekiyor. Bir pine BUZZER_PIN adını vereceğiz ve A5, B5, C5, D5, E5 ve G5 gibi farklı müzik notları için frekansları NOTE_A5, NOTE_B5, NOTE_C5, NOTE_D5, NOTE_E5 ve NOTE_G5 olarak tanımlayacağız. Daha sonra, mozartSongMelody adında bir dizi yapacağız ve bu dizi, melodideki tüm notları tutacak.

Ayrıca her notanın ne kadar süreyle çalması gerektiğini belirlemek için mozartTempo adında başka bir dizi yapacağız. Kurulum işlevinde BUZZER_PIN'in sesi duyabilmemiz için bir çıkış olarak ayarlı olduğundan emin olacağız.

Şimdi, eğlenceli kısma gelelim: döngü işlevi. Melodideki notların sayısını bulmak için sizeof işlevini kullanacağız. Ardından mozartTempo dizisindeki her notayı işleyeceğiz. Döngü içinde, her notanın tempoya dayalı olarak ne kadar süreyle çalması gerektiğini hesaplayacağız. Bu süreyi kullanarak, notayı buzzer üzerinde çalmak için ton işlevini kullanacağız. Ayrıca notalar arasında ritim ve müzikalite kazandırmak için notalar arası bir duraklama süresi hesaplayacağız.

Bir nota çalındığında, sesi durdurmak için noTone'u kullanacağız. İşte bu kadar! Bu kod, bir buzzer kullanarak bir Mozart bestesi bile çalmanıza olanak tanır. PicoBricks IDE, MicroPython ve Arduino ile farklı melodileri deneyebilir ve bestelerinizi oluşturabilirsiniz. PicoBricks İle Robotik Projene Ses Ekleyebilirsin!

Gerekli Malzemeler

1x PicoBricks

 

Devre Şeması

MicroBlocks Kodları

MicroPython Kodları


from utime import sleep
import time
from machine import Pin, I2C, PWM

tones = {
"B0": 31,
"C1": 33,
"CS1": 35,
... # (for brevity, other tones can be added here)
"DS8": 4978
}

song = ["A5","B5","C5", "B5", "A5", "A5", "E5", "E5", "D5","C5","B5","A5","G5","G5","P"]
buzzer = PWM(Pin(20))
buzzer.duty_u16(0)

def playtone(frequency):
    buzzer.duty_u16(3000)
    buzzer.freq(frequency)

def bequiet():
    buzzer.duty_u16(0)

def playsong():
    playtone(tones["A5"])
    sleep(0.2)
    ... # (for brevity, other song notes can be added here)
    bequiet()
    playtone(tones["E5"])
    sleep(2)

    bequiet()

playsong()

Arduino C Kodları


#define BUZZER_PIN 20
#define NOTE_A5 880
#define NOTE_B5 988
#define NOTE_C5 523
#define NOTE_D5 587
#define NOTE_E5 659
#define NOTE_G5 784

const int mozartSongMelody[] = {
  NOTE_A5, NOTE_B5, NOTE_C5, NOTE_B5, NOTE_A5, NOTE_A5, NOTE_E5,
  NOTE_E5,NOTE_D5,NOTE_C5,NOTE_B5,NOTE_A5,NOTE_G5,NOTE_G5,0,
};
const int mozartTempo[] = {
  2, 2, 2, 2, 8, 8, 4,
  4, 6, 2, 8, 4, 4, 4, 
  2, 4, 4, 4, 4, 2, 2,
  2, 2,
};

void setup() {
  pinMode(BUZZER_PIN,OUTPUT);
}

void loop() {
  int size = sizeof(mozartTempo)/sizeof(int); // Get the number of notes in the melody
  for (int note = 0; note < size; note++) {
    int duration = 1000/mozartTempo[note];
    tone(BUZZER_PIN, mozartSongMelody[note], duration);
    int pauseBetweenNotes = duration * 1.30;
    delay(pauseBetweenNotes);
    noTone(BUZZER_PIN); 
  }
}

Beste Projeleri

Melodi projeleri, PicoBricks kullanıcılarına müziği ve sesleri projelerine entegre etme fırsatı sunar. Bu tarzda melodi projelerinde, projelerinizi farklı melodiler ve ses efektleri kullanarak daha çekici hale getirebilir, işitsel geri bildirim sağlayabilirsiniz. Müzik projeleri, Maker dünyasındaki sesin önemini vurguluyor ve projelerinizi bir üst seviyeye taşıyor!

 

Önceki Gönderi
Sıradaki Gönderi

Abone olduğun için teşekkürler!

Bu e-posta kaydedildi!

Görünümü satın alın
Seçenekleri Seçin

Seçeneği Düzenle

Stok Bildirimi

Karşılaştır

Ürün Stok KoduDeğerlendirmeAçıklama Kategori Uygunluk Ürün Tipi Diğer Detaylar
this is just a warning
Giriş Yap
Alışveriş Sepeti
0 Ürünler
Same Day Shipping No Extra Costs
Easy Returns Guarantee Return with Ease
Secure Checkout Secure Payment