Rangkaian Generator Lagu Musik Arduino

Coba Instrumen Kami Untuk Menghilangkan Masalah





Anda dapat menggunakan rangkaian generator nada musik Arduino kecil ini untuk aplikasi yang disukai, seperti untuk membuat bel pintu yang menarik, sebagai klakson mundur mobil, atau kotak musik untuk memberi hadiah kepada seseorang, atau hanya untuk hiburan pribadi.

Hardware Diperlukan

Perangkat keras yang dibutuhkan untuk proyek ini diberikan sebagai berikut:



  • Papan Arduino atau Genuino
  • piezo buzzer atau speaker
  • kabel penghubung

Arduino didukung dengan input catu daya 9V, 500mA yang dapat berasal dari adaptor AC SMPS standar ke DC, atau Anda juga dapat mencoba pengisi daya ponsel Anda untuk hal yang sama.

Pin # 8 dari Arduino dapat langsung dikonfigurasi dengan speaker yang tidak boleh di atas 8 ohm, dan 1 watt.



Jadi satu kabel dari speaker terhubung dengan pin # 8 dari papan Arduino dan kabel lainnya menuju ke garis negatif atau garis ground dari papan tersebut.

Untuk Output yang Diperkuat

Untuk suara yang lebih keras atau sangat diperkuat, Anda dapat mengkonfigurasi pin # 8 dengan tahap driver transistor, yang terdiri dari transistor TIP31, yang alasnya dapat dihubungkan dengan pin8 melalui resistor 1K, emitor ke ground dan kolektor ke salah satu kabel speaker, kabel lain dari spaker sekarang terhubung dengan suplai positif yaitu suplai 9V (+).

Di sini pastikan speaker diberi nilai 8 ohm tetapi pada watt yang jauh lebih tinggi, mungkin sekitar 5 watt untuk generasi nada musik yang diperkuat.

Sketsa ini diberi kode untuk dimainkan dan menghasilkan cukup banyak acak
melodi secara berurutan menggunakan tangga nada pentatonik
/*
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)
}

Diagram koneksi untuk rangkaian generator lagu musik Arduino yang diusulkan ditunjukkan di bawah ini:

Rangkaian Generator Lagu Musik Arduino

Untuk mendengarkan dengan penguat daya tinggi, penyetelan yang sama dapat ditingkatkan dengan transistor daya seperti yang ditunjukkan pada gambar berikut:




Sepasang: 4 Sirkuit Bank Daya Sederhana Dijelaskan Berikutnya: Arduino RGB Flowing Sequential Light Circuit