Lab 2 คำสั่งเสียงดนตรี
จุดประสงค์การเรียนรู้
- สามารถใช้โปรแกรมArduino IDEสั่งงานความถี่เสียงของลำโพงบัซเซอร์ผ่านบอร์ด Lutus Nano Bot ได้
อุปกรณ์ที่ใช้
- บอร์ด Lotus Nano Bot
ในตัวอย่างนี้เราจะใช้ลำโพงบัซเซอร์ต่อเข้ากับพอร์ต 3 ของบอร์ด ดังตัวอย่าง Code
ตัวอย่างที่ 1A การใช้งานเสียงดนตรี 1 ตัวโน๊ต
Arduino IDE Code
void setup() {
tone(3, 1500, 5000); // คำสั่งเสียง tone(พอร์ต,ความถี่,ความยาวเสียง)
}
void loop() {
}
กลุ่มคำสั่งการใช้งานเสียงผ่านการใช้ Library LotusNanoBot.h
1 snd(ความถี่เสียง,ความยาวเสียง);
2 sound (ความถี่เสียง,ความยาวเสียง);
3 beep(); // ความยาวเสียงบิ๊ปสั้นๆ 1 ครั้ง
ตัวอย่างที่ 1B การใช้งานเสียงดนตรี 1 ตัวโน๊ต ผ่านการใช้ Library LotusNanoBot.h
Arudino IDE
#include <LotusNanoBot.h>
void setup() {
snd(1500, 5000); // คำสั่งเสียงsnd(ความถี่,ความยาวเสียง)
}
void loop() {
}
ตัวอย่างความถี่ตัวโน๊ต
ที่มา https://orapanwaipan.wordpress.com/%E0%B9%80%E0%B8%81%E0%B8%B5%E0%B9%88%E0%B8%A2%E0%B8%A7%E0%B8%81%E0%B8%B1%E0%B8%9A/%E0%B9%80%E0%B8%AA%E0%B8%B5%E0%B8%A2%E0%B8%87/%E0%B8%84%E0%B8%A5%E0%B8%B7%E0%B9%88%E0%B8%99%E0%B9%80%E0%B8%AA%E0%B8%B5%E0%B8%A2%E0%B8%87/%E0%B9%80%E0%B8%AA%E0%B8%B5%E0%B8%A2%E0%B8%87%E0%B8%94%E0%B8%99%E0%B8%95%E0%B8%A3%E0%B8%B5-%E0%B8%9A%E0%B8%B5%E0%B8%95%E0%B8%AA%E0%B9%8C-%E0%B9%81%E0%B8%A5%E0%B8%B0%E0%B8%84%E0%B8%A5%E0%B8%B7/
ตัวอย่างที่ 2 คำสั่งเสียงเพลงมาริโอ
Arduino code mario song
int snd = 3 ; // ตั้งค่า snd เป็นพอร์ตที่ 3
void setup() {
tone(snd, 660, 100);
delay(150);
tone(snd, 660, 100);
delay(300);
tone(snd, 660, 100);
delay(300);
tone(snd, 510, 100);
delay(100);
tone(snd, 660, 100);
delay(300);
tone(snd, 770, 100);
delay(550);
tone(snd, 380, 100);
delay(575);
tone(snd, 510, 100);
delay(450);
tone(snd, 380, 100);
delay(400);
tone(snd, 320, 100);
delay(500);
tone(snd, 440, 100);
delay(300);
tone(snd, 480, 80);
delay(330);
tone(snd, 450, 100);
delay(150);
tone(snd, 430, 100);
delay(300);
tone(snd, 380, 100);
delay(200);
tone(snd, 660, 80);
delay(200);
tone(snd, 760, 50);
delay(150);
tone(snd, 860, 100);
delay(300);
tone(snd, 700, 80);
delay(150);
tone(snd, 760, 50);
delay(350);
tone(snd, 660, 80);
delay(300);
tone(snd, 520, 80);
delay(150);
tone(snd, 580, 80);
delay(150);
tone(snd, 480, 80);
delay(500);
tone(snd, 510, 100);
delay(450);
tone(snd, 380, 100);
delay(400);
tone(snd, 320, 100);
delay(500);
tone(snd, 440, 100);
delay(300);
tone(snd, 480, 80);
delay(330);
tone(snd, 450, 100);
delay(150);
tone(snd, 430, 100);
delay(300);
tone(snd, 380, 100);
delay(200);
tone(snd, 660, 80);
delay(200);
tone(snd, 760, 50);
delay(150);
tone(snd, 860, 100);
delay(300);
tone(snd, 700, 80);
delay(150);
tone(snd, 760, 50);
delay(350);
tone(snd, 660, 80);
delay(300);
tone(snd, 520, 80);
delay(150);
tone(snd, 580, 80);
delay(150);
tone(snd, 480, 80);
delay(500);
tone(snd, 500, 100);
delay(300);
tone(snd, 760, 100);
delay(100);
tone(snd, 720, 100);
delay(150);
tone(snd, 680, 100);
delay(150);
tone(snd, 620, 150);
delay(300);
tone(snd, 650, 150);
delay(300);
tone(snd, 380, 100);
delay(150);
tone(snd, 430, 100);
delay(150);
tone(snd, 500, 100);
delay(300);
tone(snd, 430, 100);
delay(150);
tone(snd, 500, 100);
delay(100);
tone(snd, 570, 100);
delay(220);
tone(snd, 500, 100);
delay(300);
tone(snd, 760, 100);
delay(100);
tone(snd, 720, 100);
delay(150);
tone(snd, 680, 100);
delay(150);
tone(snd, 620, 150);
delay(300);
tone(snd, 650, 200);
delay(300);
tone(snd, 1020, 80);
delay(300);
tone(snd, 1020, 80);
delay(150);
tone(snd, 1020, 80);
delay(300);
tone(snd, 380, 100);
delay(300);
tone(snd, 500, 100);
delay(300);
tone(snd, 760, 100);
delay(100);
tone(snd, 720, 100);
delay(150);
tone(snd, 680, 100);
delay(150);
tone(snd, 620, 150);
delay(300);
tone(snd, 650, 150);
delay(300);
tone(snd, 380, 100);
delay(150);
tone(snd, 430, 100);
delay(150);
tone(snd, 500, 100);
delay(300);
tone(snd, 430, 100);
delay(150);
tone(snd, 500, 100);
delay(100);
tone(snd, 570, 100);
delay(420);
tone(snd, 585, 100);
delay(450);
tone(snd, 550, 100);
delay(420);
tone(snd, 500, 100);
delay(360);
tone(snd, 380, 100);
delay(300);
tone(snd, 500, 100);
delay(300);
tone(snd, 500, 100);
delay(150);
tone(snd, 500, 100);
delay(300);
tone(snd, 500, 100);
delay(300);
tone(snd, 760, 100);
delay(100);
tone(snd, 720, 100);
delay(150);
tone(snd, 680, 100);
delay(150);
tone(snd, 620, 150);
delay(300);
tone(snd, 650, 150);
delay(300);
tone(snd, 380, 100);
delay(150);
tone(snd, 430, 100);
delay(150);
tone(snd, 500, 100);
delay(300);
tone(snd, 430, 100);
delay(150);
tone(snd, 500, 100);
delay(100);
tone(snd, 570, 100);
delay(220);
tone(snd, 500, 100);
delay(300);
tone(snd, 760, 100);
delay(100);
tone(snd, 720, 100);
delay(150);
tone(snd, 680, 100);
delay(150);
tone(snd, 620, 150);
delay(300);
tone(snd, 650, 200);
delay(300);
tone(snd, 1020, 80);
delay(300);
tone(snd, 1020, 80);
delay(150);
tone(snd, 1020, 80);
delay(300);
tone(snd, 380, 100);
delay(300);
tone(snd, 500, 100);
delay(300);
tone(snd, 760, 100);
delay(100);
tone(snd, 720, 100);
delay(150);
tone(snd, 680, 100);
delay(150);
tone(snd, 620, 150);
delay(300);
tone(snd, 650, 150);
delay(300);
tone(snd, 380, 100);
delay(150);
tone(snd, 430, 100);
delay(150);
tone(snd, 500, 100);
delay(300);
tone(snd, 430, 100);
delay(150);
tone(snd, 500, 100);
delay(100);
tone(snd, 570, 100);
delay(420);
tone(snd, 585, 100);
delay(450);
tone(snd, 550, 100);
delay(420);
tone(9, 500, 100);
delay(360);
tone(snd, 380, 100);
delay(300);
tone(snd, 500, 100);
delay(300);
tone(snd, 500, 100);
delay(150);
tone(snd, 500, 100);
delay(300);
tone(snd, 500, 60);
delay(150);
tone(snd, 500, 80);
delay(300);
tone(snd, 500, 60);
delay(350);
tone(snd, 500, 80);
delay(150);
tone(snd, 580, 80);
delay(350);
tone(snd, 660, 80);
delay(150);
tone(snd, 500, 80);
delay(300);
tone(snd, 430, 80);
delay(150);
tone(snd, 380, 80);
delay(600);
tone(snd, 500, 60);
delay(150);
tone(snd, 500, 80);
delay(300);
tone(snd, 500, 60);
delay(350);
tone(snd, 500, 80);
delay(150);
tone(snd, 580, 80);
delay(150);
tone(snd, 660, 80);
delay(550);
tone(snd, 870, 80);
delay(325);
tone(snd, 760, 80);
delay(600);
tone(snd, 500, 60);
delay(150);
tone(snd, 500, 80);
delay(300);
tone(snd, 500, 60);
delay(350);
tone(snd, 500, 80);
delay(150);
tone(snd, 580, 80);
delay(350);
tone(snd, 660, 80);
delay(150);
tone(snd, 500, 80);
delay(300);
tone(snd, 430, 80);
delay(150);
tone(snd, 380, 80);
delay(600);
tone(snd, 660, 100);
delay(150);
tone(snd, 660, 100);
delay(300);
tone(snd, 660, 100);
delay(300);
tone(snd, 510, 100);
delay(100);
tone(snd, 660, 100);
delay(300);
tone(snd, 770, 100);
delay(550);
tone(snd, 380, 100);
delay(575);
}
void loop() {
}
ตัวอย่างวีดีโอแสดงการทำงานเสียงในบทความนี้