
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12

นี่คือ Synth / Tone Generator ที่ใช้คำสั่ง Tone ที่เป็นของ Arduino มีคีย์เฉพาะ 12 ปุ่มที่สามารถตั้งค่าให้เล่นความถี่คลื่นสี่เหลี่ยมใดก็ได้ มันมีความสามารถในการขึ้นและลงอ็อกเทฟด้วยปุ่ม นอกจากนี้ยังมี Arduino ตัวที่สองที่จะสร้าง "จังหวะ" และคุณสามารถวนรอบแต่ละจังหวะและปรับจังหวะของจังหวะด้วยโพเทนชิออมิเตอร์ ส่งออกไปยังลำโพงตัวเดียว อาจดูซับซ้อน แต่จริง ๆ แล้วค่อนข้างตรงไปตรงมาและคุณสามารถปรับแต่งเสียงของคุณได้โดยการเปลี่ยนรหัส
ขั้นตอนที่ 1: วัสดุ
- 2 Arduino Unos
- 17 1kΩ ตัวต้านทาน
- 1 50kΩ โพเทนชิออมิเตอร์
- 16 Tact Switches (ปุ่มกด)
- 1 4Ω ลำโพง
- 1 9V แบตเตอรี่
- ลวดเยอะ
หากคุณต้องการประสานบอร์ดสุดท้ายและสร้างผลิตภัณฑ์ขั้นสุดท้ายเช่นของฉัน คุณจะต้องใช้เช่นกัน
- 1 โปรโตบอร์ด
- ซ็อกเก็ต 2 28 พิน
- ส่วนหัวชายและหญิง
- 1 5V เรกูเลเตอร์
- ตัวเก็บประจุ 1 47 ยูเอฟ
- 2 16 Mhz คริสตัล
- สวิตช์เปิด/ปิด 2 ตัว
- คีย์บอร์ดของเล่นสำหรับถอดกุญแจออกจาก
ขั้นตอนที่ 2: ต่อสายเขียงหั่นขนม



ใช้ภาพด้านบนสร้างวงจรบนเขียงหั่นขนม
สำหรับ Arduino hook 12 tact ตัวแรกจะสลับเป็นพิน 13-2 แต่ละตัวพร้อมตัวต้านทานแบบดึงลง เชื่อมต่อสวิตช์อีก 2 ตัวเป็น A5 และ A4 ด้วยวิธีเดียวกัน สิ่งสุดท้ายที่จะเชื่อมต่อคือลำโพง เชื่อมต่อปลายด้านหนึ่งกับกราวด์และปลายอีกด้านหนึ่งเพื่อพิน 0
สำหรับ Arduino hook 2 ตัวที่สองจะเปลี่ยนเป็นพิน 9 และ 10 เหมือนเดิม เชื่อมต่อโพเทนชิออมิเตอร์ 50k เพื่อพิน A0, 5V และตัวต้านทาน 1k กับกราวด์ สุดท้ายเชื่อมต่อพิน 8 กับสายเดียวกันบนลำโพงที่คุณทำพิน 0 บน Arduino ตัวแรก อย่าลืมเชื่อมต่อสายดินของ Arduinos ทั้งสองเข้าด้วยกัน
ขั้นตอนที่ 3: รหัส

ถัดไปอัปโหลดรหัส Tone Keyboard ไปยัง Arduino ตัวแรกและรหัส Rhythm Section ไปยัง ardunio ตัวที่สอง หากรหัสไม่ต้องการอัปโหลด ให้ลองยกเลิกการเชื่อมต่อลำโพงชั่วคราวแล้วลองอีกครั้ง
ฉันอธิบายสิ่งส่วนใหญ่ในโค้ดเอง ดังนั้นฉันจะแสดงให้คุณเห็นถึงวิธีการเปลี่ยนสิ่งต่าง ๆ เพื่อให้ได้เสียงที่ต่างกัน
หากต้องการเปลี่ยนความถี่ของแต่ละปุ่มบนแป้นพิมพ์ คุณต้องเปลี่ยนตัวเลขในคำสั่ง Tone ในรหัส Tone Keyboard (ฉันใส่ตัวเลขที่คุณเปลี่ยนเป็นตัวหนาด้านล่าง)
ถ้า (cN == สูง)
{ โทน (0, (16.35 * อ็อกเทฟ)); }
โดยค่าเริ่มต้น ฉันได้ใส่ความถี่พื้นฐานของโน้ตดนตรีแล้ว แต่คุณสามารถเปลี่ยนเป็นอะไรก็ได้ที่คุณต้องการ
หากต้องการเปลี่ยนจังหวะ/จังหวะ คุณต้องเปลี่ยนรหัสส่วนจังหวะ เช่นเดียวกับรหัสโทน สิ่งที่คุณต้องทำคือเปลี่ยนความถี่ (ตัวหนาด้านล่าง) และจะเปลี่ยนโน้ตที่จะเล่น คุณสามารถเพิ่มการดีเลย์และโทนเสียงอื่นได้หากต้องการเพิ่มโน้ตในจังหวะ
ถ้า (รูปแบบ == 1) { โทน (8, 55, เซ็นเซอร์ครึ่งหนึ่ง);
ล่าช้า (เซ็นเซอร์ค่า);
โทน (8, 58.27, เซ็นเซอร์ที่สี่);
ล่าช้า (เซ็นเซอร์ครึ่ง);
โทนเสียง (8, 58.27, เซ็นเซอร์ที่สี่);
ล่าช้า (เซ็นเซอร์ครึ่ง); }
คุณสามารถดูแผนภูมิด้านบนซึ่งมีความถี่สำหรับโน้ตดนตรีแต่ละตัวในแต่ละอ็อกเทฟ เพื่อให้คุณสามารถสร้างจังหวะของคุณเองได้
ขั้นตอนที่ 4: การสร้างผลิตภัณฑ์ขั้นสุดท้าย



ขั้นตอนนี้เป็นทางเลือก แต่ถ้าคุณต้องการทำในสิ่งที่ฉันทำ คุณจะต้องบัดกรีบอร์ดที่มีไมโครคอนโทรลเลอร์ทั้งคู่ สิ่งที่คุณต้องทำคือถอด IC ออกจากบอร์ด Arduino และประสานเข้ากับ pcb เปล่า (คุณควรใช้ซ็อกเก็ต) สิ่งเดียวที่คุณต้องทำคือเชื่อมต่อคริสตัล 16Mhz ระหว่างพิน 9 และ 10 บน IC แต่ละตัว คุณต้องใช้ตัวควบคุม 5V เพื่อลดระดับ 9V จากแบตเตอรี่เพื่อจ่ายไฟให้กับวงจร ใส่ตัวเก็บประจุ 47uF ระหว่าง 5V กับกราวด์เพื่อช่วยให้เอาต์พุตคงที่ กราวด์คือพิน 8 และ 5V คือพิน 7 บน IC อ้างถึงไดอะแกรม Pinout เพื่อดูว่าพินใดบน IC ที่สอดคล้องกับพินดิจิทัล ส่วนใหญ่เป็นเพียงการนำวงจรบนเขียงหั่นขนมและย้ายไปที่ pcb การใช้ส่วนหัวอาจใช้เวลาเพิ่มขึ้นในการประสาน แต่จะทำให้การแก้ไขปัญหาง่ายขึ้นมาก ดังนั้นฉันจะแนะนำให้ใช้ ในการสร้างคีย์ ฉันแยกคีย์บอร์ดของเล่นเก่าออกแล้ววางสวิตช์ชั้นเชิงใต้แต่ละคีย์ เมื่อคุณสร้างแต่ละชิ้นเสร็จแล้ว คุณสามารถสร้างเคสสำหรับมันได้ ฉันแค่ทากาวทุกอย่างลงบนไม้ แต่คุณสามารถทำให้มันดูดีกว่าของฉันได้มากถ้าคุณต้องการ
ขั้นตอนที่ 5: ทดสอบเลย


ตอนนี้คุณสามารถสนุกกับซินธ์ใหม่ได้แล้ว มีโพลีโฟนีโน้ตเพียง 1 ตัวเท่านั้น ดังนั้นคุณจึงสามารถเล่นเพลงง่ายๆ ได้เท่านั้น แต่เมื่อเปิดส่วนจังหวะ คุณจะสามารถสร้างเสียงที่เจ๋งจริงๆ ได้ มีความสุข!
แนะนำ:
วิธีสร้าง Tone Control LM358 สำหรับแอมพลิฟายเออร์ 2.1: 7 ขั้นตอน (พร้อมรูปภาพ)

วิธีสร้าง Tone Control LM358 สำหรับเครื่องขยายเสียง 2.1: ดังนั้นในช่อง Youtube ของฉัน หลายคนถามถึงวิธีการรวมแอมพลิฟายเออร์สองตัวเข้าด้วยกันเป็นหนึ่งเดียว แอมพลิฟายเออร์ตัวแรกใช้สำหรับลำโพงแซทเทิลไลท์และแอมพลิฟายเออร์ตัวที่สองใช้สำหรับลำโพงซับวูฟเฟอร์ การกำหนดค่าการติดตั้งแอมพลิฟายเออร์นี้สามารถเรียกได้ว่า Amp
HID Keyboard Controller สำหรับ Project Diva Aracade Future Tone: 5 ขั้นตอน

HID Keyboard Controller สำหรับ Project Diva Aracade Future Tone: V-USB เป็นโซลูชันไลบรารี USB ความเร็วต่ำสำหรับตัวควบคุมไมโคร AVR ช่วยให้เราสร้างอุปกรณ์ HID (แป้นพิมพ์ เมาส์ เกมแพด ฯลฯ) โดยใช้ตัวควบคุมไมโคร AVR การใช้งานแป้นพิมพ์ HID อิงตาม HID 1.11 รองรับการกดสูงสุด 6 ปุ่ม
Arduino Tone Melody อย่างง่าย: 3 ขั้นตอน

Simple Arduino Tone Melody: Simple Arduino Tone Melody เป็นวิธีการเริ่มต้นกับโครงการ Arduino เพราะคุณจะอัปโหลดโค้ดจากซอฟต์แวร์ Arduino โดยตรงเท่านั้นโดยไม่ต้องเขียนอะไรเลย
Simple Tone Generator: 7 ขั้นตอน (พร้อมรูปภาพ)

Simple Tone Generator: Arduino Tone Generator เป็นชุดสวิตช์ที่แชร์เทอร์มินัลทั่วไปกับ GND ในขณะที่พินที่เหลือเชื่อมต่อกับพินดิจิทัล Arduino 2, 3, 4, 5, 6, 7, 8 และ 9 พร้อมลำโพง ติดตั้งระหว่าง GND และพินดิจิตอล 11 จาก Arduino Uno
Arduino Tone Generator ที่ไม่มีไลบรารี่หรือฟังก์ชั่นแบบอนุกรม (พร้อมอินเตอร์รัปต์): 10 ขั้นตอน

Arduino Tone Generator ที่ไม่มีไลบรารี่หรือฟังก์ชั่นแบบอนุกรม (พร้อมอินเตอร์รัปต์): นี่ไม่ใช่สิ่งที่ปกติแล้วฉันจะสอนได้ ฉันชอบงานโลหะมากกว่า แต่เนื่องจากฉันเป็นนักเรียนวิศวกรรมไฟฟ้าและต้องเรียนวิชาเกี่ยวกับไมโครคอนโทรลเลอร์ ( การออกแบบระบบสมองกลฝังตัว) ฉันคิดว่าฉันจะสร้างคำสั่งบนหนึ่งใน p