Mục lục:
Video: Arduino Uno Midi Fighter: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Tài liệu hướng dẫn này được tạo ra để đáp ứng yêu cầu dự án của Makecourse tại Đại học Nam Florida (www.makecourse.com)
Dựa trên MidiFighter phổ biến của DJ Techtools, bộ điều khiển Giao diện Kỹ thuật số Nhạc cụ (MIDI) được hỗ trợ bởi Arduino tự chế này có thể được sử dụng như một thiết bị MIDI trên bất kỳ phần mềm Máy trạm Âm thanh Kỹ thuật số (DAW) nào. Bộ điều khiển MIDI có thể gửi và nhận tin nhắn MIDI từ máy tính và có thể được sử dụng để điều khiển trực tiếp bất kỳ phần mềm nào đang được sử dụng. Ngoài ra, các điều khiển trên bộ điều khiển MIDI hoàn toàn có thể tùy chỉnh - nghĩa là từng nút, thanh trượt và núm riêng biệt có thể được ánh xạ tới bất kỳ chức năng nào trong DAW. Ví dụ: nhấn một nút có thể phát một ghi chú cụ thể hoặc được lập trình để chuyển đổi nhịp độ của dự án âm thanh của bạn.
github.com/jdtar/Arduino-Midi-Controller
Bước 1: Vật liệu
Dưới đây là danh sách các vật liệu và công cụ được sử dụng trong dự án này.
Arduino Uno
Breadboard
Bộ ghép kênh 4051/4067
Dây nhảy
Dây phụ
Chiết áp trượt tuyến tính 2x 10k ohm
Các nút 16x Sanwa 24mm
Co nhiệt
Sắt hàn
Lưỡi dao cạo
Điện trở 4,7 kΩ
Tấm acrylic (cho nắp)
Vỏ cho các nút và Arduino
máy in 3D
Máy cắt laser
Bước 2: Thiết kế
Tôi đã được cung cấp vỏ cho bộ điều khiển MIDI của mình trước khi bắt đầu dự án, vì vậy tôi đã tạo ra một bản phác thảo cho nắp để hình dung vị trí mọi thứ sẽ được đặt. Tôi biết rằng tôi muốn có ít nhất 16 nút và một vài chiết áp như một tính năng nên tôi đã cố gắng bố trí các thành phần càng đồng đều càng tốt.
Sau khi vẽ bố cục cho nắp, tôi xuất tệp dưới dạng PDF 1: 1 và gửi đến máy cắt laser để cắt một tấm acrylic. Đối với các lỗ vít, tôi đánh dấu vị trí mà tôi muốn các lỗ đó bằng bút đánh dấu và nấu chảy acrylic bằng dây tóc nóng.
Đính kèm là tệp PDF 1: 1 có thể được in ra dưới dạng 1: 1 và cắt bằng dụng cụ điện nếu không có máy cắt laser.
Bước 3: Thi công và đi dây
Sau khi cắt lớp acrylic, tôi phát hiện ra rằng lớp acrylic quá mỏng để có thể nâng đỡ tất cả các thành phần một cách đầy đủ. Sau đó, tôi cắt ra một tờ khác và dán chúng lại với nhau và tình cờ hoạt động hoàn hảo.
Việc đấu dây các thành phần đã thực hiện một số thử nghiệm và sai sót nhưng kết quả là bản phác thảo Fritzing được đính kèm. Đầu tiên tôi nối dây nối đất và điện trở 4,7kΩ, hàn và nhiệt làm co các kết nối trên các nút. Gắn hai chiết áp trượt cần có lỗ nóng chảy cho các vít trong acrylic. Sau khi hai chiết áp được vặn vào, chúng được nối với các chân analog A0 và A1. Sau khi nối dây xong, tôi nhớ rằng không có nắp núm nào cho các bộ điều khiển của tôi nên thay vì mua chúng, tôi đã in một số nắp núm bằng máy in 3-D bằng cách phác thảo nó trong Autodesk Fusion 360 và xuất sang tệp STL. De
Arduino Uno chỉ có 12 chân đầu vào kỹ thuật số có sẵn nhưng 16 nút phải được nối dây. Để bù đắp cho điều này, tôi đã kết nối Bộ ghép kênh 74HC4051 trên bảng mạch sử dụng 4 chân đầu vào kỹ thuật số và cho phép nhiều tín hiệu sử dụng đường truyền chia sẻ, dẫn đến 8 chân đầu vào kỹ thuật số có sẵn với tổng số 16 chân kỹ thuật số có sẵn để sử dụng.
Việc đấu dây các nút vào đúng các chân chỉ đơn giản là tạo ma trận 4x4 và sử dụng ma trận đó trong mã. Tuy nhiên, phần khó khăn là bộ ghép kênh cụ thể đã mua có bố cục ghim cụ thể mà biểu dữ liệu đã hỗ trợ và tôi cũng đã lưu ý đến bố cục ghi chú cụ thể khi nối dây các nút mà cuối cùng trông giống như sau:
LƯU Ý MATRIX
[C2] [C # 2] [D2] [D # 2]
[G # 2] [A1] [A # 2] [B1]
[E1] [F1] [F # 1] [G1]
[C2] [C # 2] [D2] [D # 2]
MATRIX PIN (M = MUX INPUT)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Bước 4: Lập trình
Khi quá trình lắp ráp hoàn tất, việc lập trình Arduino là tất cả những gì còn lại. Tập lệnh đính kèm được viết theo cách có thể dễ dàng tùy chỉnh.
Phần đầu của tập lệnh bao gồm thư viện MIDI.h và thư viện bộ điều khiển được mượn từ blog Notes và Volts, cả hai đều được bao gồm trong tệp zip cho mã. Sử dụng thư viện bộ điều khiển, có thể tạo các đối tượng cho các nút, chiết áp và các nút ghép có chứa các giá trị dữ liệu bao gồm số nốt, giá trị điều khiển, tốc độ nốt, số kênh MIDI, v.v. Thư viện MIDI.h cho phép giao tiếp MIDI I / O trên Các cổng nối tiếp Arduino lần lượt lấy dữ liệu từ các đối tượng bộ điều khiển, chuyển đổi chúng thành thông điệp MIDI và gửi thông báo đến bất kỳ giao diện midi nào được kết nối.
Phần thiết lập void của tập lệnh khởi tạo tất cả các kênh khi tắt và cũng bắt đầu kết nối nối tiếp ở tốc độ 115200 baud, tốc độ nhanh hơn so với tín hiệu MIDI đang được trao đổi.
Vòng lặp chính về cơ bản lấy các mảng các nút và các nút được ghép lại và chạy một vòng lặp for để kiểm tra xem nút đã được nhấn hoặc nhả hay chưa và gửi các byte dữ liệu tương ứng đến giao diện midi. Vòng lặp chiết áp kiểm tra vị trí của chiết áp và gửi các thay đổi điện áp tương ứng trở lại giao diện midi.
Bước 5: Thiết lập
Sau khi tập lệnh được tải vào Arduino, bước tiếp theo là cắm và chạy. Tuy nhiên, có một vài bước trước khi nó có thể được sử dụng.
Trên OSX, Apple đã kết hợp một tính năng để tạo các thiết bị midi ảo có thể được truy cập thông qua ứng dụng Audio Midi Setup trên máy Mac. Khi thiết bị mới đã được tạo, MIDI không có lông có thể được sử dụng để tạo kết nối nối tiếp giữa Arduino và thiết bị midi ảo mới. Kết nối nối tiếp từ Arduino qua MIDI không có lông hoạt động ở tốc độ truyền được xác định trong phần thiết lập void của tập lệnh và phải được đặt tương đương trong cài đặt tùy chọn MIDI không có lông.
Với mục đích thử nghiệm, tôi đã sử dụng Midi Monitor để kiểm tra xem dữ liệu chính xác đang được gửi có nghĩ là kết nối MIDI nối tiếp hay không. Khi tôi xác định rằng tất cả các nút đã gửi đúng dữ liệu qua các kênh chính xác, tôi thiết lập tín hiệu MIDI để định tuyến đến Ableton Live 9 dưới dạng Đầu vào MIDI. Trong Ableton, tôi có thể vạch ra các mẫu âm thanh được cắt theo từng nút và phát từng mẫu.
Đề xuất:
Động cơ bước điều khiển MIDI với chip tổng hợp kỹ thuật số trực tiếp (DDS): 3 bước
Động cơ bước điều khiển MIDI với chip tổng hợp kỹ thuật số trực tiếp (DDS): Đã bao giờ bạn có ý tưởng tồi rằng bạn CHỈ phải biến thành một dự án nhỏ? Chà, tôi đang chơi với một bản phác thảo mà tôi đã thực hiện cho Arduino Due nhằm mục đích tạo ra âm nhạc bằng mô-đun Tổng hợp kỹ thuật số trực tiếp (DDS) AD9833 … và tại một số điểm tôi nghĩ & q
Âm thanh bay bổng với Arduino Uno Từng bước (8 bước): 8 bước
Acoustic Levitation With Arduino Uno Step-by-by-by (8 bước): bộ chuyển đổi âm thanh siêu âm L298N Dc cấp nguồn cho bộ chuyển đổi âm thanh nữ với chân cắm một chiều nam Arduino UNOBreadboard Cách hoạt động: Đầu tiên, bạn tải mã lên Arduino Uno (nó là một vi điều khiển được trang bị kỹ thuật số và các cổng tương tự để chuyển đổi mã (C ++)
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
Arduino-UNO, Massduino-UNO mạnh mẽ hơn: 9 bước
Arduino-UNO mạnh mẽ hơn, Massduino-UNO: Massduino là gì? Massduino là một dòng sản phẩm mới, kết hợp thiết bị ngoại vi nền tảng Arduino-phong phú, thuận tiện và phát triển nhanh chóng, chi phí thấp và dễ sản xuất với lợi thế sản xuất quy mô lớn. Hầu như tất cả mã Arduino đều có thể là
Bộ điều khiển ánh sáng dải LED MIDI 5V cho Spielatron hoặc MIDI Synth khác: 7 bước (có hình ảnh)
Bộ điều khiển ánh sáng dải LED MIDI 5V cho Spielatron hoặc Bộ điều khiển MIDI khác: Bộ điều khiển này nhấp nháy đèn dải LED ba màu trong 50mS mỗi nốt. Màu xanh cho G5 đến D # 6, màu đỏ cho E6 đến B6 và màu xanh lá cây cho C7 đến G7. Bộ điều khiển là thiết bị ALSA MIDI để phần mềm MIDI có thể xuất ra các đèn LED cùng lúc với thiết bị tổng hợp MIDI