[BASIC] 004 SOUND TONE BUZZER (เสียงดนตรี)

สวัสดีครับ สำหรับหัวข้อบทเรียนพื้นฐานบนบอร์ด HONEYLemon ที่ใช้งานผ่าน arduino library โดยเป็นการใช้งานเกี่ยวกับเสียง ซึ่งจะแบ่งฟังก์ชั่นที่เกี่ยวข้องออก 2 เป็นแบบคือ เล่นเสียงตามความถี่และหยุดการเล่นเสียงดนตรี

คำสั่งที่เกี่ยวข้อง lemon.tone() // เป็นการสั่งให้เล่นเสียงดนตรี lemon.noTone() // เป็นการสั่งให้หยุดเล่นเสียงดนตรี

lemon.tone(1000); // เป็นการสั่งให้เล่นความถี่ 1000 Hz โดยไม่มีการหยุด
lemon.tone(1000,500); // เป็นการสั่งให้เล่นความถี่ 1000 Hz เป็นเวลา 500 มิลลิวินาที ( 0.5 วินาที ) แล้วหยุดเล่นเสียงนั้น
lemon.noTone(); // เป็นการสั่งให้หยุดเล่นเสียงดนตรี

ตัวอย่างการใช้คำสั่ง

lemon.tone(1000); // สั่งให้เล่นความถี่ 1000 Hz
delay(1000); // รอ 1000 มิลลิวินาที ( 1 วินาที ) (ขณะนี้เสียงยังดังอยู่)
lemon.noTone(500); // สั่งให้หยุดเล่นเสียง

เพื่อให้กระชับในการเขียนโปรแกรมบนบอร์ด HONEYLemon ก็สามารถเขียนได้ดังนี้

lemon.tone(1000,500); //เป็นการสั่งให้เล่นความถี่ 1000 Hz เป็นระยะเวลา 500 มิลลิวินาที ( 0.5 วินาที ) แล้วจึงหยุดเล่นเสียงนั้น

ตัวอย่าง source code

/*
Basic : การเขียนโปรแกรมกับการใช้งานเสียงดนตรีบนบอร์ดไมโครคอนโทรลเลอร์ HONEYLemon
*/
#include <HONEYLemon.h>
void setup()
{
lemon.begin(); // เรียกใช้งานฟังก์ชั่นเริ่มต้นของบอร์ด HONEYLemon
Serial.begin(115200); // เรียกใช้งาน Serial
lemon.debug(Serial); // ขอดู debug ของบอร์ด HONEYLemon ผ่าน Serial
}
void loop()
{
/*
tone(
1000, // ความถี่เสียง
100 // ระยะเวลาที่เล่น (มิลลิวินาที) (option)
);
noTone() // สั่งให้หยุดเล่นเสียงดนตรี
*/
lemon.tone(1000); // สั่งให้เล่นเสียงความถี่ 1000 Hz
delay(100); // รอ 100 มิลลิวินาที (0.1 วินาที)
lemon.noTone(); // สั่งให้หยุดเล่นเสียงดนตรี
delay(100); // รอ 100 มิลลิวินาที (0.1 วินาที)
lemon.tone(2000,500); // สั่งให้เล่นเสียงดนตรีความถี่ 2000 Hz เป็นเวลา 500 มิลลิวินาที ( 0.5 วินาที ) แล้วหยุดเล่นเสียงนั้น
delay(100); // รอ 1000 มิลลิวินาที (1 วินาที)
}