จุดประสงค์การเรียนรู้
เพื่อให้สามารถสร้างความถี่เสียงจากลำโพงBuzzerโดยใช้Arduino IDE
สาระการเรียนรู้
เสียง เป็นคลื่นกล เกิดจากการสั่นสะเทือนของวัตถุ หูคนเราปกติจะได้ยินเสียงที่ความถี่ 20Hz - 20KHz
ความถี่
ระดับเสียง (pitch) หมายถึง เสียงสูงเสียงต่ำ สิ่งที่ทำให้เสียงแต่ละเสียงสูงต่ำแตกต่างกันนั้น ขึ้นอยู่กับความเร็วในการสั่นสะเทือนของวัตถุ วัตถุที่สั่นเร็วเสียงจะสูงกว่าวัตถุที่สั่นช้า โดยจะมีหน่วยวัดความถี่ของการสั่นสะเทือนต่อวินาที เช่น 60 รอบต่อวินาที, 2,000 รอบต่อวินาที เป็นต้น และนอกจาก วัตถุที่มีความถี่ในการสั่นสะเทือนมากกว่า จะมีเสียงที่สูงกว่าแล้ว หากความถี่มากขึ้นเท่าตัว ก็จะมีระดับเสียงสูงขึ้นเท่ากับ 1 ออกเตฟ (octave) ภาษาไทยเรียกว่า 1 ช่วงคู่แปด (อ้างอิงจาก : https://th.wikipedia.org/wiki/%E0%B9%80%E0%B8%AA%E0%B8%B5%E0%B8%A2%E0%B8%87)
ตัวอย่างความถี่ตัวโน๊ต
ที่มา https://orapanwaipan.wordpress.com/
ตารางเปรียบเทียบการนับตัวโน๊ต
3. ลำโพงBuzzer
Buzzer เป็นอุปกรณ์กำเนิดเสียงชนิดหนึ่งโดยทำหน้าที่เปลี่ยนแปลงพลังงานไฟฟ้าเป็นพลังงานเสียง Buzzer มีด้วยกัน 2 ชนิดคือ
1. Active Buzzer เป็นลำโพงที่เปล่งความถี่ได้ความถี่เดียว คือ มีเสียง กับไม่มีเสียง ไม่สามารถสร้างเป็นทำนองเมโลดี
ของเพลงได้
2. Passive Buzzer เป็นลำโพงที่เปล่งความถี่ได้หลายความถี่ สามารถสร้างเป็นเมโลดีทำนองเพลงได้ (สำหรับบอร์ดLotusMegaBot จะใช้Buzzerแบบ Passive Buzzerเพื่อให้สามารถกำเนิดเสียงได้หลายความถี่)
วัสดุอุปกรณ์
1. บอร์ดLotusMegaBot จำนวน 1 ตัว
2. สายMicro USB จำนวน 1 เส้น
ตอนที่ 1 การเขียนโค้ดความถี่เสียงโด (f=256Hz)
ภาษาC++ ที่ใช้งานเบื้องต้น
กลุ่มคำสั่งการใช้งานเสียง
1 snd(ความถี่เสียง,ความยาวเสียง);
2 sound (ความถี่เสียง,ความยาวเสียง);
3 beep(); // ความยาวเสียงบิ๊ปสั้นๆ 1 ครั้ง
คำสั่งที่ใช้งานหน่วงเวลา
delay(เวลาที่ใช้งานในหน่วยมิลลิวินาที);
วิธีทำ
1. เปิด Arduino IDE แล้วทำการเขียนโค้ดดังภาพข้างล่าง โดยที่หากเขียนโค้ดไว้ในเครื่องหมายปีกกา{} ภายใต้ void setup() โปรแกรมจะทำงานเพียงครั้งเดียว และหากเขียนโค้ดภายในเครื่องหมายปีกกา{} ภายใต้void loop() โปรแกรมจะทำงานต่อเนื่อง
2.ทำการเสียบสายMicroUSBกับบอร์ดLotusMegaBotกับเครื่องคอมพิวเตอร์ ดังรูปข้างล่าง
2.สำหรับการอัพโหลดโปรแกรมลงบนบอร์ดสามารถทำตามขั้นตอนต่อไปนี้
ตัวอย่างVDOการทำงานของโปรแกรม