MIDI88: Bàn phím MIDI 88 phím dùng switch MX
Controller MIDI piano 88 phím in 3D, dùng switch MX và đi dây handwired, scan ma trận 13x8 với SN74HC595N, điều khiển bằng RP2040 và firmware QMK. In được trên máy khổ Ender 3.
Mô tả
Đây là một controller MIDI piano 88 phím “full-size”* có thể in trên máy in khổ tiêu chuẩn (Ender 3 và các bản clone, hoặc lớn hơn).
Nó áp dụng các kỹ thuật làm bàn phím cơ, chủ yếu gồm:
- Thiết kế cho switch kiểu MX (Gateron v3 yellow G Pro, hoặc các loại linear khác);
- Khoảng cách giữa các switch là chuẩn 19.05mm (1u) theo cả ngang và dọc;
- Dự kiến đi dây kiểu handwired dùng diode (1N4148 trong trường hợp của mình);
- Phím được bố trí theo ma trận 13 hàng x 8 cột;
- Cột được scan bằng một cặp shift register SN74HC595N;
- Bàn phím được điều khiển bởi board phát triển kiểu ProMicro (RP2040);
- Phần mềm dựa trên QMK (và thiệt sự bạn có thể gõ chữ bằng món này luôn =D).
*full-size - nghĩa là có đầy đủ tất cả phím như piano tiêu chuẩn. Bản thân mỗi phím có bề rộng 19.05mm, tính cả khe hở. Chuẩn piano là 13.7 mm (0.54 in) cho phím đen, và 23.5 mm cho phím trắng.
Danh sách vật tư bao gồm:
- 88 x switch phím kiểu MX;
- 88 x diode 1N4148 (hoặc tương đương);
- 2 x shift register SN74HC595N;
- 44 x ốc M3x10mm;
- 44 x insert ren nhiệt M3x5mm;
- 32 x ốc M2x12mm;
- 32 x insert ren nhiệt M2x5mm (hoặc dài hơn);
- ~1.5kg filament (rất khuyến nghị PETG);
- 1 x development board tương thích QMK với tối thiểu 11 GPIO (hoặc mua cái này, rồi dùng code của mình);
- 1 x PCB prototyping (thiết kế của mình dùng loại 20x80mm, cắt nhẹ để vừa giữa các trụ);
- 1 x cáp USB để nối PCB với thiết bị (bạn sẽ phải cắt đôi dây để luồn qua vỏ);
- Dây nhỏ, lõi đơn (single strand), thiếc hàn và ống co nhiệt. Mình dùng chỉ và làm theo video này để bó dây cho gọn. Rất đáng làm.
Mình đã chia các file .stl vào từng thư mục riêng. Tên file chắc cũng đủ dễ hiểu, nhưng để chắc ăn:
- Mỗi file .stl chỉ cần in 1 lần;
- Các phần khung được đánh dấu (L)ower và (U)pper. Phần upper sẽ nằm về phía có phím đen;
- Các phím dùng chung 1 file .stl: 52 x phím trắng, 36 x phím đen;
- Bạn có thể chọn tấm đáy trơn hoặc loại có QR code.
- Các miếng inlay dày 0.2 - 0.4mm là để dùng theo hướng dẫn Cura in nhiều màu sau đây.
Mình khuyên nên kiểm tra lỗ bằng mũi khoan. Bạn có thể khoan xuyên các lỗ trên khung để tránh vật liệu bị dồn ở các góc khuất.
Sơ đồ mạch có trong phần ảnh. Nhớ thông gió, dùng đồng hồ đo (multimeter), dây nhỏ và flux-core solder.
Về phần mềm, mình phải sửa QMK khá nhiều phần không hề đơn giản để tất cả phím đều chạy, vì mặc định nó chỉ hỗ trợ tối đa 5 quãng tám. Mình đã đính kèm file .uf2 cho RP2040 ở bên dưới (bỏ đuôi .txt trong tên file).
UPD: QMK fork hiện đã có tại https://github.com/thisgradi/qmk_firmware (keyboards/bfb/midi88)
UPD: Đã thêm phiên bản phím thứ hai. Tỉ lệ bề rộng thu nhỏ đúng chuẩn. Chênh lệch chiều cao giữ nguyên (không thu nhỏ) để cảm giác gần với piano thật nhất có thể trên nền thiết kế này.
Dự án này mình làm cũng tốn kha khá công, và hy vọng sẽ được mọi người quan tâm. Bàn phím hoàn thiện cho cảm giác cứng cáp hơn một số synth, và với chiều dài 900mm+, độ vặn xoắn chắc chắn ít hơn bàn phím màng (membrane). Rộng hơn mặt đàn guitar một chút, mình nghĩ cũng có thể dùng làm nền cho keytar. Mình cố ý chừa chỗ để gắn pot và/hoặc mạch synth digital.
Mình rất trân trọng các bình luận, bản in thực tế (makes), và quan trọng nhất là sự quan tâm của bạn với các nền tảng mình đã đưa vào QR code. Từ Ukraine, gửi tình cảm. Cảm ơn.
Giấy phép
File mô hình
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!