Percobaan- 9
Membuat nada bunyi atau music menggunakan arduino uno
Anggota kelompok
Nama : Alfan Dwi Cahyo
NIM : 15.360.0002
Nama : Achmad Syaiful
Faried NIM
: 15.360.0003
Tujuan : Membuat nada bunyi atau musik 1 oktaf (tulilut)
Program :
int speakerPin = 8;
int length = 15; // nomor note
char notes[] = "ccggaag ffeeddc ggffeed ggffeed ccggaag ffeeddc
"; // a space represents a rest
int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };
int tempo = 300;
void mainTone(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 mainNote(char note, int duration) {
char names[] = { 'c', 'd', 'e',
'f', 'g', 'a', 'b', 'C' };
int tones[] = { 1915, 1700,
1519, 1432, 1275, 1136, 1014, 956 };
// memainkan nada yg sesuai
for (int i = 0; i < 8; i++)
{
if (names[i] == note) {
mainTone(tones[i],
duration);
}
}
}
void setup() {
pinMode(speakerPin, OUTPUT);
}
void loop() {
for (int i = 0; i < length;
i++) {
if (notes[i] == ' ') {
delay(beats[i] * tempo); //
rest
} else {
mainNote(notes[i], beats[i]
* tempo);
}
// berhenti antara note
delay(tempo / 2);
}
}
Proyek :
Komentar
Posting Komentar