Hướng dẫn Sử dụng Loa (Piezo hay Buzzer) tạo âm thanh. Nào ta cùng làm:
* Mã Code
#define NOTE_B3 247
#define NOTE_A3 220
#define NOTE_G3 196
#define NOTE_C4 262
#define NOTE_A3 220
#define NOTE_G3 196
#define NOTE_C4 262
// danh sách các nốt nhạc
int melody[] = {NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};
// thời gina các nốt nhạc: 4 = 1/4 nốt nhạc, 8 = 1/8nốt nhạc, ...:
int noteDurations[] = {4, 8, 8, 4,4,4,4,4 };
int speakerPin = 13;//Chân được nối với loa hoặc buzzer
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(speakerPin, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
//không cần phải pinMode cho speakerPin
for (int thisNote = 0; thisNote < 8; thisNote++) {
// bây giờ ta đặt một nốt nhạc là 1 giây = 1000 mili giây
// thì ta chia cho các thành phần noteDurations thì sẽ
// được thời gian chơi các nốt nhạc
// ví dụ: 4 => 1000/4; 8 ==> 1000/8
int noteDuration = 1000/noteDurations[thisNote];
tone(speakerPin, melody[thisNote],noteDuration);
// để phân biệt các nốt nhạc hãy delay giữa các nốt nhạc
// một khoảng thời gian vừa phải. Ví dụ sau đây thực hiện tốt
// điều đó: Ta sẽ cộng 30% và thời lượng của một nốt
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
//Ngừng phát nhạc để sau đó chơi nhạc tiếp!
noTone(speakerPin);
} // wait for a second
}
* Sơ đồ mạch
No comments:
Post a Comment