สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ฉันต้องการเล่นเอฟเฟกต์เสียงและตระหนักว่านี่เป็นหนึ่งในพื้นที่ที่ถูกละเลยเมื่อพูดถึงบทช่วยสอน แม้แต่ใน Youtube ก็ไม่มีบทช่วยสอนดีๆ เกี่ยวกับ Arduinos และเสียง ดังนั้นฉันจึงเป็นคนดี ตัดสินใจแบ่งปันความรู้ของฉันเกี่ยวกับ Arduinos
หากคุณไม่ชอบอ่าน นี่คือวิดีโอฉบับเต็มพร้อมเสียงจริงที่กำลังเล่นอยู่:
ขั้นตอนที่ 1: ขั้นแรก พื้นฐาน
หากคุณเคยซื้อ Arduino Starter kit โดยปกติแล้วจะมี Active Buzzer/ Speaker และ Passive Buzzer/ Speaker หนึ่งชุด
แล้วอันไหนล่ะอันไหน?
ความแตกต่างทางสายตามีดังต่อไปนี้:
- Active Speaker มักจะสูงกว่า Passive one
- Active Speaker ถูกปิดผนึกที่ด้านล่าง แต่ Passive Speaker นั้นเปิดด้านล่าง
ความแตกต่างทางเทคนิคคือ ลำโพง Active นั้นสร้างขึ้นในส่วนประกอบ Active ซึ่งอนุญาตให้ทำงานกับแรงดัน DC ได้
ดังนั้น หากเราใช้แหล่งจ่ายไฟ 5V หรือ 3V กับลำโพง Active ลำโพงจะส่งเสียงบี๊บโดยอัตโนมัติ ในขณะที่ลำโพง Passive จะทำงานกับแรงดันไฟฟ้ากระแสสลับหรือสัญญาณ PWM DC
ตอนนี้เราทราบความแตกต่างแล้ว มาเชื่อมต่อกัน
ขั้นตอนที่ 2: เชื่อมต่อลำโพงกับ Arudino
การเชื่อมต่อนั้นง่าย
หมุด PWM ตัวใดตัวหนึ่ง (PINs 2 ถึง 13) เชื่อมต่อกับขั้วบวกของลำโพง และขั้วลบเชื่อมต่อกับตัวต้านทาน 100 โอห์ม ซึ่งเชื่อมต่อกับกราวด์
ตอนนี้ เราสามารถไปที่สเก็ตช์/โค้ดของเราได้
ขั้นตอนที่ 3: รหัส
รหัสเป็นเพียงบรรทัดเดียว!
หากคุณต้องการเล่นโทนเดียว ทั้งหมดที่จำเป็นมีดังนี้:
โทน (พิน ความถี่ ระยะเวลา)
โดยที่พิน คือพินที่ลำโพงเชื่อมต่ออยู่ ความถี่คือความถี่ (เป็นเฮิรตซ์) และระยะเวลาเป็นมิลลิวินาที เป็นทางเลือก
ง่ายใช่มั้ย? มาทำสิ่งที่น่าสนใจกันดีกว่า
ขั้นตอนที่ 4: เล่น Supermario Tone
ต่อไปนี้สามารถใช้เล่นโทน Supermario ได้!
เพียงแค่วางและสนุกกับ:
Arduino Mario Bros ปรับแต่งเสียงด้วย Piezo Buzzer และ PWM โดย: Dipto Pratyaksa อัพเดตล่าสุด: 31/3/13 */ #include
#define melodyPin 3 //เมโลดี้ของธีมหลักของ Mario = { NOTE_E7, NOTE_E7, 0, NOTE_E7, 0, NOTE_C7, NOTE_E7, 0, NOTE_G7, 0, 0, 0, NOTE_G6, 0, 0, 0, NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0, NOTE_G6, NOTE_E7, NOTE_G7, NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0, NOTE_C7, NOTE_D7, NOTE_B6, 0, 0, NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0, NOTE_G6, NOTE_E7, NOTE_G7, NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0, NOTE_C7, NOTE_D7, NOTE_B6, 0, 0 }; //Mario กำหนดจังหวะให้เข้าจังหวะ = {12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, };
//
ขั้นตอนที่ 5: อะไรต่อไป?
คุณต้องการเล่นอะไรที่ซับซ้อนกว่านี้? ชอบเพลงหรือเอฟเฟกต์เสียงกับ Arduino ของคุณหรือไม่? หน่วยความจำ Arduino มีจำกัด ดังนั้นจึงไม่สามารถสุ่มตัวอย่างโทนเสียงในอัตราที่สูงขึ้นได้ ในกรณีที่คุณต้องการทำอะไรที่แปลกใหม่ คุณจะต้องมีการ์ด SD ที่เชื่อมต่อกับ Arduino และเล่นเสียงจากการ์ด หวังว่าพวกคุณจะได้เรียนรู้อะไรจากสิ่งนี้!
พิจารณาสมัคร Funginers บน Youtube; มีแบบฝึกหัด, ของ DIY, การพิมพ์ 3 มิติที่เกินบรรยายทุกสัปดาห์!