Daftar Isi:

Mari Membangun Synth USB MIDI SN76489 Dengan Arduino Nano: 7 Langkah
Mari Membangun Synth USB MIDI SN76489 Dengan Arduino Nano: 7 Langkah

Video: Mari Membangun Synth USB MIDI SN76489 Dengan Arduino Nano: 7 Langkah

Video: Mari Membangun Synth USB MIDI SN76489 Dengan Arduino Nano: 7 Langkah
Video: Проект к 30-летию Mega Drive — MegaDrive++ Arduino MOD 2024, Juli
Anonim
Image
Image
Mari Membangun Synth USB MIDI SN76489 Dengan Arduino Nano
Mari Membangun Synth USB MIDI SN76489 Dengan Arduino Nano
Mari Membangun Synth USB MIDI SN76489 Dengan Arduino Nano
Mari Membangun Synth USB MIDI SN76489 Dengan Arduino Nano

Pernah ingin membuat synthesizer Anda sendiri berdasarkan chip-tune lama dari tahun 80-an? Mainkan nada polifonik sederhana yang terdengar seperti Sega Master System dan video game Megadrive lama ini?

Saya punya, jadi, saya memesan beberapa chip SN76489 dari ebay dan antarmuka host midi dan mencobanya. Yah, itu bukan jalan-jalan di taman untukku, tapi, aku menikmati setiap momennya.

Pertama saya belajar bagaimana menghubungkan SN76489 secara langsung dan membuat beberapa noise dengannya. Ada beberapa elemen yang membingungkan dalam hal ini, tetapi, dengan bantuan The Oddbloke Geek Blog dan beberapa contoh lainnya, bersama dengan dokumen spesifikasi chip saya dapat mengembangkan perpustakaan arduino sederhana.

Selanjutnya, saya harus mempelajari cara menghubungkan keyboard midi dengan pelindung host mini USB. Ini tidak terlalu sulit, karena ada beberapa dokumentasi yang tersedia, dan perpustakaan yang baik ada dengan contoh yang jelas.

Setelah saya mengerti bagaimana mengontrol chip dan bagaimana menghubungkan keyboard midi USB saya, satu-satunya yang tersisa untuk dilakukan adalah menulis beberapa kode yang akan membungkus semua ini bersama-sama dan memungkinkan saya menggunakan keyboard untuk mengontrol chip.

Sepanjang jalan, saya mengetahui bahwa suara dengan frekuensi lebih rendah daripada yang saya coba hasilkan untuk nada midi 0x2f tidak terdengar benar, jadi, saya memutuskan untuk menggunakannya untuk memungkinkan pengiriman noise ke generator kebisingan untuk nada midi apa pun antara 0x28 dan 0x2f dan juga memungkinkan memainkan not dengan sentuhan arab oriental untuk apa pun yang lebih rendah dari midi 0x28.

Melihat ke belakang, itu sangat menyenangkan dan sangat menarik untuk dibangun.

Saya harap Anda menganggapnya menyenangkan dan menarik seperti yang saya lakukan dan jika Anda membuatnya sendiri, Anda akan berbaik hati membagikan beberapa fotonya.

Jika Anda menyukai proyek ini, silakan pilih di bawah ini untuk membantu memenangkan kontes yang diikutinya

Perlengkapan

Saya telah menambahkan tautan ke materi yang dapat Anda beli untuk proyek ini, namun, Anda dapat menemukan banyak item yang tersedia yang dapat Anda kikis dari barang elektronik lama.

Tautan ini adalah tautan afiliasi, jadi, jika Anda membeli setelah mengkliknya, saya mendapatkan sebagian kecil (bukan keberuntungan) dan Anda mendapatkan produk yang tepat untuk proyek ini. Tidak ada biaya atau biaya tambahan dalam menggunakan ini, namun, Anda dapat menemukan barang serupa yang dapat menggantikannya dengan mudah.

ebay.us/svA4z4 | 1 x papan kinerja

ebay.us/ZyEFNp | 1x arduino nano

ebay.us/t1zy0v | 1 x USB mini perisai

ebay.to/2QrHl1C | 1 x SN76489 chip suara

ebay.us/aaaj8p | 1 x register geser 595

ebay.us/DSvTHO | 1 x osilator kristal 4MHz

ebay.us/XQeM0Q | 1 x 5V pengatur tegangan 7805

ebay.us/6R6Fpf |1 x heat sink untuk pengatur tegangan

ebay.us/xkLbn4 | 3 x 10uF kapasitor

ebay.us/pnm2BH | kabel

ebay.us/PMbUfY | 1 x LED merah untuk daya

ebay.us/zokHtc | 1 x 220 ohm resistor untuk membatasi aliran arus LED

ebay.us/qjbesJ | 1 x konektor daya untuk catu daya 12v

ebay.us/cS0wwv |1 x sakelar hidup/mati

kotak yang cocok (saya membuat milik saya dari laci tua yang telah disimpan di penyimpanan saya selama bertahun-tahun)

Langkah 1: Mempersiapkan USB Mini Host Shield untuk Menggerakkan Perangkat Midi 5V

Mempersiapkan USB Mini Host Shield untuk Menggerakkan Perangkat Midi 5V
Mempersiapkan USB Mini Host Shield untuk Menggerakkan Perangkat Midi 5V

Karena pelindung mini host USB beroperasi pada 3.3V dan keyboard midi USB yang saya gunakan membutuhkan 5V, maka diperlukan untuk menyesuaikan tegangan output pelindung dengan memotong jalur 3.3V yang masuk ke USB out Vcc, jadi, nanti kita dapat menghubungkannya ke 5V.

Ada banyak tutorial tentang cara melakukannya dan ternyata cukup sederhana:

Potong saja garis antara resistor 2k2 dan garis Vcc (lihat gambar terlampir). Saya menggunakan obeng untuk menggores garis ini dan menguji apakah itu berfungsi dengan pengukur kontinuitas.

Langkah 2: Hubungkan USB Mini Shield Dengan Arduino Nano Anda

Hubungkan Perisai Mini USB Dengan Arduino Nano Anda
Hubungkan Perisai Mini USB Dengan Arduino Nano Anda
Hubungkan Perisai Mini USB Dengan Arduino Nano Anda
Hubungkan Perisai Mini USB Dengan Arduino Nano Anda

Untungnya, ada banyak informasi tentang cara melakukannya, jadi, dengan googling untuk "Arduino Nano dan pelindung host mini USB" saya mendarat di utas ini

Itu menjelaskan cara menghubungkan pelindung USB mini v2.0 dan setelah mengikutinya, saya langsung menguji beberapa contoh midi USB.

Pengkabelan:

Perisai Host Arduino

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

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

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

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

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

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

3.3V -------------9

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

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

Di utas ini, disebutkan juga bahwa mereka memotong kabel 3.3V sehingga USB bisa mendapatkan 5V dari VBUS.

Deskripsi dan gambar terlampir ini berasal dari utas ini.

BTW, ada kesalahan pada cetakan di papan ini, jadi ini agak membingungkan, namun, Anda dapat melihat tanggapan saya tentang itu (tyrkelko) dan dari mana saya mempelajarinya.

Langkah 3: Keripik Siapapun? Menambahkan SN76489 Dengan Osc 4MHz. dan 595 Shift Register

Chip Siapa saja? Menambahkan SN76489 Dengan Osc 4MHz. dan 595 Shift Register
Chip Siapa saja? Menambahkan SN76489 Dengan Osc 4MHz. dan 595 Shift Register

Sekarang saatnya menambahkan chip yang menghasilkan suara luar biasa ini.

Saya telah mengembangkan perpustakaan untuk menghubungkan Arduino dengan chip ini dan hanya harus mengikuti instruksi saya.

Pustaka dirilis di github di bawah GPLv3 (rilis open source pertama saya).

github.com/tyrkelko/sn76489

Sambungan 76489 dan 595 seperti pada gambar terlampir yang diambil dari file readme.txt perpustakaan

Write Enable on Low (NotWE) dari 76489 terhubung dengan pin 3 nano dan dapat diubah dalam kode.

#define PIN_NotWE 3

595 terhubung ke nano sebagai berikut dan juga dapat disesuaikan dengan mengedit nomor pin:

#tentukan PIN_SER 7

#tentukan PIN_LATCH 6

#tentukan PIN_CLK 5

Osilator yang saya gunakan adalah osilator kristal 4MHz dengan 4 kaki.

Itu dikonfigurasi dalam kode sebagai berikut dan Anda dapat menyesuaikan nilainya ke frekuensi osilator apa pun antara 500kHz dan 4MHz:

#menentukan FREKUENSI 4000000.0

Menghubungkan osilator yang saya gunakan adalah sebagai berikut:

pin 1 - tidak terhubung

pin 7 - tanah

pin 8 - terhubung ke 76489 pin 14 - jam osc

Langkah 4: Cukup Tambahkan Kode - Menambahkan Perpustakaan, Mengkompilasi, dan Mengunggah Kode

Library yang digunakan dalam proyek ini perlu ditambahkan pada Arduino IDE sebagai berikut:

Buka Arduino IDE

Unduh pustaka berikut ke dalam folder pustaka IDE Anda (harap segera melihatnya di bawah menu "Kelola Perpustakaan…" di menu "Alat" IDE):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Gunakan kode dari proyek github berikut:

github.com/tyrkelko/usb_midi_tone

Unduh usb_midi_tone.ino, kompilasi dan unggah ke Arduino nano Anda.

Langkah 5: Hubungkan Amplifier dan Speaker, Hubungkan Keyboard Midi USB Anda dan Uji

Sekarang saatnya untuk menguji semuanya bekerja.

Untuk melakukan itu kita perlu:

1. Amplifier dan speaker

2. Keyboard midi USB

Hubungkan SN76489 pin 7, audio out, ke audio amplifier masuk.

Nyalakan amplifier dan kemudian hidupkan arduino nano. Anda sekarang akan mendengar suara uji penyalaan selama sepersekian detik.

Hubungkan keyboard midi USB dan uji.

Jika semuanya bekerja dengan benar, Anda seharusnya dapat memainkan 3 nada secara bersamaan, dan juga memainkan 8 jenis noise dan bahkan beberapa nada seperempat dari 24 EDO-Scale.

Jika tidak berhasil, ikuti langkah-langkahnya untuk melihat apa yang mungkin salah.

Jika Anda merasa ini hasil dari instruksi yang tidak jelas, harap beri saya catatan agar saya memperbarui instruksi untuk memperbaikinya.

Langkah 6: Lengkapi Sirkuit Dengan Regulator Tegangan 5V, Konektor 12V, Sakelar Hidup/Mati, dan LED Daya

Pada langkah ini Anda harus dapat menyelesaikan rangkaian setelah mengujinya agar berfungsi dengan benar.

1. Tambahkan pengatur daya dengan LM7805 dan dua kapasitor 10uF dan 0,1uF. Ada banyak tutorial tentang ini, Anda dapat menggunakan instruksi berikut untuk melakukannya -

2. Tambahkan konektor daya 12V dengan Vcc melalui sakelar hidup/mati

3. Tambahkan LED dengan resistor pembatas arus untuk menunjukkan saat daya menyala.

Langkah 7: Lampirkan dalam Kotak, Lukis dan Nikmati Synth Baru Anda

Setelah sirkuit diuji dan berfungsi sesuai keinginan Anda, tidak banyak yang harus dilakukan kecuali membangun penutup yang bagus, mengecatnya dengan warna yang mengagumkan, dan memainkan musik.

Saya harap Anda menikmati membaca instruksi ini, dan itu mengilhami Anda untuk membangun synth Anda sendiri atau memulai proyek lain yang sedang Anda kerjakan.

Silakan beri komentar di bawah jika ada pertanyaan dan jika Anda telah membuat sesuatu yang serupa berdasarkan tutorial ini, akan sangat bagus jika Anda membagikan apa yang telah Anda buat di bagian "Saya yang membuat ini!" daerah atau di bagian umpan balik.

Direkomendasikan: