สารบัญ:

เครื่องกำเนิดเสียง "Jimikky Kammal" โดยใช้ Arduino Pro Mini: 5 ขั้นตอน
เครื่องกำเนิดเสียง "Jimikky Kammal" โดยใช้ Arduino Pro Mini: 5 ขั้นตอน

วีดีโอ: เครื่องกำเนิดเสียง "Jimikky Kammal" โดยใช้ Arduino Pro Mini: 5 ขั้นตอน

วีดีโอ: เครื่องกำเนิดเสียง
วีดีโอ: MKS Monster8 - Fans 2024, พฤศจิกายน
Anonim
Image
Image

นี่เป็นโครงการสร้างโทนเสียงอย่างง่ายโดยใช้ Arduino Pro Mini ส่วนหนึ่งของเพลงฮิต "Jimikky Kammal" ของภาพยนตร์เรื่อง "Velipadinte Pusthakam" ได้รับการพัฒนาในแบบโมโนโทนิก

โน้ตดนตรีเกิดขึ้นในธรรมชาติเป็นคลื่นไซน์ที่ไหลลื่นและหมุนวน ในโครงการนี้ แทนที่จะสร้างคลื่นไซน์เรียบ เราจะสร้างเสียงด้วยคลื่นสี่เหลี่ยม คลื่นสี่เหลี่ยมให้เสียง แต่มีความคมชัดและเป็นโลหะมากกว่าคลื่นไซน์ปกติ โน้ตดนตรีสามารถสร้างขึ้นได้โดยการสร้างความถี่ แต่ละความถี่มีโทนเสียงที่ไม่ซ้ำกัน Arduino ใช้เพื่อสร้างความถี่นี้

ขั้นตอนที่ 1: การตั้งค่าฮาร์ดแวร์

การตั้งค่าฮาร์ดแวร์
การตั้งค่าฮาร์ดแวร์
การตั้งค่าฮาร์ดแวร์
การตั้งค่าฮาร์ดแวร์
การตั้งค่าฮาร์ดแวร์
การตั้งค่าฮาร์ดแวร์

การติดตั้งฮาร์ดแวร์ทำได้ง่ายมาก สำหรับการพัฒนาโครงการนี้ เราต้องการ

  • Arduino Pro Mini
  • วิทยากร
  • FTDI USB to Serial Adapter (สำหรับอัพโหลดโปรแกรมไปยัง Arduino Pro Mini)

อินเทอร์เฟซ FTDI USB กับอะแดปเตอร์อนุกรมกับ Arduino Pro Mini สำหรับการเขียนโปรแกรมตามที่แสดงในแผนภาพวงจร เชื่อมต่อหนึ่งพินของลำโพงกับพินดิจิตอล 11 (คุณสามารถเปลี่ยนหมายเลขพินในโปรแกรม) ของ Arduino Pro Mini และอีกอันหนึ่งลงกราวด์

ในวงจรนี้ เราไม่ได้เพิ่มวงจรแอมพลิฟายเออร์ใดๆ เพื่อให้มีระดับเสียงที่ต่ำมาก คุณสามารถเพิ่มวงจรขยายเสียงใดๆ ก็ได้ ดังนั้น คุณจะได้เสียงที่ส่งออกไปมาก หรือคุณสามารถใช้ลำโพง PC ที่มีตัวควบคุมระดับเสียงที่ปรับได้

ขั้นตอนที่ 2: การพัฒนาซอฟต์แวร์

โน้ตดนตรีสามารถสร้างขึ้นได้โดยการสร้างการสั่นใน Arduino ความถี่ของการสั่นคือระดับเสียงของการปรับความเร็วของโน้ตดนตรีที่เล่น จังหวะคือช่วงเวลาของแต่ละเพลงที่เล่น ดังนั้น เราจึงต้องกำหนดระดับเสียง จังหวะ และจังหวะสำหรับโน้ตดนตรีทุกตัว

ในโปรแกรมนี้ เราไม่ได้สร้างความถี่ทั้งหมดสำหรับเสียงทั้งหมด เพิ่มเฉพาะเสียงที่จำเป็นสำหรับเพลง "Jimikky Kammal" เท่านั้น ความถี่สำหรับโน้ตทั้งหมดได้รับลิงก์ด้านล่าง

impacttechnolabz.com/fd1_jk.html

เราต้องแปลงความถี่เหล่านี้เป็นช่วงเวลาเพื่อให้ Arduino ได้รับระยะเวลาในการเปิดและปิดพินดิจิทัล การคำนวณโทนเสียงทำได้ตามการคำนวณทางคณิตศาสตร์:

timeHigh = 1/(2 * toneFrequency) = คาบ / 2

เช่น:

เพื่อสร้างการแกว่ง 100 Hz

เช่น ช่วงเวลา = 1/100 S = 0.01 S = 10000 uS

ดังนั้นเราต้องสร้างพิน HIGH สำหรับ 5000 uS และ LOW สำหรับ 5000 uS

เช่น timeHigh = 1/(2*100)

= 0.005 S

= 5000us

ดาวน์โหลดรหัสเต็ม

ขั้นตอนที่ 3: การจำลอง

การจำลอง
การจำลอง

เราได้สร้างการจำลองด้วยความช่วยเหลือของซอฟต์แวร์ Proteus Proffessional ที่ติดตั้งใน Windows PC ดังนั้นจึงสามารถตรวจสอบเอาต์พุตเสียงในพีซีผ่านการ์ดเสียงได้ คุณต้องเพิ่ม Arduino Library ให้กับ Proteus อย่างชัดเจน

ขั้นตอนที่ 4: รหัส

ดาวน์โหลดรหัสเต็ม

แนะนำ: