กลับไปหน้ารวมไฟล์
play-any-song-with-arduino-passive-buzzer-39e686.md

คุณรู้หรือไม่ว่าคุณสามารถเล่นเพลงใดก็ได้ด้วยอาร์ดูโน่และบัซเซอร์แบบพาสซีฟ?

ตัวอย่างเช่น ผมได้เล่นเพลง 'Hey Jude' ของ The Beatles

สองสิ่งที่คุณต้องจำไว้เมื่อให้อินพุตเพื่อเล่นเพลงคือโน้ตและระยะเวลา (duration) ของแต่ละโน้ต ในโค้ดด้านล่างทุกอย่างถูกอธิบายไว้แล้ว แต่หากยังมีข้อสงสัยใดๆ ผมยินดีช่วยเหลือ คุณสามารถส่งข้อความมาถามได้

นักประพันธ์ดิจิทัล: เล่นเพลงด้วยบัซเซอร์แบบพาสซีฟ

ต่อยอดจากโปรเจกต์ "Happy Birthday" เฟรมเวิร์ก Play Any Song มอบคลังโน้ตขนาดใหญ่ให้คุณ (ไฟล์เฮดเดอร์ที่เต็มไปด้วยนิยามเช่น #define NOTE_C4 262) ทำให้คุณสามารถแปลงโน้ตเพลงจริงเป็นโค้ด C++ ได้

arduino_memory_game_piezo_macro_1772681197420.png

เฟรมเวิร์ก "pitches.h"

ความลับของโปรเจกต์นี้คือการใช้ไฟล์เฮดเดอร์ภายนอกชื่อ pitches.h

  1. ไฟล์นี้ประกอบด้วยการแมปความถี่ที่แน่นอนสำหรับโน้ตเกือบ 90 โน้ตครอบคลุม 8 อ็อกเทฟ
  2. แทนที่จะพิมพ์ tone(pin, 440) คุณสามารถเขียน tone(pin, NOTE_A4) ซึ่งทำให้โค้ดของคุณอ่านและดีบั๊กได้ง่ายขึ้นอย่างมาก
  3. คุณจัดการจังหวะ (tempo) โดยการกำหนดตัวแปรระดับโลก (เช่น int tempo = 120) และใช้การคำนวณเพื่อหาความยาวเป็นมิลลิวินาทีของโน้ตตัวกลม โน้ตตัวขาว และโน้ตเขบ็ดหนึ่งชั้นแบบไดนามิก

รายการอุปกรณ์

  • Arduino Uno/Nano: ตัวควบคุมหลัก
  • บัซเซอร์แบบพาสซีฟ (Passive Piezo Buzzer): ลำโพง
  • โพเทนชิโอมิเตอร์ (ไม่จำเป็น): สามารถต่อเข้ากับขาอินพุตแอนะล็อก 0 เพื่อทำหน้าที่เป็นปุ่มปรับจังหวะแบบเรียลไทม์ เร่งหรือชะลอเพลงขณะที่กำลังเล่นได้!

เหตุใดสิ่งนี้จึงทรงพลัง

ด้วยการแยก "ข้อมูล" (โน้ตและระยะเวลา) ออกจาก "เครื่องยนต์" (ลูป for ที่เล่นโทน) คุณจะได้เรียนรู้แนวคิดที่สำคัญในโครงสร้างซอฟต์แวร์ คุณสามารถเปลี่ยนอาร์เรย์ของเพลงได้อย่างง่ายดายโดยไม่ต้องแตะต้องลอจิกการเล่นเลย

ข้อมูล Frontmatter ดั้งเดิม

apps: []
author: "brambi001"
category: ""
components:
  - "1x Arduino UNO"
  - "1x Buzzer"
  - "2x Jumper wires (generic)"
description: "อยากให้บอร์ด Arduino ร้องเพลงวัยรุ่นมั้ยล่ะ? มาดูวิธีใช้ Passive Buzzer เล่นเพลงอะไรก็ได้แบบเทพๆ กัน งานง่ายแต่หล่อจัดไป!"
difficulty: "Easy"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX19hqkeDATPHn9Gl10tI7q/BF+JE1I5ZLzIoQlZjrdZ56hnN5LddB+8GkWnjMo62JrMqZkFGm9FXgyqlOR3dn39SQIo/wjjPNyA="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/play-any-song-with-arduino-passive-buzzer-39e686_cover.jpg"
lang: "en"
likes: 0
passwordHash: "66fb3b94743785263b20fbd364e98ee10f4a63fb3022dec8b34dac2143d8e5c9"
price: 1499
seoDescription: "Learn how to play any song using an Arduino Passive Buzzer with simple code and circuit setup instructions."
tags:
  - "buzzer"
  - "music"
title: "เปิดเพลงโปรดแบบตึงๆ ด้วย Arduino กับ Passive Buzzer"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/shorts"
views: 9358