animasi blog
animasi blog

Kamis, 26 April 2018

MUSIK HBD

NAMA KELOMPOK:
1.Bayu purwo andri(163600003)
2.Dimas satrio(163600012)


CARA MEMBUAT LAGU HAPPY BIRTHDAY DI ARDUINO




Diantara para pembaca pasti banyak yang uka mendengarkan musik bukan ? Atau malah suka main musik ? Nah pada tutorial kali ini, NP akan share bagaimana cara untuk memainkan nada musik melalui Arduino. Siapa tahu nanti kita bisa bikin alat musik sendiri semisal piano dgital wkwkwwk
Yaps, seperti biasa, komponen yang perlu kamu siapkan yaitu :
  • 1 buah Arduino(UNO, Mega, NANO, atau yang lain)
  • 1 buah speaker 8 ohm (atau yang lain)
  • Kabel jumper secukupnya
Dan untuk review Selanjutnya monggo dirangkai Sesuai DENGAN SKEMA berikut Penyanyi:
Hasil gambar untuk CARA MEMBUAT PROGRAM ARDUINO MUSIK 

Keterangan :


Salah satu kaki speaker hubungkan ke pin A5
Kaki yang lain hubungkan ke Ground (GND)
Nah sekarang masukkan program berikut ini pada software IDE Arduino, lalu jalankan :
===============================================================
int speakerPin = 10;

int length = 28; // the number of notes

char notes[] = "GGAGcB GGAGdc GGxecBA yyecdc";

int beats[] = { 2, 2, 8, 8, 8, 16, 1, 2, 2, 8, 8,8, 16, 1, 2,2,8,8,8,8,16, 1,2,2,8,8,8,16 };

int tempo = 150;

void playTone(int tone, int duration) {

for (long i = 0; i < duration * 1000L; i += tone * 2) {

   digitalWrite(speakerPin, HIGH);

   delayMicroseconds(tone);

   digitalWrite(speakerPin, LOW);

   delayMicroseconds(tone);

}

}

void playNote(char note, int duration) {

char names[] = {'C', 'D', 'E', 'F', 'G', 'A', 'B',          

                 'c', 'd', 'e', 'f', 'g', 'a', 'b',

                 'x', 'y' };

int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014,

                 956,  834,  765,  593,  468,  346,  224,

                 655 , 715 };

int SPEE = 5;

// play the tone corresponding to the note name

for (int i = 0; i < 17; i++) {

   if (names[i] == note) {
    int newduration = duration/SPEE;
     playTone(tones[i], newduration);

   }

}

}

void setup() {

pinMode(speakerPin, OUTPUT);

}

void loop() {

for (int i = 0; i < length; i++) {

   if (notes[i] == ' ') {

     delay(beats[i] * tempo); // rest

   } else {

     playNote(notes[i], beats[i] * tempo);

   }

   // pause between notes

   delay(tempo);

}

dan hasilnya:
 ==============================================================

1 komentar: