Mục lục:

Bộ tổng hợp Micro Midi: 5 bước (có hình ảnh)
Bộ tổng hợp Micro Midi: 5 bước (có hình ảnh)

Video: Bộ tổng hợp Micro Midi: 5 bước (có hình ảnh)

Video: Bộ tổng hợp Micro Midi: 5 bước (có hình ảnh)
Video: CẢNH BÁO HÀNG GIẢ và nhận biết Micro Audio Technica AT2020 | Pustudio.vn 2024, Tháng mười một
Anonim
Bộ tổng hợp Micro Midi
Bộ tổng hợp Micro Midi
Bộ tổng hợp Micro Midi
Bộ tổng hợp Micro Midi
Bộ tổng hợp Micro Midi
Bộ tổng hợp Micro Midi

Tài liệu hướng dẫn này thể hiện việc sử dụng VLSI VS1053b Audio và chip Midi DSP trong chế độ Midi thời gian thực của nó. Trong chế độ này, nó hoạt động như một bộ tổng hợp 64 âm thanh GM (General Midi) Midi. Một vi mô độc lập Arduino Uno điều khiển màn hình OLED, ba nút (Chọn chức năng và Lên hoặc Xuống, và chuyển luồng dữ liệu Midi tới DSP âm thanh. Bảng nhạc được chọn là bảng đột phá codec Adafruit VS1053, nhưng bảng ngắt âm nhạc Sparkfun cũng đã được thử nghiệm thành công. Các thư viện Adafruit VS1053b đã được sử dụng thay vì Thư viện SFEMP3 lớn hơn nhiều (được Sparkfun khuyến nghị mặc dù chúng cũng có bộ thư viện riêng), vì tôi thấy mã Adafruit dễ hiểu hơn.

Hầu hết mã được sử dụng để điều khiển DSP âm thanh / midi được phát triển bằng cách sử dụng Arduino Uno được kết nối với bảng đột phá âm thanh / midi thông qua một breadboard. Sau khi các chức năng được tìm thấy hoạt động tốt, Uno được sử dụng như một lập trình viên cho ATmega 328 độc lập, sau đó được đặt trên một Veroboard kích thước nhỏ 30x20 cùng với IC cách ly quang 6N139 được yêu cầu trên ổ cắm đầu vào Midi (DIN 5 chân). Ngoài ra còn được kết nối với một tấm chắn OLED nhỏ (64x48), ba nút, một đèn LED hoạt động Midi và một đầu nối thùng +5 volt cho nguồn và thêm đầu nối đầu ra âm thanh nổi. Các yêu cầu về điện năng rất khiêm tốn - khoảng 20 mA ở 5 volt.

Bước 1: Danh sách bộ phận

ATmega328 Micro 28 pin DIP + 28 pin DIP socket6N138 hoặc 6N139 optoisolator + 4 pin DIP socketWemos 64x48 I2C OLED Display hoặc tương tựBảng ngắt Codec VS1053b Ổ cắm để kết nối với bộ khuếch đại hoặc tai nghe Điện trở: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm. bởi 16 cột), vỏ bằng nhựa ABS khoảng 85x55x25mm, hệ thống dây điện và một vài đai ốc và vòng đệm.

Bước 2: Thi công

Sự thi công
Sự thi công
Sự thi công
Sự thi công
Sự thi công
Sự thi công

Nắp của hộp chứa Màn hình OLED, ba nút được gắn trên một miếng Veroboard nhỏ khác và đầu nối nguồn của thùng. Bảng mạch Vero chính có hai lỗ để sửa bảng đột phá Âm nhạc phía trên ATmega328. Để biết chi tiết kết nối, vui lòng tham khảo sơ đồ bảng mạch Fritzing.

ATmega328 được lập trình (vui lòng tham khảo phần tiếp theo để biết mã) sau đó được đưa vào ổ cắm của nó, tiếp theo là 6N139 và mọi thứ được kết nối.

Đèn LED được sử dụng như một chỉ báo hoạt động Midi và được gắn ở mặt trước của vỏ bọc. Nó được kết nối với đầu ra D2 của ATmega328 thông qua điện trở 470 ohm.

Màn hình OLED sử dụng đầu ra 3,3 volt từ bảng Adafruit để cấp nguồn - nó yêu cầu ít hơn 20 mA.

Hãy thử hoán đổi hai kết nối Midi Din nếu bạn không nghe thấy bất kỳ âm thanh nào khi lần đầu tiên sử dụng synth.

Bước 3: Phần mềm

Chi tiết về bản phác thảo sẽ được tải lên ATmega328 được cung cấp trong MidA.ino. Có bảy chức năng có sẵn:

Tùy chọn P: Thay đổi Chương trình - thay đổi Nhạc cụ GM Midi từ 1 thành 128 (tôi đã sử dụng 0 thành 127) chẳng hạn như âm thanh Piano hoặc Synth. Tùy chọn B: Thay đổi ngân hàng Nhạc cụ giữa Melodic (Ngân hàng 0) và Bộ gõ (Ngân hàng 1). Tùy chọn V: Điều chỉnh âm lượng từ 1 đến 10. Tùy chọn C: Thay đổi kênh Midi mà Synth sẽ phản hồi. Các lựa chọn là Kênh 0, kênh 1, kênh 9 (bộ gõ), kênh 0 và 9 và kênh 1 và 9. Tùy chọn R: Bật hoặc tắt hiệu ứng Reverb. Tùy chọn S: Lưu các thông số hiện tại vào bộ nhớ Eeprom (Lên) hoặc Đọc (Xuống) nó trở lại từ bộ nhớ Eeprom. Điều này là do các cài đặt không được lưu khi tắt nguồn. Tùy chọn X: Gửi thông báo tắt tất cả ghi chú (Đặt lại giữa).

Tùy chọn thứ tám vẫn chưa được triển khai - điều này sẽ bỏ qua ATmega làm bộ lọc Midi và kết nối đầu ra của bộ lọc quang trực tiếp với chân Rx của bảng DSP.

Lưu ý rằng VS1053b khởi động ở chế độ Midi thời gian thực bằng cách tải bản vá nén 1039 byte trong khi khởi động - điều này cũng làm tăng kích thước của bộ đệm Midi và lọc các byte dữ liệu Midi độc quyền của hệ thống. Thông tin chi tiết về bản vá này có thể được tìm thấy trên trang web của VLSI.

Một phiên bản sửa đổi nhẹ của thư viện Adafruit Graphics đã được sử dụng để phục vụ cho độ phân giải 64x48 pixel của Màn hình OLED - vui lòng tham khảo các liên kết được cung cấp ở cuối cho Mr Mcauser. Danh sách các thư viện cần thiết được đưa ra trong mã phác thảo.

Điều quan trọng là khi phác thảo được thực thi lần đầu tiên trên ATmega328 cho dù là trên Uno hay độc lập, mã sẽ tải các cài đặt trước tham số từ ATmega328 Eeprom có thể không hợp lệ. Trong trường hợp đó, bạn có thể ghi tất cả các số 0 vào Eeprom bằng cách sử dụng tùy chọn X với nút xuống hoặc nhận xét dòng trong chức năng thiết lập void tải các giá trị từ Eeprom khi nó được khởi động lần đầu, điều chỉnh nhạc cụ của bạn, v.v. thích, và sau đó lưu các cài đặt trước của bạn bằng nút S option Up.

Tín dụng được cấp cho tất cả những người và thực thể được đề cập cho mã và thư viện của họ..

Bước 4: Liên kết

VLSI:

Adafruit:

Github VS1053b:

Đồ họa Github:

Oled:

Sparkfun:

Bước 5: Sử dụng Bảng Sparkfun Với Thư viện Adafruit

Sử dụng bảng Sparkfun với thư viện Adafruit
Sử dụng bảng Sparkfun với thư viện Adafruit

Bảng trong hình giải thích cách kết nối Adafruit hoặc Sparkfun Music Boards để sử dụng một thư viện khác.

Đề xuất: