การทำอวัยวะอิเล็กทรอนิกส์: 6 ขั้นตอน
การทำอวัยวะอิเล็กทรอนิกส์: 6 ขั้นตอน
Anonim
MIDifying อวัยวะอิเล็กทรอนิกส์
MIDifying อวัยวะอิเล็กทรอนิกส์

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

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

ขั้นตอนที่ 1: แป้นพิมพ์ที่เป็นนามธรรม

ต่อไปนี้แสดงถึงอวัยวะอิเล็กทรอนิกส์ที่เป็นนามธรรม โดยแต่ละแถวคือชุดของปุ่มหรือตัวหยุด หรือสวิตช์ควบคุมอื่นๆ รายการคอลัมน์ 0 แสดงถึงแต่ละคีย์ และ - บัสที่คีย์เชื่อมต่ออยู่เมื่อกด Great Manual 61 คีย์อาจเป็นแถวแรก Swell Manual แถวที่สอง แป้นเหยียบแถวที่สาม และปุ่ม Stops เป็นต้น แถวที่สี่ แถวจริงประกอบด้วยองค์ประกอบ 64 เนื่องจากความสำคัญทางดิจิทัลเป็นกำลัง 2 เกิน 61 ภายในแถวแป้นพิมพ์ แป้นต่างๆ จะเป็นไปตามรูปแบบดนตรีปกติโดยมี C ทางด้านซ้าย

รถบัส 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

รถเมล์สาย 1 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

รถเมล์สาย 2 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

รถเมล์สาย 3 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

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

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

ขั้นตอนที่ 2: การเดินสายไฟจากคีย์บอร์ด

การเดินสายไฟจากคีย์บอร์ด
การเดินสายไฟจากคีย์บอร์ด
การเดินสายไฟจากคีย์บอร์ด
การเดินสายไฟจากคีย์บอร์ด

เพื่อช่วยในการเดินสายคีย์บอร์ด แผงวงจรพิมพ์จึงถูกสร้างขึ้นโดยใช้ Eagle CAD ขนาดของมันคือประมาณ 96 มม. X 43 มม. และต้องใช้ 8 อันโดยขยายไปทางด้านหลังของชุดคีย์บอร์ดออร์แกน

ให้เราดูรายละเอียดของแผงวงจรพิมพ์ (PCB) ภาพด้านซ้ายคือด้านหน้าของ PCB ที่ติดตั้งส่วนประกอบ และด้านขวาคือด้านหลังที่เราประสานส่วนประกอบต่างๆ

ประการแรกส่วนประกอบ 2X3 ที่ด้านบนมีจุดประสงค์เพื่อเชื่อมต่อกับคีย์ด้านบนโดยมีบัสเชื่อมต่อสองอันดับแรก 0 และ 1 คู่ถัดไป 2 และ 3 และคู่ล่างยังเป็นบัส 2 และ 3 พบว่ามี PCB ส่วนหัว 2X3 นั้นแข็งแกร่งพอที่จะรองรับสายเชื่อมต่อแบบเกลียวเดียวจากคีย์ที่เพียงแค่ผลักเข้าไปในส่วนหัว คล้ายกับการเดินสายชิลด์ของ Arduino ลวดเชื่อมที่ฉันใช้นั้นถูกกู้คืนจากอวัยวะเดิม เส้นผ่านศูนย์กลาง 0.75 มม.

ดังนั้นส่วนหัว 2X3 แต่ละรายการจึงรองรับคอลัมน์ของคีย์ที่เน้นตัวหนาหรือโน้ตตัวเดียวในรูปแบบกว้าง กระดานจึงต้องใช้ส่วนหัวเหล่านี้ 8 รายการ รูปภาพมีส่วนหัวของเพศหญิงที่ด้านบนซ้าย ส่วนตรงกลางของบอร์ดบรรจุด้วยไดโอด 32 ตัว (1N4148 หรือใกล้เคียง) ซึ่งแต่ละอันสอดคล้องกับอินพุตสีแดงตัวใดตัวหนึ่ง ขั้วไดโอดจะเป็นไปตามที่ทำเครื่องหมายไว้บนกระดาน โดยมีแคโทด (แถบสีดำ) ที่ปลายด้านบนของบอร์ด แสดงไดโอดตัวเดียวที่ตำแหน่ง 4 ในที่สุด ส่วนหัวชาย 2X5 ตัวเดียวจะเติมส่วนต่ำสุดของบอร์ด ไม่ได้เชื่อมต่อหมุด 2 ตัวบน พิน 1 อยู่ที่มุมล่างขวา และเชื่อมต่อกับไดโอด 4 ตัวทางซ้ายสุด พิน 2 กับไดโอด 5-8 และสุดท้าย 29-32 เชื่อมต่อกับพิน 8 ส่วนหัวอาจถูกตัดออกจากส่วน DIL ที่ยาวกว่า ดังภาพประกอบ คณะกรรมการ. การเดินสายระหว่างส่วนประกอบต่าง ๆ นั้นดำเนินการภายใน PCB โดยมีเพียงการบัดกรีเท่านั้นที่ต้องใช้ไดโอดและส่วนหัว

8 บอร์ดจากทั้งหมดเหล่านี้ติดตั้งอยู่ใต้คู่มือทันทีโดยใช้รูสำหรับยึดที่ให้มา ซึ่งขยายออกไปตามส่วนต่างๆ ของอวัยวะได้อย่างสะดวก หน้าที่ของบอร์ดนี้คือการดึงกุญแจ 8 ดอกหนึ่งบล็อกในรถบัส 4 คัน และนำเสนอต่อส่วนหัวของตัวผู้ที่จะต่อสายแพแบบ 10 ทางเพื่อถ่ายโอนไปยังสเตจถัดไป การออกแบบบอร์ดสามารถดาวน์โหลดได้จากไฟล์ zip ที่ให้มา

ขั้นตอนที่ 3: การรวมเอาท์พุตคีย์บอร์ดเข้าใน Shift Registers

การรวมเอาท์พุตคีย์บอร์ดเข้าใน Shift Registers
การรวมเอาท์พุตคีย์บอร์ดเข้าใน Shift Registers

จำเป็นต้องใช้ PCB อีกสองตัวดังที่แสดงด้านบน พวกเขาเรียกว่า DIN R5 และเป็นที่นิยมในโลก MIDI แม้ว่าจะมีฟังก์ชันการลงทะเบียนกะ อย่างแรก ในส่วนแนวนอนด้านบน คุณจะเห็นส่วนหัวของตัวผู้ 2X5 จำนวน 4 อัน ซึ่งเชื่อมต่อผ่านสายแพกับสายคู่ 2X5 บนบอร์ด 8 บอร์ดด้านบน เราต้องการแผง DIN สองแผงเพื่อรองรับสายเคเบิลดังกล่าว 8 เส้น

ด้านล่างของบอร์ดคือชิป IC ซึ่งสร้างรีจิสเตอร์การเปลี่ยนแปลงแบบ 32 บิต และสุดท้ายที่เราสนใจคือส่วนหัว 2X5 อีก 2 อัน ซึ่งหนึ่งในนั้น (J2) ติดกับบอร์ด DIN เพิ่มเติม (อันที่สองของเรา) และ J1 อีกอันหนึ่ง ไมโครโปรเซสเซอร์ Arduino หรือ Arduino ของเรา

เพื่อสรุปเรามี -

  • สูงสุด 4 บัส 64 คีย์ป้อนเข้า
  • 8 บอร์ด 32-inputs, 8-outputs ต่อบัส
  • เอาต์พุต 64 เหล่านี้ป้อนลงในรีจิสเตอร์กะ 32 บิต 2 ตัว
  • ไมโครโปรเซสเซอร์ Arduino จะวนรอบบัส

ขั้นตอนที่ 4: นำฮาร์ดแวร์มารวมกัน

วางฮาร์ดแวร์ไว้ด้วยกัน
วางฮาร์ดแวร์ไว้ด้วยกัน
วางฮาร์ดแวร์ไว้ด้วยกัน
วางฮาร์ดแวร์ไว้ด้วยกัน
วางฮาร์ดแวร์ไว้ด้วยกัน
วางฮาร์ดแวร์ไว้ด้วยกัน
วางฮาร์ดแวร์ไว้ด้วยกัน
วางฮาร์ดแวร์ไว้ด้วยกัน

การเชื่อมต่อระหว่าง Arduino, บอร์ด DIN สองแผง และสายแพจากออร์แกนคีย์คอมเพล็กซ์แสดงไว้ในภาพด้านบน โปรดทราบว่า J2 ของ DIN ที่สองนั้นว่างเปล่า

ตัวเชื่อมต่อใช้เทคโนโลยี IDC (หน้าสัมผัสฉนวน-ราง) และไม่จำเป็นต้องถอดหรือแยกสายไฟ พวกเขาถูกนำไปใช้กับสายเคเบิลด้วยเครื่องมือบีบอัดที่มีให้สำหรับมือสมัครเล่น ที่ด้านซ้ายสุดของสายเคเบิลแบบจีบอาจใช้ใบมีดโกนให้เรียบร้อย ที่กึ่งกลางด้านล่างของตัวเชื่อมต่อจะมีซ็อกเก็ตตัวเมีย 2X5; และด้านขวาเป็นมุมมองด้านบนของตัวเชื่อมต่อ

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

ขั้นตอนที่ 5: Arduino Complex

Arduino Complex
Arduino Complex
Arduino Complex
Arduino Complex
Arduino Complex
Arduino Complex
Arduino Complex
Arduino Complex

จะมีการหารือเกี่ยวกับคอมเพล็กซ์ Arduino ทางด้านซ้ายของบอร์ด DIN สองตัวด้านบน ประกอบด้วยสามเลเยอร์ที่แตกต่างกันซึ่งเชื่อมต่อถึงกันเป็น Arduino shields PCBs ที่ประกอบด้วยชั้นต่างๆ มีสีฟ้า สีเขียว และสีแดงโดยบังเอิญ

เลเยอร์สีน้ำเงิน (ที่ด้านบน) เป็นเกราะที่ผลิตโดย Freetronics ซึ่งให้จอแสดงผลคริสตัลเหลวขนาด 16X2 (2 แถว 16 ตัวอักษร) ไม่จำเป็นอย่างยิ่ง แต่มีประโยชน์อย่างยิ่งในการตรวจสอบการทำงานของแป้นพิมพ์ แป้นเหยียบ และตัวหยุด มันถูกขับเคลื่อนโดยไลบรารี LiquidCrystal และสามารถแทนที่ตัวแปรฮาร์ดแวร์อื่น ๆ ได้อย่างง่ายดาย

เลเยอร์สีแดง (ที่ด้านล่าง) คือ Teensy 3.2 ที่ติดตั้งบนกระดาน Sparkfun Teensyduino Teensy ให้การสนับสนุน MIDI โดยตรงและทำหน้าที่เป็น Arduino UNO ดังนั้นการใช้ Teensy จะบันทึกส่วนประกอบที่ปลายน้ำ การเชื่อมต่อแหล่งจ่ายไฟ (5V 2A) อยู่ที่ด้านล่างซ้าย และขั้วต่อ USB ที่รองรับเอาต์พุตแบบอนุกรมหรือ MIDI ที่กึ่งกลางด้านซ้าย ส่วนหัวที่ขอบด้านบนและด้านล่างมีฟังก์ชัน Arduino shield มาตรฐาน

เลเยอร์สีเขียว (คั่นระหว่างสีน้ำเงินและสีแดง) เป็นบอร์ด PCB แบบกำหนดเอง จุดประสงค์คือกว้างเพื่อรองรับบิตและชิ้นส่วนต่างๆ เช่น ลิงก์ไปยังแผง DIN และเพื่อลดการเดินสายภายนอก ฟังก์ชันบางอย่างซ้ำซ้อน ประกอบด้วยวงจรสำหรับรองรับ MIDI ผ่าน Arduino UNO มาตรฐาน นอกจากนี้ยังมีเฮดเดอร์ตัวผู้ 2X5 สำหรับต่อสายแพกับเฮดเดอร์ J1 บนบอร์ด DIN ตัวแรก ฟังก์ชันอื่น ๆ รวมถึงการสนับสนุนการควบคุมระดับเสียง ออร์แกนดั้งเดิมใช้โพเทนชิออมิเตอร์ (หม้อ) 10K ที่ขับเคลื่อนด้วย Foot Shoe

ส่วนหัวแนวนอนทั้งสี่ให้การเชื่อมต่อโล่ Arduino มาตรฐานกับบอร์ด Teensy ด้านล่างและจอแสดงผลคริสตัลเหลว รอยประทับที่คล้ายกับสถานีขนส่งที่มุมล่างซ้ายคือสิ่งที่เหลืออยู่ และส่วนหัวแนวตั้งยาวที่ด้านซ้ายให้การเชื่อมต่อกับรถโดยสารทั้งสี่คัน ตัวควบคุมระดับเสียง และกราวด์

บอร์ดแบบกำหนดเองได้รับการพัฒนาโดยใช้ Eagle CAD และไฟล์ zip ของ Gerber complex ที่ส่งไปยังผู้ผลิต PCB มีอยู่ในไฟล์ zip PCB2

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

ซอฟต์แวร์นี้ได้รับการพัฒนาขึ้นสำหรับ Arduino UNO และต่อมาได้รับการแก้ไขโดยมีการเปลี่ยนแปลงเพียงเล็กน้อยเพื่อใช้ Teensy การใช้พินไม่เปลี่ยนแปลง

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

ซอฟต์แวร์ส่วนใหญ่เกี่ยวข้องกับการอ่านคีย์บอร์ด แป้นเหยียบ และปุ่มหยุดแต่ละตัวโดยการเปิดใช้งานแต่ละบัสสลับกัน และการนำค่าบิตออกจาก shift register ที่บอร์ด DIN ให้มา

โดยทั่วไปสภาพแวดล้อมดาวน์สตรีมจะรวมถึงโปรเซสเซอร์ที่ใช้ Windows หรือ UNIX หรือ Linux และ Software Synthesizer เช่น FluidSynth ซึ่งอาจได้รับการจัดการโดย jOrgan ในที่สุด FluidSynth ถูกขับเคลื่อนโดย Soundfont (s) ตั้งแต่หนึ่งตัวขึ้นไป ซึ่งระบุได้ว่าเสียงใดจะถูกสร้างขึ้นเมื่อได้รับคำสั่ง MIDI โดยเฉพาะ มีความคล้ายคลึงกับแบบอักษรการประมวลผลคำ สำหรับแป้นพิมพ์และแป้นเหยียบ การเปลี่ยนแปลงจากการสแกนครั้งก่อนจะส่งผลให้มีการสร้างลำดับ MIDI Note On หรือ Note Off ปุ่มซ้ายสุดคือ MIDI 36 และเพิ่มขึ้นตามแป้นพิมพ์ ดัชนีบัสจะให้ขอบเขตสำหรับหมายเลขช่อง MIDI ได้อย่างง่ายดาย สำหรับปุ่มหยุด ลำดับการควบคุมโปรแกรม MIDI จะถูกสร้างขึ้น หรืออาจเหมาะสมที่จะสร้างการเปิด/ปิดหมายเหตุ และปล่อยให้เป็น jOrgan หรือซอฟต์แวร์ดาวน์สตรีม MIDI ที่คล้ายกันเพื่อตีความ ปรับ และขยาย ไม่ว่าหลักสูตรใดก็ตาม การตัดสินใจขั้นสุดท้ายถูกกำหนดโดยคำจำกัดความของฟอนต์ซาวด์ดาวน์สตรีม ซอฟต์แวร์นี้ถูกใช้ในรูปแบบต่างๆ เพื่อสร้าง MIDI ผ่าน USB ไปยัง Windows โดยใช้แอปพลิเคชัน Wurlitzer และ FluidSynth และสำหรับ Raspberry Pi ที่ใช้ FluidSynth และแบบอักษร MIDI ทั่วไป คำอธิบายนี้เป็นที่ยอมรับในภาพรวม แต่ใครก็ตามที่คุ้นเคยกับสภาพแวดล้อม Arduino หรือ C จะไม่มีปัญหาในการแก้ไขเพื่อจุดประสงค์ของตนเอง มีเอกสารภายในที่เหมาะสม และโมดูลาร์ที่เหมาะสม

ซอฟต์แวร์ Arduino มีอยู่ใน organino.zip