Mục lục:

Hãy xây dựng một SN76489 USB MIDI Synth với Arduino Nano: 7 bước
Hãy xây dựng một SN76489 USB MIDI Synth với Arduino Nano: 7 bước

Video: Hãy xây dựng một SN76489 USB MIDI Synth với Arduino Nano: 7 bước

Video: Hãy xây dựng một SN76489 USB MIDI Synth với Arduino Nano: 7 bước
Video: ZFM - Arduino based FM synth using the Mozzi library 2024, Tháng mười một
Anonim
Image
Image
Hãy xây dựng một SN76489 USB MIDI Synth với Arduino Nano
Hãy xây dựng một SN76489 USB MIDI Synth với Arduino Nano
Hãy xây dựng một SN76489 USB MIDI Synth với Arduino Nano
Hãy xây dựng một SN76489 USB MIDI Synth với Arduino Nano

Bạn đã bao giờ muốn xây dựng bộ tổng hợp của riêng mình dựa trên các giai điệu chip cũ từ những năm 80 chưa? Chơi những giai điệu đa âm đơn giản giống như những trò chơi điện tử Sega Master System và Megadrive cũ này nghe như thế nào?

Tôi có, vì vậy, tôi đã đặt mua một vài chip SN76489 từ ebay và giao diện máy chủ midi và đã thử. Chà, đó không phải là một cuộc đi dạo trong công viên đối với tôi, nhưng, tôi đã tận hưởng từng giây phút.

Đầu tiên, tôi đã học cách giao tiếp trực tiếp với SN76489 và tạo ra một số tiếng ồn với nó. Có một số yếu tố khó hiểu đối với điều này, nhưng với sự trợ giúp của The Oddbloke Geek Blog và một vài ví dụ khác, cùng với tài liệu đặc tả chip, tôi đã có thể phát triển một thư viện arduino đơn giản.

Tiếp theo, tôi phải học cách giao diện bàn phím midi với tấm chắn máy chủ mini USB. Điều này không quá khó, vì có một số tài liệu có sẵn và các thư viện tốt tồn tại với các ví dụ rõ ràng.

Khi tôi đã hiểu cách điều khiển chip và cách giao diện bàn phím USB midi của mình, việc duy nhất cần làm là viết một số mã sẽ kết hợp tất cả những điều này lại với nhau và cho phép tôi sử dụng bàn phím để điều khiển chip.

Trong quá trình đó, tôi biết được rằng âm thanh có tần số thấp hơn tần số mà tôi cố tạo ra cho các nốt midi 0x2f nghe không ổn, vì vậy, tôi quyết định sử dụng âm thanh đó để cho phép gửi tiếng ồn đến bộ tạo tiếng ồn cho bất kỳ nốt midi nào trong khoảng từ 0x28 đến 0x2f và cũng cho phép phát nốt nhạc với một liên lạc Ả Rập phương Đông với nó cho bất kỳ thứ gì thấp hơn midi 0x28.

Nhìn lại quá khứ, nó rất vui và rất thú vị khi xây dựng.

Tôi hy vọng bạn thấy nó vui vẻ và thú vị như tôi đã làm và nếu bạn tự xây dựng một cái, bạn sẽ đủ tử tế để chia sẻ một số hình ảnh về nó.

Nếu bạn thích dự án này, vui lòng bình chọn cho nó ở bên dưới để giúp giành chiến thắng trong cuộc thi mà nó tham gia

Quân nhu

Tôi đã thêm các liên kết đến vật liệu bạn có thể mua cho dự án này, tuy nhiên, bạn có thể tìm thấy nhiều mặt hàng có sẵn mà bạn có thể lấy từ các thiết bị điện tử cũ.

Các liên kết này là liên kết liên kết, vì vậy, nếu bạn mua hàng sau khi nhấp vào chúng, tôi sẽ nhận được một phần nhỏ (không phải gia tài) và bạn sẽ nhận được sản phẩm phù hợp với dự án này. Việc sử dụng chúng không mất phí hoặc thêm chi phí, tuy nhiên, bạn có thể tìm thấy bất kỳ vật phẩm tương tự nào có thể thay thế những thứ này khá dễ dàng.

ebay.us/svA4z4 | 1 x bảng hiệu suất

ebay.us/ZyEFNp | 1 x arduino nano

ebay.us/t1zy0v | 1 x lá chắn mini USB

ebay.to/2QrHl1C | 1 x chip âm thanh SN76489

ebay.us/aaaj8p | 1 x thanh ghi ca 595

ebay.us/DSvTHO | 1 x bộ dao động tinh thể 4MHz

ebay.us/XQeM0Q | Bộ điều chỉnh điện áp 1 x 5V 7805

ebay.us/6R6Fpf | 1 x tản nhiệt cho ổn áp

ebay.us/xkLbn4 | Tụ điện 3 x 10uF

ebay.us/pnm2BH | Dây điện

ebay.us/PMbUfY | 1 x đèn LED màu đỏ để cấp nguồn

ebay.us/zokHtc | 1 x 220 ohm điện trở để giới hạn dòng điện LED

ebay.us/qjbesJ | 1 x đầu nối nguồn cho nguồn điện 12v

ebay.us/cS0wwv | 1 x nút bật / tắt

một chiếc hộp phù hợp (tôi đã chế tạo chiếc hộp của mình từ một ngăn kéo cũ nằm trong kho của tôi trong nhiều năm)

Bước 1: Chuẩn bị USB Mini Host Shield để lái thiết bị 5V Midi

Chuẩn bị Tấm chắn Máy chủ Mini USB để Ổ đĩa Thiết bị Midi 5V
Chuẩn bị Tấm chắn Máy chủ Mini USB để Ổ đĩa Thiết bị Midi 5V

Vì lá chắn máy chủ mini USB hoạt động trên 3.3V và bàn phím USB midi tôi sử dụng yêu cầu 5V, nên cần phải điều chỉnh điện áp đầu ra của lá chắn bằng cách cắt đường 3.3V đi đến USB ra Vcc, vì vậy, sau này chúng tôi có thể kết nối nó đến 5V.

Có rất nhiều hướng dẫn về cách làm điều đó và nó hóa ra khá đơn giản:

Chỉ cần cắt đường dây giữa điện trở 2k2 và đường dây Vcc (xem hình ảnh kèm theo). Tôi đã sử dụng một trình điều khiển vít để làm xước đường này và kiểm tra xem nó có hoạt động với đồng hồ đo độ liên tục hay không.

Bước 2: Kết nối USB Mini Shield với Arduino Nano của bạn

Kết nối USB Mini Shield với Arduino Nano của bạn
Kết nối USB Mini Shield với Arduino Nano của bạn
Kết nối USB Mini Shield với Arduino Nano của bạn
Kết nối USB Mini Shield với Arduino Nano của bạn

May mắn thay, có rất nhiều thông tin về cách làm điều đó, vì vậy, bằng cách truy cập vào "Arduino Nano và tấm chắn máy chủ USB mini", tôi đã cập nhật chủ đề này

Nó mô tả cách kết nối lá chắn USB mini v2.0 và sau khi làm theo nó, tôi đã tiếp tục thử nghiệm một số ví dụ USB midi.

Hệ thống dây:

Lá chắn máy chủ Arduino

10--------------5

11--------------6

12--------------7

13--------------8

2----------------2

5 V -------------- 1

3,3V ------------ 9

GND ----------- 3

RST ------------ 4

Trong chủ đề này, nó cũng đã được đề cập rằng họ đã cắt dây dẫn 3.3V để USB có thể nhận được 5V từ VBUS.

Mô tả này và hình ảnh kèm theo đến từ chủ đề này.

BTW, có một lỗi in trên bảng này, vì vậy điều này hơi khó hiểu, tuy nhiên, bạn có thể xem phản hồi của tôi về điều đó (tyrkelko) và tôi đã học được nó từ đâu.

Bước 3: Chip có ai không? Thêm SN76489 Với 4MHz Osc. và 595 Đăng ký Shift

Chip Có ai không? Thêm SN76489 Với 4MHz Osc. và 595 Shift Register
Chip Có ai không? Thêm SN76489 Với 4MHz Osc. và 595 Shift Register

Bây giờ đã đến lúc thêm chip tạo ra âm thanh tuyệt vời này.

Tôi đã phát triển một thư viện để giao diện arduino với chip này và chỉ phải làm theo hướng dẫn của tôi.

Thư viện được phát hành trong github dưới GPLv3 (bản phát hành mã nguồn mở đầu tiên của tôi).

github.com/tyrkelko/sn76489

Kết nối của 76489 và 595 giống như trong hình ảnh kèm theo được chụp từ tệp thư viện readme.txt

Ghi cho phép khi ở mức thấp (NotWE) của 76489 được kết nối với chân 3 của nano và có thể được thay đổi trong mã.

#define PIN_NotWE 3

595 được kết nối với nano như sau và cũng có thể được điều chỉnh bằng cách chỉnh sửa số pin:

#define PIN_SER 7

#define PIN_LATCH 6

#define PIN_CLK 5

Bộ dao động tôi sử dụng là bộ dao động tinh thể 4MHz với 4 chân.

Nó được cấu hình trong mã như sau và bạn có thể điều chỉnh giá trị của nó thành bất kỳ tần số dao động nào trong khoảng từ 500kHz đến 4MHz:

#define FREQUENCY 4000000.0

Kết nối bộ dao động tôi đã sử dụng như sau:

chân 1 - không được kết nối

chốt 7 - mặt đất

chân 8 - kết nối với 76489 chân 14 - đồng hồ osc

Bước 4: Chỉ cần thêm mã - Thêm thư viện, biên dịch và tải lên mã

Các thư viện được sử dụng trong dự án này cần được thêm vào Arduino IDE như sau:

Mở Arduino IDE

Tải xuống các thư viện sau vào thư mục thư viện IDE của bạn (hy vọng sẽ sớm thấy các thư viện này trong menu "Quản lý thư viện…" trong menu "Công cụ" của IDE):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Sử dụng mã từ dự án github sau:

github.com/tyrkelko/usb_midi_tone

Tải xuống usb_midi_tone.ino, biên dịch và tải lên nano Arduino của bạn.

Bước 5: Kết nối Bộ khuếch đại và Loa, Kết nối Bàn phím Midi USB của bạn và Kiểm tra

Bây giờ là lúc để kiểm tra mọi thứ hoạt động.

Để làm được điều đó chúng ta cần:

1. Một bộ khuếch đại và loa

2. Bàn phím midi USB

Kết nối SN76489 chân 7, ngõ ra âm thanh, với ngõ vào âm thanh của bộ khuếch đại.

Bật nguồn cho bộ khuếch đại và sau đó bật nguồn arduino nano. Bây giờ bạn sẽ nghe thấy âm thanh kiểm tra nguồn điện trong tích tắc.

Kết nối bàn phím midi USB và kiểm tra.

Nếu mọi thứ hoạt động chính xác, bạn sẽ có thể phát đồng thời 3 âm, đồng thời có thể phát 8 loại nhiễu và thậm chí một phần tư âm của 24 EDO-Scale.

Nếu nó không hoạt động, hãy xem lại các bước để xem điều gì có thể đã xảy ra.

Nếu bạn cảm thấy kết quả này là do hướng dẫn không rõ ràng, vui lòng gửi cho tôi một ghi chú để tôi cập nhật hướng dẫn để khắc phục.

Bước 6: Hoàn thiện mạch với bộ điều chỉnh điện áp 5V, đầu nối 12V, công tắc bật / tắt nguồn và đèn LED nguồn

Trong bước này, bạn có thể quấn lại mạch sau khi kiểm tra nó hoạt động chính xác.

1. Thêm một bộ điều chỉnh nguồn có LM7805 và hai tụ điện 10uF và 0,1uF. Có rất nhiều hướng dẫn về điều này, bạn có thể sử dụng hướng dẫn sau để thực hiện điều đó -

2. Thêm đầu nối nguồn 12V với Vcc thông qua công tắc bật / tắt

3. Thêm một đèn LED có điện trở dòng giới hạn để cho biết khi nào nguồn được bật.

Bước 7: Đóng gói trong hộp, sơn và thưởng thức Synth mới của bạn

Khi mạch điện được kiểm tra và hoạt động theo ý bạn, không còn nhiều việc phải làm ngoại trừ việc xây dựng một vỏ bọc đẹp, hãy sơn nó với những màu sắc tuyệt vời và chơi một số bản nhạc.

Tôi hy vọng bạn thích đọc tài liệu hướng dẫn này và nó đã truyền cảm hứng cho bạn để xây dựng hệ thống của riêng bạn hoặc bắt đầu với một dự án khác mà bạn đang thực hiện.

Vui lòng bình luận bên dưới nếu bạn có bất kỳ câu hỏi nào và nếu bạn đã xây dựng bất kỳ điều gì tương tự dựa trên hướng dẫn này, sẽ thật tuyệt nếu bạn chia sẻ những gì bạn đã làm trong phần "Tôi đã làm điều này!" khu vực hoặc trong phần phản hồi.

Đề xuất: