Daftar Isi:

Chip Suara Retro Dengan Arduino - SAA1099: 16 Langkah (dengan Gambar)
Chip Suara Retro Dengan Arduino - SAA1099: 16 Langkah (dengan Gambar)

Video: Chip Suara Retro Dengan Arduino - SAA1099: 16 Langkah (dengan Gambar)

Video: Chip Suara Retro Dengan Arduino - SAA1099: 16 Langkah (dengan Gambar)
Video: SAA1099 & Arduino - How to DIY 2024, November
Anonim
Image
Image
Pengkabelan - SAA1099
Pengkabelan - SAA1099

Dalam instruksi ini, saya akan menunjukkan kepada Anda cara menggunakan Arduino Uno dengan chip sintesis suara antik, untuk memutar file midi dalam kebaikan bergelombang persegi!

Jika Anda hanya ingin gambaran singkat tentang apa yang dilakukan proyek ini, tonton video di atas. Jika tidak, lanjutkan!

Langkah 1: Video

Image
Image

Jika Anda lebih suka semua instruksi Anda dalam video yang jelas dan ringkas, kami siap membantu Anda!

Untuk kita semua, Anda dapat melanjutkan, untuk sedikit lebih detail, dan instruksi tertulis.

Langkah 2: Bagian dan Bahan

Untuk ini, Anda memerlukan hal-hal ini:

(Tautan untuk item eBay)

  • Arduino (Uno, Nano, Leonardo, semuanya harus berfungsi)
  • Setidaknya papan tempat memotong roti berukuran sedang
  • Chip Generator Suara Stereo SAA1099
  • Kabel jumper papan tempat memotong roti (Atau, saya suka menggunakan jumper dupont female ke female, dengan pin header 20mm dimasukkan di kedua ujungnya- Jauh lebih kuat)
  • Osilator TTL 8Mhz (tautan AliExpress disediakan oleh zweigelt)
  • Jack Audio Stereo (atau mono)
  • 2 x 1K resistor (Banyak 100)
  • 1 x 10K resistor (Banyak 50)
  • 2 x 100pF Kapasitor
  • (Opsional) Beberapa LED, setidaknya 1 (Warna apa saja, ini 100 warna berbeda untuk satu dolar!)

Menggunakan tautan yang disediakan, total biaya adalah $23,25, termasuk pengiriman. Tentu saja, sebagian besar berasal dari belahan dunia lain, jadi pengiriman biasanya memakan waktu sekitar satu bulan. Jika Anda ingin pengiriman lebih cepat, Anda mungkin harus membayar sedikit lebih mahal.

Langkah 3: Pengkabelan - SAA1099

Pengkabelan - SAA1099
Pengkabelan - SAA1099
Pengkabelan - SAA1099
Pengkabelan - SAA1099

Jika skema adalah hal Anda, ini dia! Kita semua bisa melalui langkah demi langkah, atau menonton video.

  • Tempatkan SAA1099 di ujung papan tempat memotong roti, dengan takik pada chip menghadap ke ujung.
  • Sekarang, kekuatan. VDD (pin 18) pada SAA1099 menyala, lalu pin VSS (pin 9) ke ground.
  • Selanjutnya, letakkan kabel di antara CS (pin 2) dan ground, agar tetap ditarik rendah

Saya juga merekomendasikan untuk melihat lembar data, yang telah saya lampirkan.

Langkah 4: Pengkabelan - Osilator TTL

Pengkabelan - Osilator TTL
Pengkabelan - Osilator TTL
Pengkabelan - Osilator TTL
Pengkabelan - Osilator TTL
  • Kami akan meletakkan TTL Oscillator pada breadboard di sebelah breadboard, sehingga pin output clock paling dekat dengan input clock pada SAA1099 (Pin 8)
  • Anda dapat melanjutkan dan menghubungkan daya dan ground ke osilator TTL. (Saya menunggu sampai nanti di video saya, jadi saya tidak punya gambar). Gambar di atas menunjukkan pin yang mana.

Langkah 5: Pengkabelan - Antarmuka Iref dan Chip

Pengkabelan - Antarmuka Iref dan Chip
Pengkabelan - Antarmuka Iref dan Chip
Pengkabelan - Antarmuka Iref dan Chip
Pengkabelan - Antarmuka Iref dan Chip
  • Hubungkan resistor 10K antara Iref (pin 6) dan 5V.
  • Hubungkan pin digital 8 ke WR (pin 1) pada SAA1099.
  • Hubungkan pin digital 9 ke A0 (pin 3) pada SAA1099.

Langkah 6: Pengkabelan - Komponen Suara

Pengkabelan - Komponen Suara
Pengkabelan - Komponen Suara
Pengkabelan - Komponen Suara
Pengkabelan - Komponen Suara
Pengkabelan - Komponen Suara
Pengkabelan - Komponen Suara
  • Hubungkan kapasitor 100pF antara OUTR (pin 4) dan GND
  • Hubungkan resistor 1K antara OUTR (pin 4) dan 5V
  • Kami akan melakukan hal yang sama untuk OUTL (pin 5)
  • Hubungkan kapasitor 100pF antara OUTL (pin 5) dan GND
  • Hubungkan resistor 1K antara OUTL (pin 5) dan 5V

Catatan! Pastikan tidak ada kabel dari resistor/kapasitor yang bersentuhan, jika tidak, barang tidak akan berfungsi, dan (sementara) berpotensi meledak di wajah Anda.

Langkah 7: Pengkabelan - Jack Audio

Pengkabelan - Jack Audio
Pengkabelan - Jack Audio
Pengkabelan - Jack Audio
Pengkabelan - Jack Audio
Pengkabelan - Jack Audio
Pengkabelan - Jack Audio
  • Hubungkan kabel jumper kecil antara 5V dan baris kosong di papan tempat memotong roti.
  • Tempatkan jack audio Anda, sehingga jumper dari 5V terhubung ke pin "Sleeve" pada Audio Jack
  • Hubungkan L dan R (Atau pin Audio, jika Anda memiliki jack Mono) ke pin OUTL (pin 5) dan OUTR (pin 4) masing-masing pada SAA1099.

Catatan! Pada jack audio Mono, tidak masalah apa yang terjadi, selama satu pin terhubung ke 5V, dan satu ke OUTL atau OUTR. Ini akan terdengar baik-baik saja. Kecuali tidak, dalam hal ini Anda mungkin ingin memeriksa kabel Anda lagi.

Langkah 8: Pengkabelan - Daya ke Breadboard

Pengkabelan - Daya ke papan tempat memotong roti
Pengkabelan - Daya ke papan tempat memotong roti
Pengkabelan - Daya ke papan tempat memotong roti
Pengkabelan - Daya ke papan tempat memotong roti
  • Hubungkan kedua sisi bus daya Breadboard satu sama lain, menggunakan kabel jumper.
  • Hubungkan satu sisi ke pin 5V dan GND di Arduino, pastikan Anda tidak mencampur kabel di mana pun. Jika Anda melakukannya, asap ajaib dapat keluar.

Langkah 9: Pengkabelan - Jalur Data

Pengkabelan - Jalur Data
Pengkabelan - Jalur Data

Hubungkan D0 hingga D7 pada Arduino ke D0 (pin 10) hingga D7 (pin 17) pada SAA1099, secara berurutan

Saya menemukan bahwa kabel jumper wanita-wanita DuPont, dengan pin header 15-20MM di kedua ujungnya, bekerja jauh lebih baik daripada kabel dupont pria-pria. Plus Anda juga dapat menggunakannya sebagai female-female, atau male-female. Keduanya mudah ditemukan di eBay dalam jumlah besar, untuk sejumlah kecil uang kembalian. Hadiah Natal yang bagus untuk calon pecandu Arduino!

Langkah 10: LED opsional

LED opsional
LED opsional
LED opsional
LED opsional

Saya tidak akan membahas langkah demi langkah bagaimana membangun semuanya di sini, tetapi ada beberapa tempat yang bagus untuk menambahkan LED. Pertama-tama, saya menghubungkan LED merah 3mm antara WR (pin 1) dan GND, untuk menunjukkan setiap kali Arduino mengirimkan perintah ke SAA1099.

Saya juga telah menghubungkan LED ke jalur data sebelumnya, yang memungkinkan Anda melihat data biner aktual di setiap baris. Saya menggunakan pengaturan ini dalam video "Arduino dan SAA1099 - Fireflies" saya, serta 6 LED lagi dan beberapa kode tambahan untuk menyalakan setiap LED untuk setiap saluran yang aktif.

Semakin banyak LED, semakin keren tampilannya!

Langkah 11: Kode

Kode!
Kode!
Kode!
Kode!

Sekarang setelah Anda membangun sirkuit, periksa kembali koneksi! Anda tidak ingin meledakkan arduino dan Soundchip mahal Anda! (Jika Anda melakukannya, yah. Itu bukan urusan saya)

Dengan asumsi Anda waras dan telah memeriksa semuanya, kami dapat mulai memprogramnya.

  • Perpustakaan ada di
  • Anda akan menginginkan file SAATunes.zip, jadi silakan dan unduh itu.
  • Sekarang, buka Arduino IDE.
  • Di bawah "Sketsa", "Sertakan Perpustakaan", klik "Tambahkan perpustakaan.zip"
  • Arahkan ke mana pun Anda mengunduh perpustakaan SAATunes. (Saya tidak peduli apakah itu folder desktop, unduhan, atau (masukkan sesuatu yang memalukan)- Temukan saja)
  • Pilih, dan klik "Buka"
  • Seharusnya memberi tahu Anda bahwa itu telah ditambahkan ke perpustakaan Anda.

Langkah 12: Uji

Menguji!
Menguji!
Menguji!
Menguji!
  • Buka contoh program SAATunes, di bawah "File", "Contoh", "SAATunes", "SAATunes-Uno".
  • Colokkan Arduino Anda ke Komputer, dan ke dalam semacam speaker.
  • Unggah program ke Arduino.

Anda harus mendengar Chord, lalu Beethoven's Rage atas Penny yang hilang. Jika Klasik bukan milik Anda, jangan takut, karena kita akan segera belajar bagaimana menggunakan file MIDI pilihan kita sendiri dengannya.

Jika Anda tidak mendengar apa pun, periksa beberapa hal: Pertama, apakah speaker Anda menyala? Putar semuanya ke atas. Lalu, apakah arduino benar-benar menyala? Apakah program diunggah dengan benar? Periksa semua kabel dengan skema dan lembar data, lalu coba lagi.

Langkah 13: Menggunakan File MIDI Anda Sendiri - Program Konversi

Menggunakan File MIDI Anda Sendiri - Program Konversi
Menggunakan File MIDI Anda Sendiri - Program Konversi

Siap mencoba sesuatu selain Beethoven? Baiklah, ini dia.

Untuk mengonversi file MIDI ke C++ Bytestream, kita memerlukan program dari Len Shustek. Dia adalah pencipta perpustakaan tempat saya mendasarkan kode saya, dan perpustakaan saya menggunakan format bytestream yang sama dengannya.

  • Anda dapat menemukan programnya di
  • Program yang Anda inginkan adalah "miditones.exe". Silakan dan unduh itu.

Langkah 14: Mengonversi File MIDI

Mengonversi File MIDI
Mengonversi File MIDI
Mengonversi File MIDI
Mengonversi File MIDI
Mengonversi File MIDI
Mengonversi File MIDI

Peringatan! Di sini ada naga ascii! Anda mungkin merasa lebih mudah untuk menonton video, di mana Anda dapat melihat dengan tepat apa yang saya bicarakan. Jika kamu berani masuk, lanjutkan!

Untuk menggunakan program konversi MIDI ke Bytestream, Anda harus membuka jendela prompt perintah. Maaf pengguna Mac dan Linux, Anda mungkin harus mencari solusi.

  • Buka start menu, dan ketik "CMD", lalu tekan enter.
  • Kita akan belajar sedikit keajaiban MS-DOS sekarang. Dengan menggunakan perintah "CD", navigasikan ke mana pun Anda mengunduh file "miditones.exe". Untuk sebagian besar kasus, perintahnya adalah "unduhan cd".
  • Jalankan program "miditones.exe" dengan mengetikkan "miditones". Ini akan menunjukkan kepada Anda daftar bantuan yang menunjukkan perintah yang paling umum.

Sekarang, kita membutuhkan file MIDI untuk dikonversi. Temukan satu di suatu tempat di jalinan, sebaiknya tanpa perkusi atau efek khusus apa pun selain instrumen/kecepatan. (Jika Anda tidak tahu apa itu, jangan khawatir, Anda akan baik-baik saja)

  • Unduh file MIDI Anda ke tempat yang sama dengan tempat Anda memiliki program "miditones".
  • Sekarang, menggunakan jendela prompt perintah, ketik "miditones -d -v [nama file]" (Ganti [nama file] dengan apa pun nama file MIDI Anda).
  • miditones akan menghasilkan file. C dengan bytestream C++ di folder yang sama, dengan nama yang sama dengan file MIDI.

Langkah 15: Menggunakan File MIDI Anda yang Dikonversi

Menggunakan File MIDI Anda yang Dikonversi
Menggunakan File MIDI Anda yang Dikonversi
Menggunakan File MIDI Anda yang Dikonversi
Menggunakan File MIDI Anda yang Dikonversi
Menggunakan File MIDI Anda yang Dikonversi
Menggunakan File MIDI Anda yang Dikonversi

Sekarang setelah Anda mengonversi file MIDI Anda, mari masukkan file tersebut dalam byte kecil ke arduino!

  • Dengan asumsi Anda sudah membuka contoh SAATunes-Uno, mari kita lanjutkan dan "simpan sebagai" sesuatu yang lain, sehingga kami dapat mengeditnya.
  • Setelah Anda menyimpannya, klik ikon "panah bawah" kecil di sudut kanan atas.
  • Klik "tab baru", dan beri nama "[nama].h" (Ganti [nama] dengan nama lagu MIDI Anda, atau apa pun yang Anda inginkan)
  • Sekarang, buka file. C yang dibuat miditone tadi. Anda dapat menggunakan notepad untuk membukanya.
  • Gunakan CNTRL/A untuk memilih semuanya, lalu salin.
  • Rekatkan ke tab "[name].h" baru Anda di editor arduino.

Semuanya baik-baik saja di sini, jadi mari kita kembali ke program.

  • Temukan di mana dikatakan "#include "RagePenny.h"", dan salin/tempelkan ke baris baru di bawah ini.
  • Ubah "RagePenny.h" menjadi apa pun yang Anda beri nama file baru Anda.
  • Sekarang, beri komentar pada "#include "RagePenny.h"", dengan menambahkan dua garis miring (//) di depannya.
  • Unggah programnya!

Jika semuanya berjalan dengan baik, itu harus memainkan file MIDI Anda sendiri. Jika tidak, periksa kembali untuk memastikan nama tab baru dan nama yang Anda ubah di "#include "RagePenny.h"" sama. Periksa langkah-langkah lainnya, dan pastikan Anda melakukan semuanya dengan benar. Beberapa file MIDI tidak berfungsi, tetapi itu jarang terjadi.

Langkah 16: Fin

Sirip!
Sirip!

Semoga semuanya berjalan baik dengan Anda, dan Anda sedang mengakses file MIDI pada teknologi kuno yang diberi kehidupan baru!

Namun, jika tidak, jangan menyerah! Kirim komentar dengan cara saya, dan saya akan dengan senang hati membantu. Tentu saja, jangan ragu untuk memberi saya saran di komentar.

Selamat chiptunes!

Direkomendasikan: