สารบัญ:

Arduino Soundlab: 3 ขั้นตอน
Arduino Soundlab: 3 ขั้นตอน

วีดีโอ: Arduino Soundlab: 3 ขั้นตอน

วีดีโอ: Arduino Soundlab: 3 ขั้นตอน
วีดีโอ: EP.30 เซนเซอร์ เสียง เครื่องจับเสียง (Sensitivity Microphone Sound Sensor) + CODE | Nursery Arduino 2024, ตุลาคม
Anonim
Image
Image
การก่อสร้าง
การก่อสร้าง

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

ในห้องปฏิบัติการเสียงนี้ โทนเสียงสามารถควบคุมได้ด้วยพารามิเตอร์ 8 ตัว: 4 สำหรับขอบเขตความดังของ ADSR และ 4 สำหรับการปรับความถี่ที่กำหนดพื้นผิว

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

ดูวิดีโอเกี่ยวกับวิธีการสร้างเสียงแปลก ๆ ต่อไปนี้คือภาพรวมโดยย่อ:

* A=attack: เวลาที่โทนเสียงจะไปถึงระดับความดังสูงสุด (ช่วง 8ms-2s)

* D=decay: ถึงเวลาที่เสียงจะลดระดับความดังให้คงที่ (ช่วง 8ms-2s)

* S=sustain: ระดับความดังคงที่ (ช่วง 0-100%)

* R=release: ถึงเวลาที่เสียงจะหายไป (ช่วง 8ms-2s)

* f_m: อัตราส่วนของความถี่มอดูเลตต่อความถี่พาหะ (ช่วง 0.06-16) ค่าที่ต่ำกว่า 1 ส่งผลให้เกิดอันเดอร์โทน ค่าที่สูงกว่าจะเป็นแบบโอเวอร์โทน

* beta1: แอมพลิจูดของการมอดูเลต FM ที่จุดเริ่มต้นของโน้ต (ช่วง 0.06-16) ค่าขนาดเล็กส่งผลให้พื้นผิวเสียงเปลี่ยนแปลงเล็กน้อย ค่าขนาดใหญ่ส่งผลให้เกิดเสียงที่บ้าคลั่ง

* beta2: แอมพลิจูดของการมอดูเลต FM ที่ส่วนท้ายของโน้ต (ช่วง 0.06-16) ให้ค่า beta2 ที่แตกต่างจาก beta1 เพื่อให้เนื้อสัมผัสของเสียงพัฒนาขึ้นทันเวลา

* เอกภาพ: ความเร็วที่แอมพลิจูด FM วิวัฒนาการจาก beta1 เป็น beta 2 (ช่วง 8ms-2s) ค่าขนาดเล็กจะให้การกระแทกสั้น ๆ ที่จุดเริ่มต้นของโน้ต ค่ามากจะมีวิวัฒนาการที่ยาวและช้า

ขั้นตอนที่ 1: การก่อสร้าง

การก่อสร้าง
การก่อสร้าง
การก่อสร้าง
การก่อสร้าง
การก่อสร้าง
การก่อสร้าง

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

ส่วนประกอบที่จำเป็น:

1 Arduino Nano (ใช้กับ Uno ไม่ได้ซึ่งมีอินพุตแบบอะนาล็อกเพียง 6 ช่อง)

24 ปุ่มกด

8 โพเทนชิโอมิเตอร์ ในช่วง 1kOhm - 100kOhm

1 โพเทนชิโอมิเตอร์ 10kOhm สำหรับการควบคุมระดับเสียง

1 ตัวเก็บประจุ - 10microfarad electrolitic

ช่องเสียบหูฟังขนาด 3.5 มม. 1 ช่อง

1 LM386 ชิปเครื่องขยายเสียง

2 1000microfarad ตัวเก็บประจุไฟฟ้า

1 ตัวเก็บประจุเซรามิก 1 ไมโครฟารัด

ไมโครสวิตช์ 1 ตัว

ลำโพง 8 โอห์ม 2 วัตต์ 1 ตัว

บอร์ดต้นแบบขนาด 10x15 ซม. 1 อัน

ตรวจสอบให้แน่ใจว่าคุณเข้าใจแผนผังที่แนบมา ปุ่ม 24 ปุ่มเชื่อมต่อกันเป็น 3 กลุ่ม กลุ่มละ 8 ปุ่ม อ่านได้ที่ D0-D7 และเปิดใช้งานบน D8, D10 และ D11 หม้อมี +5V และกราวด์ที่ปลายต๊าป และต๊าปกลางจะถูกส่งไปยังอินพุตแบบอะนาล็อก A0-A7 D9 มีเอาต์พุตเสียงและเชื่อมต่อ AC กับโพเทนชิออมิเตอร์ 10kOhm เพื่อควบคุมระดับเสียง สามารถฟังเสียงได้โดยตรงด้วยหูฟัง หรือขยายเสียงด้วยชิปเครื่องขยายเสียง LM386

พอดีกับบอร์ดต้นแบบขนาด 10x15 ซม. แต่ปุ่มต่างๆ อยู่ใกล้เกินไปที่จะเล่นได้ดี ดังนั้นจึงควรสร้างคีย์บอร์ดที่ใหญ่ขึ้น

วงจรสามารถขับเคลื่อนผ่านการเชื่อมต่อ USB บน Arduino Nano หรือด้วยแหล่งจ่ายไฟ 5V ภายนอก กล่องแบตเตอรี่ 2xAA ตามด้วยตัวแปลงแบบสเต็ปอัพเป็นโซลูชันการจ่ายไฟที่สมบูรณ์แบบ

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

อัปโหลดภาพร่างที่แนบมากับ Arduino Nano และทุกอย่างน่าจะใช้ได้

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

ขั้นตอนที่ 3: การปรับปรุงในอนาคต

ยินดีต้อนรับแนวคิดจากชุมชนเสมอ!

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

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

แนะนำ: