Arduino Musical Tune Generator Devresi

Arduino Musical Tune Generator Devresi

Bu küçük Arduino müzikal ayar jeneratör devresini, ilginç bir kapı zili yapmak, arabanın ters kornası veya birine hediye vermek için müzik kutusu gibi tercih edilen bir uygulama için veya sadece kişisel eğlence için kullanabilirsiniz.

Donanım Gerekli

Proje için gerekli olan donanım şu şekilde verilmiştir:



  • Arduino veya Genuino kurulu
  • piezo buzzer veya bir hoparlör
  • bağlantı telleri

Arduino, herhangi bir standart SMPS AC'den DC'ye adaptör olabilecek 9V, 500mA güç kaynağı girişi ile güçlendirilmiştir veya aynı şekilde cep telefonu şarj cihazınızı da deneyebilirsiniz.



Arduino'dan Pin # 8, 8 ohm ve 1 watt'ın üzerinde derecelendirilmemesi gereken hoparlör ile doğrudan yapılandırılabilir.

Dolayısıyla, hoparlörün bir kablosu Arduino kartının 8 numaralı pimine bağlanır ve diğer kablo kartın negatif hattına veya toprak hattına gider.



Yükseltilmiş Çıkış İçin

Daha yüksek veya büyük ölçüde güçlendirilmiş ses için, 8 numaralı pini, tabanı 1K direnç üzerinden pin8 ile bağlanabilen bir TIP31 transistöründen oluşan bir transistör sürücü aşaması ile yapılandırabilirsiniz, yayıcı toprağa ve kolektörün kablolarından birine bağlanabilir. hoparlörün diğer teli şimdi 9V besleme (+) olan pozitif besleme ile bağlanır.

Burada hoparlörün 8 ohm olarak derecelendirildiğinden emin olun, ancak çok daha yüksek watt değerinde, güçlendirilmiş bir müzik melodisi üretimi için yaklaşık 5 watt olabilir.

Bu taslak oynamak ve oldukça fazla sayıda rastgele
pentatonik bir ölçek kullanarak sıralı melodiler
/*
Musician
Plays a (fairly) random tune until the program is stopped.
8-ohm speaker on digital pin 8.
//Copyright (c) 2012 Jeremy Fonte
//This code is released under the MIT license
//https://opensource.org/licenses/MIT
*/
int randomNote = 131
int randomDuration = 2
int noteStep = 1
int notes[15]
void setup() {
pinMode(8, OUTPUT)
notes[1] = 131
notes[2] = 147
notes[3] = 165
notes[4] = 196
notes[5] = 220
notes[6] = 262
notes[7] = 294
notes[8] = 330
notes[9] = 392
notes[10] = 440
notes[11] = 523
notes[12] = 587
notes[13] = 659
notes[14] = 784
notes[15] = 880
randomNote = random(1, 15)
}
void loop() {
noteStep = random(-3, 3)
randomNote = randomNote + noteStep
if(randomNote <1) {
randomNote = random(1, 15)
}
else if(randomNote > 15) {
randomNote = random(1, 15)
}
randomDuration = random(1, 8)
// to calculate the note duration, take one second
// divided by the note type.
//e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
int noteDuration = 1000/randomDuration
tone(8, notes[randomNote],noteDuration)
// to distinguish the notes, set a minimum time between them.
// the note's duration + 30% seems to work well:
int pauseBetweenNotes = noteDuration * 1.30
delay(pauseBetweenNotes)
// stop the tone playing:
noTone(8)
}



Önerilen Arduino müzikal ayar üreteci devresi için bağlantı şeması aşağıda gösterilmiştir:

Arduino Musical Tune Generator Devresi

Yüksek güçlü güçlendirilmiş dinleme için, aynı kurulum aşağıdaki şekilde gösterildiği gibi bir güç transistörü ile yükseltilebilir:




Önceki: 4 Basit Güç Bankası Devresi Açıklaması Sonraki: Arduino RGB Akan Sıralı Işık Devresi