ชื่อโปรเจกต์: 49-Key Keyboard (Je Sus 49)
วิธีที่ผมสร้างมันขึ้นมา
ทุกอย่างเริ่มต้นเมื่อประมาณหนึ่งปีที่แล้ว ตอนที่ผมกำลังเล่น MonkeyType และได้ WPM ที่แย่มากจนน่าอับอายเพียง 78 บน Chromebook ที่โรงเรียนให้มา ผมก็เลยคิดว่า "เฮ้ย! ผมควรหาคีย์บอร์ด RGB gaming เจ๋งๆ มาใช้จะได้พิมพ์ได้เร็วขึ้น!" ผมก็เลยหามาใช้แล้วก็คิดว่า "เออ มันก็เจ๋งดีนะ" แต่แล้วผมก็ได้เห็น Taeha Types แล้วก็คิดว่า "ผมควรลองทำแบบนี้ดูบ้างดีกว่า" ไม่กี่เดือนต่อมา ผมก็ได้ mechanical keyboard ตัวแรกของผม มันคือ KBD75 ที่ใช้ Durock POMs และ Cherry stabs กับ Keycaps โปรไฟล์ Matcha OEM หลังจากที่ใช้มันและเคยรู้สึกทึ่ง ตอนนี้ผมก็ไม่ได้รู้สึกแบบนั้นแล้ว สาเหตุหลักเป็นเพราะหลังจากที่ผมเลื่อนดู r/MechanicalKeyboards มาหลายชั่วโมง ผมก็ได้เจอ 40% Keyboard ผมต้องการ 'Thocc' ที่มากขึ้น, 'E R G O N O M I C S' ที่มากขึ้น และ RGB ที่น้อยลง ผมจึงเริ่มออกแบบคีย์บอร์ดที่ยอดเยี่ยมที่สุดในบรรดาทั้งหมด: คีย์บอร์ด 40% (แต่จริงๆ แล้วใกล้เคียง 50%) ที่มีหลาย layers/modes และดีไซน์ ergonomic ที่จะเหนือกว่าทุกสิ่ง

จากนั้น ผมก็เริ่มเรียนรู้ว่าคีย์บอร์ดสมัยใหม่ทำงานอย่างไร หลังจากใช้เวลาหลายชั่วโมงกับการดู YouTube และอ่านฟอรัมออนไลน์ ผมก็ได้เรียนรู้ว่าคีย์บอร์ดทำงานโดยใช้ matrix วิธีที่ keyboard matrix ทำงานคือ แทนที่จะตรวจสอบว่ามีไฟที่ลงกราวด์ไหลผ่าน switch แต่ละตัวทีละตัว มันจะส่งสัญญาณไปยัง col (หรือ row) แล้วตรวจสอบว่ามี ground ใน rows (หรือ col) หรือไม่ นี่หมายความว่าวงจรไม่จำเป็นต้องมี In/Out pin สำหรับแต่ละ key ทำให้คีย์บอร์ดทั้งหมดมีประสิทธิภาพมากขึ้นเมื่อใช้ matrix ที่มีขนาดใหญ่กว่า 2x2 ผมยังได้เรียนรู้ด้วยว่าแต่ละ key จะต้องมี diode ต่อออกมาเพื่อป้องกันไม่ให้เกิดความสับสนเมื่อกดหลาย keys พร้อมกัน หากไม่มี diode และมีการกดหลาย keypresses พร้อมกัน อาจเกิดการรบกวนระหว่าง rows และ columns ที่ต่างกันได้

เมื่อผมเรียนรู้ว่าคีย์บอร์ดทำงานอย่างไร ผมก็เริ่มเรียนรู้วิธีการออกแบบและผลิต PCBs ผมได้ลิงก์ PCB ของผมไว้ในส่วน software ด้านล่างนี้ หลังจากได้ PCBs และ Arduino Mini มา พร้อมกับความรู้เบื้องต้นเรื่อง C++ และข้อมูลจากฟอรัมออนไลน์ ผมก็เริ่มเขียนโปรแกรมสำหรับคีย์บอร์ด โค้ดก็มีลิงก์อยู่ในส่วน software เช่นกัน
ในระหว่างที่สร้างคีย์บอร์ดนี้ ผมเจอปัญหาบน PCB คือตอนออกแบบ ผมได้เชื่อมต่อ column และ row ผิดเข้าด้วยกัน เพราะความผิดพลาดนี้ ผมจึงต้องย้าย diode สำหรับ M Key ไปไว้ที่ปลายของ N Key diode
เมื่อทุกอย่างเข้าที่พร้อมใช้งาน ผมก็เสียบปลั๊ก และนี่ไงล่ะ—ผมกำลังพิมพ์ข้อความนี้ด้วย Je Sus 49
ก่อนที่คุณจะสร้างมัน
ก่อนที่คุณจะสร้างมัน ตรวจสอบให้แน่ใจว่าคุณมีหัวแร้ง, ปืนกาวร้อน และหากคุณต้องการใช้ดีไซน์เคสของผม ก็ต้องมี 3d printer ด้วย สำหรับ switches เนื่องจากผมขี้เกียจและเกือบจะโง่ ผมจึงตัดสินใจที่จะไม่ทำ integrated plate ซึ่งหมายความว่าสำหรับโปรเจกต์นี้ คุณจะต้องใช้ 5 pin switches :kekw:
นอกจากนี้ คำเตือนสำหรับผู้ใช้ส่วนใหญ่: หากคุณวางแผนที่จะใช้สิ่งนี้ในชีวิตประจำวัน ผมแนะนำว่าอย่าทำ เพราะการ optimization ที่ไม่ดี อาจทำให้คีย์บอร์ดกระตุกเป็นครั้งคราวได้ ผมแนะนำให้คุณทำตามขั้นตอนการสร้างนี้ก็ต่อเมื่อคุณพร้อมสำหรับการทดลอง หรือเต็มใจที่จะทิ้งเงินของคุณ
วิธีสร้างมัน
อย่างแรก คุณจะต้องสั่งซื้อ PCB คุณสามารถสั่งจากผู้ผลิตรายใดก็ได้ที่คุณต้องการ สำหรับโปรเจกต์นี้ ผมใช้ Jlcpcb แต่ผมได้ยินมาว่า Pcbway ก็เป็นอีกบริษัทที่ดี เมื่อคำสั่งซื้อถูกจัดส่งและคุณได้รับ PCBs แล้ว คุณจะต้องแยกมันออกจากกัน ในการแยก PCB แต่ละแผ่นออกจากกัน คุณสามารถหักมันด้วยคีมได้ เพียงแค่ตรวจสอบให้แน่ใจว่าตอนที่ทำนั้น เหลือรอยหักที่ค่อนข้างตรง เมื่อมี PCBs อยู่ในมือแล้ว คุณจะต้องบัดกรี components ลงไป
สิ่งแรกที่คุณต้องบัดกรีคือ diodes เมื่อบัดกรีลงในตำแหน่ง (D**) ตรวจสอบให้แน่ใจว่าส่วนสีดำที่ปลายของ diode ไม่ใช่ลวด อยู่บนด้านที่เป็นวงกลมของช่องเจาะออก ไม่ใช่ช่องเจาะสี่เหลี่ยม คุณจะต้องบัดกรีตัว diode ส่วนใหญ่ไว้ที่ด้านล่าง หรือด้านที่ไม่มีสัญลักษณ์ D** เพื่อให้ diodes อยู่กับที่ในขณะบัดกรี คุณสามารถงอสายไฟออกด้านนอกแล้วตัดออกหลังจากบัดกรีข้อต่อแล้ว
เมื่อบัดกรี diodes เสร็จแล้ว คุณจะต้องบัดกรี switches และขัน stabilizers เข้าไป สำหรับ stabilizers ตรวจสอบให้แน่ใจว่าลวดหันไปทางทิศใต้เข้าหาตัวคุณ สำหรับการบัดกรี switches ให้ทำเหมือนกับการประกอบปกติ
หลังจากทำตามขั้นตอนที่ 3 เสร็จแล้ว คุณจะต้องบัดกรี headers headers จะต้องเป็น right angle breakaway headers ที่มี 2.54mm pitch มิฉะนั้นจะใส่ไม่พอดีตามที่ควรจะเป็น เช่นเดียวกับ diodes ให้วางไว้ที่ด้านล่างของ PCB ไม่ใช่ด้านบน ขั้นตอนนี้ไม่รวม Arduino holder board หรือ PCB ที่เล็กที่สุด สำหรับส่วนนั้น คุณจะใช้ female breakaway headers สำหรับส่วนกลาง และ normal breakaway headers สำหรับรู pin ด้านนอก
ไม่บังคับ แต่แนะนำ... พิมพ์ไฟล์ .stl ที่อัปโหลดด้วย 3d printer และใช้ปืนกาวร้อนเชื่อมชิ้นที่หนึ่งและสองเข้าด้วยกัน และชิ้นที่สามและสี่แยกกัน
ติด PCBs ด้วยกาวในเคส เพราะผมขี้เกียจเกินกว่าที่จะเพิ่มรูสกรูให้คุณด้วย :kekw:
ใส่ keycaps แล้วก็ วาลา! คุณก็ได้สิ่งที่ผมอาจจะทำพังให้คุณอย่างสมบูรณ์แล้ว! หากคุณทำตามขั้นตอนทั้งหมดเสร็จสิ้นและสร้างคีย์บอร์ดที่ใช้งานได้สำเร็จ; ยอดเยี่ยมมากครับ หากมันไม่ทำงาน ผมได้บอกคุณตั้งแต่แรกแล้วว่าการสร้างโปรเจกต์นี้จะนำมาซึ่งความวุ่นวายเท่านั้น และด้วยเหตุนี้ มันจึงดีเฉพาะในกรณีที่คุณต้องการทิ้งเงินเท่านั้น แต่ถ้าคุณยังต้องการกู้คืนการสร้างนี้ คุณสามารถถามคำถามเกี่ยวกับเรื่องนี้ได้ ขอบคุณที่อ่านจนจบครับ
รูปภาพงานสร้างของผม: https://imgur.com/a/Mef4nJg
นี่คือวิดีโอที่ผมไม่ได้พิมพ์อะไรเลย: https://drive.google.com/file/d/1AcliDTR8SZzp95RXLky1kVAMtjV7TLt3/view?usp=sharing
รายละเอียดทางเทคนิคเพิ่มเติม
การสร้าง Custom MIDI Controller
"Je Sus 49" คือ 49-key MIDI keyboard ที่มีคุณสมบัติครบครัน ซึ่งออกแบบมาสำหรับการผลิตเพลงและการแสดง
- Switch Matrix Topology: ใช้ 7x7 matrix เพื่อสแกน 49 individual keys โดยใช้ Arduino pins เพียง 14 pins สิ่งนี้ช่วยให้มั่นใจได้ถึงการตอบสนองที่รวดเร็วแม้ในขณะเล่น polyphonic chord ที่ซับซ้อน
- Velocity Sensitivity Logic: (หากมี) วัดความแตกต่างของเวลาระหว่างจุดสัมผัสของ switch สองจุด เพื่อกำหนดว่าคีย์ถูกกด "แรง" แค่ไหน ซึ่งให้การควบคุมดนตรีที่แสดงออกได้
การผสานรวมกับ Studio
- USB-MIDI Interface: ทำหน้าที่เป็น class-compliant MIDI device เมื่อเสียบปลั๊กแล้ว ซอฟต์แวร์อย่าง Ableton Live หรือ Logic Pro จะจดจำว่าเป็นเครื่องดนตรีมืออาชีพได้ทันที