Projek #4 Melodi

Posted on September 25, 2009. Filed under: Melodi, Projek & Tutorial | Tags: |

Setelah membuat 3 projek menggunakan LED anda tentu sekali ingin mencuba sesuatu yang lain.

Kali ini anda akan mencuba pula untuk menghasilkan melodi dengan Arduino.

Anda cuma perlukan papan pembagunan Arduino dan pembesar suara piezo. Sambungkan seperti gambarajah dibawah. Positif dari piezo ke Pin 9 dan Negatif dari piezo ke GND Arduino.

Melody

Data dibawah adalah frekuansi yang digunakan untuk menghasilkan melodi.

note   frequency        period       timeHigh
* c        261 Hz         3830           1915
* d        294 Hz         3400          1700
* e        329 Hz         3038           1519
* f         349 Hz         2864           1432
* g        392 Hz         2550           1275
* a        440 Hz         2272           1136
* b        493 Hz         2028           1014
* C        523 Hz         1912            956

Taipkan Kod dibawah pada Sketch dan muatnaik ke Arduino.

/* http://www.arduino.cc/en/Tutorial/Melody
*/

int speakerPin = 9;

int length = 15; // the number of notes
char notes[] = “ccggaagffeeddc “; // 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 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’ };
int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };

// play the tone corresponding to the note name
for (int i = 0; i < 8; i++) {
if (names[i] == note) {
playTone(tones[i], duration);
}
}
}

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

Cuba hasilkan melodi anda sendiri dengan mengubah suai kod diatas.
Selamat mencuba.

Make a Comment

Tinggalkan Jawapan

Masukkan butiran anda dibawah atau klik ikon untuk log masuk akaun:

WordPress.com Logo

Anda sedang menulis komen melalui akaun WordPress.com anda. Log Out / Tukar )

Twitter picture

Anda sedang menulis komen melalui akaun Twitter anda. Log Out / Tukar )

Facebook photo

Anda sedang menulis komen melalui akaun Facebook anda. Log Out / Tukar )

Google+ photo

Anda sedang menulis komen melalui akaun Google+ anda. Log Out / Tukar )

Connecting to %s

Liked it here?
Why not try sites on the blogroll...

%d bloggers like this: