โปรเจกต์ Organ Pedalboard MIDI Controller
คอนโทรลเลอร์สำหรับ Organ Pedalboard เพื่ออ่านค่าจาก Hall sensors และ Foot pistons switches สามารถตรวจพบเป็น MIDI device โดย Hauptwerk โปรเจกต์นี้ไม่รวม Swell pedals แต่สามารถต่อยอดได้ง่าย
คอนโทรลเลอร์สำหรับ Organ Pedalboard เพื่ออ่านค่าจาก Hall sensors และ Foot pistons switches สามารถตรวจพบเป็น MIDI device โดย Hauptwerk โปรเจกต์นี้ไม่รวม Swell pedals แต่สามารถต่อยอดได้ง่าย
Project Supporter Team
โพสต์โดย
แนวคิดคือการใช้ Hall sensors (A3144 unipolar) เพื่อตรวจจับว่ามีการกด pedal หรือไม่ โดย Hall sensor ถูกจัดวงจรแบบ open collector ดังนั้น Output ของ Hall sensor จึงเชื่อมต่อกับ internal pull up resistor ของ Arduino และอ่านค่าได้ HIGH หากไม่มีแม่เหล็กอยู่ใกล้ๆ หากมีการกด pedal ตัว Output ของ Hall sensor จะเชื่อมต่อลง ground และ Pin ที่เชื่อมต่อกับ Output จะอ่านค่าได้ LOW เนื่องจากเรามี 30 (หรือ 32) pedals + foot pistons ผมจึงใช้ Multiplexer (CD74HC4067) จำนวน 3 ตัว ใน main loop ของ Program แต่ละ Channel จะถูกเลือกด้วยการผสมผสานค่า HIGH และ LOW ที่สอดคล้องกันบน Pin s0 ถึง s3 สถานะของ signal pin ทั้ง 3 จะถูกอ่านและส่งข้อความ Midi ตามนั้น สิ่งสำคัญคือต้องปิดการทำงานของ Multiplexers ในขณะที่ตั้งค่าสถานะของ Pin s0 ถึง s3 เนื่องจากขั้นตอนการเขียนข้อมูล (write operations) ไม่ได้เกิดขึ้นพร้อมกันในทันที และอาจเกิดสัญญาณรบกวนกับ Channel อื่นๆ ได้ นอกจากนี้ แรงดันไฟฟ้าที่ Input pin ของแต่ละ Hall sensor ยังต้องใช้เวลาสักพักในการเพิ่มระดับขึ้น (รูปที่ 4) ดังนั้นจึงมีการเพิ่ม delay ขนาด 20 microseconds ก่อนที่จะอ่านสถานะของ Out pin ของ Sensor
เนื่องจาก 16 Channel สุดท้าย (จากทั้งหมด 48 Channel โดยใช้ 3 Multiplexer) ถูกสำรองไว้สำหรับ foot pistons ผมจึงได้เพิ่ม software debounce ด้วยเวลา 50 ms ในการประมวลผลข้อมูลของ Multiplexer ตัวที่ 3 เนื่องจากผมพบปัญหาเกี่ยวกับ sequencer + และ - ที่ข้ามลำดับการลงทะเบียน (registration) มากกว่าหนึ่งตำแหน่งแบบสุ่ม
เพื่อพิสูจน์ว่าการตั้งค่านี้ใช้งานได้จริง ผมได้บันทึกเสียงเพลง BWV578 โดยใช้ Midi controller ตัวนี้: https://audio.com/stylx/audio/bwv578







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