Easy project with Arduino Uno (4): Buzzer Melody

สวัสดีครับมาเจอกันกับผมอีกเเล้วนะครับ วันนี้ปังปอนด์จะพาเพื่อนๆมาทดลองทำ Project ง่ายๆกับ Arduino Board กันอีกครั้งนะครับ ถ้าเพื่อนๆพร้อมกันแล้วเราไปดูพร้อมๆกันเลยครับ

อุปกรณ์ที่ต้องเตรียม

 

1.แป้นขนมปัง (Bread Board)

2.สายไฟ (jump wire) ทั้งหมด 5 เส้น

3.Arduino Uno R3 Board

4.ตัวต้านทาน 10 โอม (10 ohm resistor)  1 อัน

5.ลําโพงขนาดเล็ก (Buzzer)

วิธีทำ

1.นำลำโพงขนาดเล็ก (Buzzer) ไปเสียบลงใน Bread Board

2.นำ 10 ohm Resistor มาเสียบลงที่าโพงขนาดเล็ก (Buzzer) ขายาว (+)

3.นำสายไฟ (jump wire) จำนวน 2 เส้น มาต่อวงจรตามรูปภาพ

เส้นที่ 1 (สีนำ้เงิน) นำมาเสียบลงที่าโพงขนาดเล็ก (Buzzer) ขาสั้น (-)

เส้นที่ 2 (สีแดง) นำมาเสียบลงที่ 10 ohm Resistor

4.นำสายไฟ (jump wire) ไปต่อวงจรกับ Arduino Uno R3 Board ตามรูปภาพ

เส้นที่ 1 (สีนำ้เงิน) นำมาเสียบลงที่ GND ของ Arduino Uno R3 Board

เส้นที่ 2 (สีแดง) นำมาเสียบลงที่ Digital I/O 8 ของ Arduino Uno R3 Board

5.เพื่อนๆทำการเปิดโปรแกรม Arduino IDE ดังรูปภาพ

จากนั้นให้เพื่อนๆทำการคัดลอก Code ดังต่อไปนี้

Pirate song

const int buzzer = 8; //Define pin 10, can use other PWM pins (5,6 or 9)
//Note pins 3 and 11 can’t be used when using the tone function in Arduino Uno
const int songspeed = 2; //Change to 2 for a slower version of the song, the bigger the number the slower the song
//*****************************************
#define NOTE_C4 262 //Defining note frequency
#define NOTE_D4 294
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_G4 392
#define NOTE_A4 440
#define NOTE_B4 494
#define NOTE_C5 523
#define NOTE_D5 587
#define NOTE_E5 659
#define NOTE_F5 698
#define NOTE_G5 784
#define NOTE_A5 880
#define NOTE_B5 988
//*****************************************
int notes[] = { //Note of the song, 0 is a rest/pulse
NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0,
NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0,
NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0,
NOTE_A4, NOTE_G4, NOTE_A4, 0,

NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0,
NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0,
NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0,
NOTE_A4, NOTE_G4, NOTE_A4, 0,

NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0,
NOTE_A4, NOTE_C5, NOTE_D5, NOTE_D5, 0,
NOTE_D5, NOTE_E5, NOTE_F5, NOTE_F5, 0,
NOTE_E5, NOTE_D5, NOTE_E5, NOTE_A4, 0,

NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0,
NOTE_D5, NOTE_E5, NOTE_A4, 0,
NOTE_A4, NOTE_C5, NOTE_B4, NOTE_B4, 0,
NOTE_C5, NOTE_A4, NOTE_B4, 0,

NOTE_A4, NOTE_A4,
//Repeat of first part
NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0,
NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0,
NOTE_A4, NOTE_G4, NOTE_A4, 0,

NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0,
NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0,
NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0,
NOTE_A4, NOTE_G4, NOTE_A4, 0,

NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0,
NOTE_A4, NOTE_C5, NOTE_D5, NOTE_D5, 0,
NOTE_D5, NOTE_E5, NOTE_F5, NOTE_F5, 0,
NOTE_E5, NOTE_D5, NOTE_E5, NOTE_A4, 0,

NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0,
NOTE_D5, NOTE_E5, NOTE_A4, 0,
NOTE_A4, NOTE_C5, NOTE_B4, NOTE_B4, 0,
NOTE_C5, NOTE_A4, NOTE_B4, 0,
//End of Repeat

NOTE_E5, 0, 0, NOTE_F5, 0, 0,
NOTE_E5, NOTE_E5, 0, NOTE_G5, 0, NOTE_E5, NOTE_D5, 0, 0,
NOTE_D5, 0, 0, NOTE_C5, 0, 0,
NOTE_B4, NOTE_C5, 0, NOTE_B4, 0, NOTE_A4,

NOTE_E5, 0, 0, NOTE_F5, 0, 0,
NOTE_E5, NOTE_E5, 0, NOTE_G5, 0, NOTE_E5, NOTE_D5, 0, 0,
NOTE_D5, 0, 0, NOTE_C5, 0, 0,
NOTE_B4, NOTE_C5, 0, NOTE_B4, 0, NOTE_A4
};
//*****************************************
int duration[] = { //duration of each note (in ms) Quarter Note is set to 250 ms
125, 125, 250, 125, 125,
125, 125, 250, 125, 125,
125, 125, 250, 125, 125,
125, 125, 375, 125,

125, 125, 250, 125, 125,
125, 125, 250, 125, 125,
125, 125, 250, 125, 125,
125, 125, 375, 125,

125, 125, 250, 125, 125,
125, 125, 250, 125, 125,
125, 125, 250, 125, 125,
125, 125, 125, 250, 125,

125, 125, 250, 125, 125,
250, 125, 250, 125,
125, 125, 250, 125, 125,
125, 125, 375, 375,

250, 125,
//Rpeat of First Part
125, 125, 250, 125, 125,
125, 125, 250, 125, 125,
125, 125, 375, 125,

125, 125, 250, 125, 125,
125, 125, 250, 125, 125,
125, 125, 250, 125, 125,
125, 125, 375, 125,

125, 125, 250, 125, 125,
125, 125, 250, 125, 125,
125, 125, 250, 125, 125,
125, 125, 125, 250, 125,

125, 125, 250, 125, 125,
250, 125, 250, 125,
125, 125, 250, 125, 125,
125, 125, 375, 375,
//End of Repeat

250, 125, 375, 250, 125, 375,
125, 125, 125, 125, 125, 125, 125, 125, 375,
250, 125, 375, 250, 125, 375,
125, 125, 125, 125, 125, 500,

250, 125, 375, 250, 125, 375,
125, 125, 125, 125, 125, 125, 125, 125, 375,
250, 125, 375, 250, 125, 375,
125, 125, 125, 125, 125, 500
};

void setup() {
for (int i=0;i<203;i++){ //203 is the total number of music notes in the song
int wait = duration[i] * songspeed;
tone(buzzer,notes[i],wait); //tone(pin,frequency,duration)
delay(wait);} //delay is used so it doesn’t go to the next loop before tone is finished playing
//You can click reset on Arduino to replay the song
}

void loop() {

}

แล้วทำการกด upload ตามรูปภาพ

เป็นไงบ้างครับกับการทดลองชิ้นที่ 4 ไม่ยากเลยใช่ใหมครับ ครั้งหน้าปังปอนด์จะพาเพื่อนๆไปทดลองทำ Project ง่ายๆกับ Arduino Board กันใหม่นะครับ..สําหรับวันนี้…..Bye Bye

Cr. ขอบคุณรูปภาพดีดีจาก static.rapidonline.com/catalogueimages/Module/M500354P01WL.jpg

Leave a Reply