Isi kandungan:

MIDI Sonar "Theremin": 10 Langkah (dengan Gambar)
MIDI Sonar "Theremin": 10 Langkah (dengan Gambar)

Video: MIDI Sonar "Theremin": 10 Langkah (dengan Gambar)

Video: MIDI Sonar
Video: Как собрать терменвокс на Arduino 2024, November
Anonim
MIDI Sonar
MIDI Sonar

Ini adalah alat muzik yang menggunakan dua sensor jarak sonar untuk mengawal nada dan kualiti nota. Ini sebenarnya bukan Theremin tetapi "Theremin" telah menjadi istilah umum untuk instrumen yang dimainkan dengan melambaikan tangan.

Ia mempunyai synthesizer, penguat dan pembesar suara MIDI terbina dalam. Nota muzik dihasilkan oleh cip MIDI - VS1053 - yang mempunyai 127 suara (iaitu alat yang diduga berbeza). Ia mempunyai tahap polifoni yang tinggi (hingga 64) sehingga dapat memainkan nota tunggal atau kord.

Tangan kanan anda mengawal nota yang dimainkan. Dalam mod "diskrit" ruang di sebelah kanan dibahagikan kepada "tong sampah". Semasa tangan anda memasuki tong sampah, nota untuk tong sampah itu bermula. Apabila anda meninggalkan tong sampah, nota itu mungkin berhenti (mis. Organ) atau mati secara semula jadi (mis. Piano).

Dalam mod "berterusan", ruang di sebelah kanan menentukan nada yang terus berubah - seperti Theremin yang asal. Nota bermula apabila tangan anda memasuki ruang dan berhenti ketika anda meninggalkan ruang tersebut.

Tangan kiri anda mengawal kualiti nota yang dimainkan. Ia dapat mengawal kelantangan, tremolo, vibrato, pitch-bend, reverb, dll.

Skrin LCD kecil mempunyai menu yang membolehkan anda memilih instrumen terkini, fungsi tangan kiri, skala (atau "kunci") tangan kanan, vibrato, tremolo, dll. Anda boleh menyimpan dan memuatkan "Persediaan" yang berbeza "dan beralih di antara mereka dengan cepat semasa persembahan.

Keseluruhan instrumen MIDI "Theremin" beroperasi sendiri dengan pembesar suara sendiri dan bateri yang boleh dicas semula.

Sekiranya anda menyalin binaan saya, anda memerlukan Arduino Nano (£ 1,50), modul VS1053 (£ 4,50), paparan LCD 1,44 ST7735 (£ 3,50), dua modul HC-SR04 (£ 1 setiap satu) dan beberapa perintang. Anda juga memerlukan beberapa pembesar suara bertenaga dan mungkin sel litium dan PSU tetapi perinciannya akan bergantung pada bagaimana anda memutuskan untuk membinanya. Saya mendapat semua tambahan dari penjualan but kereta dan kedai amal. Saya memerlukan peralatan bengkel elektronik yang biasa.

Langkah 1: Mengawal VS1053

Mengawal VS1053
Mengawal VS1053
Mengawal VS1053
Mengawal VS1053

Saya memilih modul VS1053 yang ditunjukkan dalam gambar. (Perhatikan dua pengatur SOT223, soket dua soket dan kedudukan penyambung.) Cari eBay, Alibaba atau pembekal kegemaran anda untuk modul VS1053 yang kelihatan seperti itu. Mereka boleh didapati dari Aliexpress di sini dan di sini.

Saya membelinya beberapa tahun yang lalu dan nampaknya tidak lagi tersedia di eBay, hanya di Alibaba. Versi PCB merah kini boleh didapati di eBay. Tampaknya berfungsi sama tetapi pinoutnya berbeza sehingga anda perlu menyesuaikan skema dan susun atur saya. Saya belum mengujinya. Dalam perbincangan (di bawah) anda boleh mendapatkan arahan mengenai cara menambahkan perintang ke PCB merah untuk membolehkan MIDI "hidup". Atau anda boleh menghantar arahan tambahan semasa penyediaan untuk mengaktifkannya.

VS1053 adalah cip halus tetapi agak rumit. Saya hanya menggunakan bahagian MIDI daripadanya. Adalah mungkin untuk mengawal VS1053 melalui antara muka bersiri tetapi saya menggunakan bas SPI kerana lebih mudah dengan Arduino Nano. Sebarang bait yang anda hantar melalui bas SPI dianggap sebagai arahan MIDI.

Anda akan mendapat senarai arahan MIDI di web. VS1053 bertindak balas terhadap beberapa tetapi tidak semuanya. Program Miditheremin0.exe menunjukkan yang saya tahu berfungsi.

Anda boleh memuat turun lembaran data VS1053 dari web. Ini adalah dokumen yang besar dan sukar dilakukan. Bahagian "8.9 Format MIDI yang Disokong" adalah hampir semua yang dinyatakan mengenai MIDI. Bahagian "10.10 MIDI Masa Nyata" membincangkan penggunaan GPIO0 dan GPIO1 untuk membolehkan MIDI tetapi papan saya tidak memerlukan pengaktifan khas. Anda juga boleh memuat turun senarai mesej MIDI (tidak semuanya disokong oleh VS1053).

Kabel modul VS1053 ke Arduino Nano seperti yang ditunjukkan dan muat naik fail INO ke Arduino. Saya menggunakan papan roti tanpa solder. Saya tidak mempunyai foto pada peringkat ini tetapi anda dapat melihat papan serbuk dengan komponen lain pada langkah di bawah.

Sketsa INO menerima bait dari PC melalui baris bersiri dan menghantar bait ke VS1053. Ini adalah program yang sangat mudah yang membolehkan anda menguji VS1053. Sambungkan soket soket output ke fon kepala atau pembesar suara komputer.

Program Windows Miditheremin0.exe (muat turun Step1.zip dari github) menghantar arahan ke VS1053. Klik butang "90 note vel" untuk memainkan nota. Atau anda boleh menulis program Windows anda sendiri. Atau gunakan salah satu daripada banyak program terminal yang terdapat di web.

Modul VS1053 mempunyai pin berikut:

  • bas SPI mempunyai MISO, MOSI dan SCLK biasa
  • jika XRST rendah, cip diset semula
  • XDCS tidak melakukan apa-apa dalam mod SPI jadi ikatkan ke XCS
  • XCS adalah Chip Select
  • DREQ memberitahu anda apabila cip itu siap untuk arahan baru.

XCS harus ditetapkan rendah semasa anda menghantar bait; kemudian tinggi. Dengan cara itu, anda pasti telah menyegerakkan bit pertama setiap bait. Membaca DREQ memberitahu anda bahawa cip tersebut siap menerima arahan baru.

Setelah Arduino menghantar bait, ia mesti menghantar bait palsu supaya beralih jam dan membiarkan VS1053 menghantar bait kembali sebagai tindak balas. Fungsi SPItransfer () menunjukkan kepada anda bagaimana.

Modul merah yang terdapat di eBay merangkumi slot kad SD sehingga mempunyai beberapa pin tambahan. Abaikan mereka.

Sekarang anda yakin dapat menjadikan VS1053 berfungsi, kami akan mengubahnya menjadi lebih banyak alat muzik.

Langkah 2: Menggunakan Sonar

Menggunakan Sonar
Menggunakan Sonar
Menggunakan Sonar
Menggunakan Sonar

Kabel modul HC-SR04 ke Arduino Nano seperti yang ditunjukkan dan muat naik fail INO ke Arduino.

Perhatikan dalam skema bahawa DC3 - kapasitor pemutusan untuk modul HC-SR04 - harus dihubungkan dekat dengan modul HC-SR04. Mereka mengambil arus semasa DCS mana yang membantu membekalkan.

Pada peringkat projek ini, PC Windows masih menghantar arahan ke VS1053 tetapi VS1053 juga dikendalikan oleh sensor sonar HC-SR04 (muat turun Step2.zip dari github).

Perintah baru semuanya bermula dengan 0xFF dan ditafsirkan oleh lakaran Arduino (daripada dihantar terus ke VS1053). Bait bukan "FF-command" dihantar ke VS1053.

Terdapat perintah untuk mengubah instrumen, mengubah skala, menambahkan vibrato dan tremolo, dll. Program ini dapat dijalankan dalam mod "diskrit" di mana terdapat nota terpisah (seperti piano) atau dalam mod "berterusan" di mana satu nota membongkok ke atas dan ke bawah (seperti theremin).

Ia berfungsi dengan baik semua yang akan dilakukan oleh instrumen akhir tetapi dikendalikan oleh PC.

Sensor sonar HC-SR04 yang betul memilih nada nada yang dimainkan. Dalam mod "diskrit" ruang di sebelah kanan dibahagikan kepada "tong sampah". Semasa tangan anda memasuki tong sampah, nota untuk tong sampah itu bermula. Apabila anda meninggalkan tong sampah, nota itu mungkin berhenti (mis. Organ) atau mati secara semula jadi (mis. Piano). Semasa tangan anda memasuki tong sampah, tong sampah mengembang sedikit sehingga anda tidak tersentak di pinggirnya.

Fungsi GetSonar () mengembalikan masa yang diambil sehingga gema pertama. Ia mengabaikan gema yang sangat cepat (tempoh <10) yang kadang-kadang dilaporkan oleh HC-SR04. Sekiranya tidak ada gema yang diterima oleh maxDuration, ia akan mengembalikan maxDuration. Tempohnya tidak diukur dalam unit tertentu - hanya bilangannya.

Dalam mod Discrete, durasi pertama kali disaring untuk menghilangkan putus sekolah sesekali (apabila tidak ada gema diterima). Tangan dianggap hanya hadir setelah 10 sampel maxDuration diterima. Kemudian jangka masa disaring menggunakan penapis Median. Penapis median pandai mengeluarkan bunyi "impulsif" (iaitu lonjakan sekali-sekala). Tempoh yang disaring digunakan untuk memilih tong sampah.

Dalam mod Berterusan, durasi sekali lagi disaring untuk menghilangkan putus sekolah sesekali. Kemudian dilancarkan dengan menggunakan penapis eksponensial. Tempoh yang disaring digunakan untuk mengatur frekuensi catatan menggunakan "pitch bend".

Langkah 3: Menambah Paparan

Menambah Paparan
Menambah Paparan
Menambah Paparan
Menambah Paparan
Menambah Paparan
Menambah Paparan

Layarnya adalah layar TFT LCD 1,44 warna dengan pengawal ST7735, 128x128 piksel. Ada banyak layar yang tersedia di eBay, misalnya Anda mungkin lebih suka mengembangkan instrumen Anda dengan layar sentuh yang lebih besar. Saya tidak akan menggunakan ST7735 pengawal dan ingin mencubanya.

Saya mendapat milik saya dari pembekal ini. Modul yang sama banyak dijual di eBay - hanya dapatkan modul yang kelihatan sama dengan foto.

LCD mempunyai pin berikut:

  • Tanah GND
  • VCC 3.3V
  • Bas SCL SPI SCLK
  • Bas SDA SPI MOSI Arduino
  • Tetapkan semula RES
  • Data / arahan DC
  • Pilih cip CS
  • Lampu belakang BL

Modul berjalan pada 3.3V jadi anda tidak seharusnya menyambungkannya terus ke Arduino 5V anda. Saya telah menggunakan perintang 1k untuk menurunkan voltan. Itu bukan amalan yang baik (secara umum, seseorang harus menggunakan pembahagi potensial atau cip penurun voltan) tetapi berfungsi dengan baik dalam litar ini. Saya berasa malas.

Paparan dikuasakan oleh 3.3V yang disediakan oleh Arduino. Pengatur Arduino nampaknya cukup gembira.

Adafruit menerbitkan perpustakaan ST7735 dan beberapa perpustakaan lain terdapat di Github dan di tempat lain. Saya mencuba beberapa dan tidak menyukai mana-mana. Sebilangannya tidak berfungsi dan semuanya besar. Anda menulis lakaran Arduino yang menarik garis dan beberapa teks dan anda mendapat ingatan anda jika 75% penuh. Oleh itu, saya menulis perpustakaan saya sendiri.

Perpustakaan SimpleST7735 boleh dimuat turun (muat turun Step3.zip dari github).

Ini mempunyai set perintah menggambar standard yang sangat serupa dengan semua perpustakaan tersebut.

Sebilangan perpustakaan "pantas" yang boleh anda muat turun menggunakan gelung pemasa khas dan kesal apabila peranti lain, mungkin lebih perlahan, digunakan pada bas yang sama. SimpleST7735 ditulis dalam bahasa C dan bukannya assembler jadi tidak sepantas mungkin tetapi jauh lebih mudah alih dan berkongsi bas SPI dengan sopan dengan peranti lain. Program Windows boleh dimuat turun yang membolehkan anda membuat fon dan ikon anda sendiri.

Anda boleh memuat turun lembaran data ST7735 dari web. Anda bercakap dengannya

  • tetapkan CS rendah
  • tetapkan DC rendah
  • hantar bait arahan
  • tetapkan DC tinggi
  • hantar bait data sifar atau lebih
  • tetapkan CS tinggi

Anda dapat melihat bagaimana saya melakukannya dalam fungsi spiSend_TFT_CW () di perpustakaan. Bait data mungkin berupa keseluruhan baris piksel atau pengaturan untuk daftar kawalan.

Fungsi ST7735Begin () di perpustakaan menunjukkan kepada anda set arahan inisialisasi yang telah saya pilih. Anda mungkin ingin mengubah perintah jika anda memilih paparan ST7735 yang berbeza (mis. Dengan lebih banyak piksel) atau menginginkan orientasi yang berbeza. Saya harap kod saya mudah untuk anda lihat bagaimana mengubahnya jika perlu.

Skema menunjukkan butang kawalan "SW1" dan pedal kaki SW2 ". Butang kawalan memilih" Persediaan "yang berbeza (lihat langkah seterusnya) atau memilih mod Menu. Pedal kaki adalah pilihan dan hanya memilih Pengaturan yang berbeza - Saya tidak memasang pedal kaki sendiri. Persediaan berguna semasa persembahan apabila anda ingin menukar kunci atau menukar instrumen dengan cepat.

Langkah 4: Sistem Menu

Sistem Menu
Sistem Menu
Sistem Menu
Sistem Menu

Sketsa Miditheremin3.ino Arduino ini menambah sistem menu ke MIDI Theremin dan mengendalikan instrumen akhir yang lengkap.

MIDI Theremin biasanya dijalankan dalam mod "Main". Tangan kanan anda memilih nota mana dan tangan kiri anda mengawal kualiti nota. LCD memaparkan papan kekunci piano dengan nota semasa diserlahkan.

Sekiranya anda menekan butang kawalan selama satu saat, program akan masuk ke mod "Menu". Dalam mod Menu, jika anda menekan butang kawalan selama satu saat, program kembali ke mod "Main".

Menu mempunyai struktur pokok dengan item utama dan sub-item. Item menu semasa diserlahkan. Anda mengalihkan pilihan ke atas / bawah melalui sonar sebelah kiri. Sub-menu untuk item utama hanya diperluas apabila item utama dipilih.

Setelah memilih sub-menu, apabila anda mengklik butang, nilai item tersebut akan diserlahkan. Tangan kiri kini menambah atau mengurangkan nilainya. Klik butang sekali lagi untuk kembali memilih sub menu.

Dalam mod Discrete, pokok menu adalah

  • Alat

    • 0: Piano Besar
    • Tukar Tangan: normal
  • Tangan kanan

    Mod: diskret

  • Tangan kiri

    • Mod: Vibrato
    • Kedalaman Maksimum: 10
  • Skala
    • Skala: Heptatonik utama
    • Oktaf: 2
    • Nota terendah: 60 C
  • Kord

    • Chord: Triad utama
    • Penukaran: 0
    • Polifoni: 1
  • Tremolo

    • Saiz: 20
    • Tempoh: 10
  • Vibrato

    • Saiz: 20
    • Tempoh: 10

Instrumennya dapat berupa "Grand Piano", "Church Organ", "Violin", dll. Terdapat 127 instrumen di VS1053 yang kebanyakannya serupa dan banyak yang bodoh seperti "tembakan". Sub-menu Swap Hands membolehkan anda menukar fungsi tangan kiri dan kanan - mungkin anda lebih suka dengan cara itu atau mungkin anda mahu pembicara menghadap penonton.

Tangan Kanan boleh "Discrete" atau "Continuous". Lihat di bawah untuk menu "berterusan".

Tangan Kiri dapat mengawal "Volume", "Tremolo", "Vibrato", "PitchBendUp", "PitchBendDown", "Reverb", "Polyphony" atau "ChordSize".

"Volume" jelas. "Tremolo" adalah variasi jumlah yang cepat; tangan kiri mengawal ukuran variasi; tempoh ditetapkan oleh item menu yang berbeza. "Vibrato" adalah variasi nada yang pantas; tangan kiri mengawal ukuran variasi; tempoh ditetapkan oleh item menu yang berbeza. "PitchBendUp" dan "PitchBendDown" mengubah nada nota yang dimainkan; tangan kiri mengawal ukuran selekoh. "Reverb" agak tidak berkesan dalam VS1053; tangan kiri mengawal ukuran reverb. "Polyphony" mengawal berapa banyak nota yang dimainkan sekaligus sehingga maksimum yang ditetapkan oleh menu Polyphony (lihat di bawah). "ChordSize" bermaksud tangan kiri mengawal berapa banyak nota kord (lihat di bawah) dimainkan.

Dalam muzik, "skala" atau "kunci" adalah subset nota yang anda gunakan. Contohnya, jika anda mengehadkan diri pada skala C Major Heptatonik, anda hanya akan bermain nota piano putih. Sekiranya anda memilih C # Major Pentatonic maka anda hanya akan menggunakan nota hitam (mis. Untuk lagu rakyat Scotland).

Menu Skala memilih nota yang sesuai dengan ruang tangan kanan dan berapa oktaf ruang ruang sebelah kanan. Oleh itu, jika anda memilih 1 oktaf E Major maka ruang sebelah kanan dibahagikan kepada 8 tong dengan E pada nada terendah dan E satu oktaf di atas pada nada tertinggi.

Menu Skala membolehkan anda memilih banyak skala "muzik bukan Barat" yang tidak biasa tetapi menganggap semua nota berasal dari papan kekunci yang rata - begitulah cara MIDI berfungsi, anda tidak dapat menentukan frekuensi nota dengan mudah. Oleh itu, jika anda mahu, katakan, skala nada suku Arab, anda akan menghadapi masalah.

Sub-menu Octaves membolehkan anda memilih berapa oktaf skala yang anda mahukan. Dan nota Terendah mengatakan di mana skala bermula.

Biasanya semasa nota dimainkan, hanya nota itu dibunyikan. Menu Chord membolehkan anda memainkan beberapa nota sekaligus. Kord Major Triad bermaksud 'mainkan nota yang dipilih ditambah not empat semiton lebih tinggi, ditambah nota tujuh semiton lebih tinggi'.

Sub-menu Inversi memberikan anda penyongsangan kord. Ini bermakna ia memindahkan sebahagian nota kord ke satu oktaf di bawah. Inversi Pertama menggerakkan semua nota "tambahan" ke bawah satu oktaf, Inversi kedua memindahkan satu lagi nota tambahan ke bawah, dan seterusnya.

Sub-menu Polyphony menyatakan berapa banyak nota yang dimainkan sekaligus; jika polifoni adalah 1 maka apabila satu nota dimulakan, nota sebelumnya dihentikan; jika polifoni lebih besar maka beberapa nota boleh bertindih - cubalah dengan organ gereja.

Menu Tremolo menentukan kedalaman sebarang tremolo dan jangka masa kitaran tremolo. Tempoh "100" bermaksud satu kitaran sesaat. Sekiranya tangan kiri mengawal tremolo maka sub-menu Ukuran disembunyikan.

Menu Vibrato menentukan ukuran mana-mana vibrato dan tempoh kitaran vibrato. Sekiranya tangan kiri mengawal vibrato maka sub-menu Size disembunyikan.

Program ini membolehkan anda menyimpan dan memuatkan hingga 5 "Persediaan" yang berbeza. Penyediaan menyimpan semua nilai yang dapat anda tetapkan dalam menu. Apabila anda keluar dari mod Menu, persediaan semasa disimpan. Persediaan disimpan ke EEPROM.

Dalam mod Main, mengklik butang berubah ke persediaan seterusnya. Sekiranya anda menekan butang selama satu saat, menu akan muncul. Menekan pedal kaki juga berubah ke persediaan seterusnya; pedal kaki tidak pernah memilih menu.

Dalam mod Berterusan, pokok menu adalah

  • Alat

    • 0: Piano Besar
    • Tukar Tangan: normal
  • Tangan kanan

    Mod: berterusan

  • Julat

    • Nombor semiton: 12
    • Nota tengah: 60 C
  • Tangan kiri

    • Mod: Tremolo
    • Kedalaman Maksimum: 10
  • Tremolo

    • Saiz: 20
    • Tempoh: 10
  • Vibrato

    • Saiz: 20
    • Tempoh 10

Menu Julat memilih julat frekuensi yang ditentukan oleh tangan kanan: bilangan semiton yang diliputi dan not tengah.

Tangan Kiri hanya dapat mengawal "Volume", "Tremolo" dan "Vibrato".

Langkah 5: Memateri Bersama

Memateri Bersama
Memateri Bersama
Memateri Bersama
Memateri Bersama
Memateri Bersama
Memateri Bersama

Saya membina litar di papan jalur. Saya tidak dapat melihat titik untuk mendapatkan PCB yang dibuat satu kali dengan hanya 4 perintang tetapi saya sedar ada orang yang tidak menyukai papan pelekat.

Susun atur papan tulis saya ditunjukkan di atas. Keempat papan - Arduino, VS1053, paparan dan papan jalur - membentuk sandwic. Dalam susun atur, garis besar Arduino berwarna kuning, VS1053 berwarna biru, paparan berwarna hijau dan papan jalur berwarna jingga.

Garis sian adalah jalur tembaga dari papan jalur - pastikan anda meletakkan rehat di tempat yang diperlukan. Garis merah adalah pautan di bahagian komponen papan jalur atau wayar yang menuju ke tempat lain.

Saya menggunakan pin ekstra panjang untuk papan VS1053 kerana berdiri di atas Arduino. Pin di sudut paling jauh paparan dan papan VS1053 membantu menstabilkannya. Lubang pemasangan modul dilapisi sehingga anda dapat menyoldernya. Pastikan milik anda tidak tersambung ke tanah - lubang pemasangan modul saya tidak.

Sekiranya anda mempunyai modul VS1053 atau paparan yang berbeza, anda boleh menukar pin Arduino:

  • D2 hingga D10 dan A0 hingga A5 boleh digunakan mengikut pesanan yang anda suka; kemas kini nombor pin berhampiran permulaan lakaran INO
  • D11, D12, D13 dikhaskan untuk SPI dan tidak dapat ditugaskan semula
  • D0, D1 dikhaskan untuk siri I / O
  • A6, A7 tidak boleh digunakan sebagai pin digital

Modul HC-SR04 berada pada jarak 90 ° antara satu sama lain dengan sehelai papan kepingan. Tombol tekan berada di antara mereka. Tidak syak lagi anda akan mempunyai reka bentuk pilihan anda sendiri.

Sekiranya anda memutuskan untuk menggunakan pedal kaki, sambungkan melalui soket soket.

Langkah 6: Menambah PSU

Menambah PSU
Menambah PSU
Menambah PSU
Menambah PSU
Menambah PSU
Menambah PSU

Saya mengukur arus Arduino, VS1053 dan dipaparkan sebagai 79mA. Menurut helaian data, Arduino adalah 20mA, paparannya 25mA, VS1053 adalah 11mA dan HC-SR04 masing-masing 15mA ketika "bekerja" - jadi 80mA nampaknya tepat.

Paparan mengambil 25mA dan dikuasakan dari output 3V3 Arduino yang dinilai memberi 50mA. Jadi litar tidak seharusnya menekankan pengatur 3V3 Arduino.

Bolehkah kita menghidupkan litar melalui pin Vin Arduino? Saya tidak dapat menemui jawapannya di mana sahaja di web. Ini tidak ada dalam dokumentasi Arduino. Pengatur 5V on-board akan hilang (Vin-5) * 80 mW. Apakah penyebaran maksimumnya? Nampaknya tiada siapa yang benar-benar tahu. Menurut lembar datanya, pengatur NCP1117 dalam paket SOT-223 dengan pad tembaga minimum dapat menghilangkan 650mW. Jadi untuk arus 80mA,

  • Kuasa Vin
  • 8V 240mW
  • 9 320
  • 10 400
  • 11 480
  • 12 560
  • 13 640
  • 14 720

Untuk selamat, saya rasa kita tidak boleh melebihi 9V pada Vin.

PSU 5V luaran akan jauh lebih selamat tetapi saya menggunakan pengatur Arduino dan tidak mengapa.

Untuk menghidupkan litar, saya memilih modul yang menggabungkan pengecas ion LI dan PSU penggalak. Mereka banyak terdapat di eBay atau mencari "Li Charger Boost".

Pengecas menggunakan cip TC4056 yang mempunyai algoritma arus tetap dan voltan tetap yang rumit. Apabila anda mengeluarkan input kuasa USB, ia memasuki mod siap sedia dengan pengaliran bateri kurang dari 2uA. TC4056 mempunyai input untuk penginderaan suhu tetapi tidak tersedia di papan modul (pin dibumikan).

Litar dorongan diduga 87-91% cekap berbanding julat voltan bateri biasa dengan arus keluaran 50-300mA. (Saya tidak mengukurnya sendiri.) Itu cukup bagus.

Walau bagaimanapun, keadaan "siap sedia" semasa anda mengeluarkan beban adalah 0.3mA yang kurang baik. Sel 300mAH akan dikeringkan dalam 6 minggu. Mungkin akan terkuras sejauh ini voltannya akan turun ke tahap yang merosakkan.

Terdapat satu trek yang menghubungkan bateri ke PSU penggalak. Anda boleh memotong trek dengan mudah (lihat foto). Pateri wayar ke perintang besar di bahagian atas sehingga anda dapat merapatkan potongan melalui suis.

Arus yang dilukis sekarang ialah 0.7uA dengan papan yang saya uji. Jadi sel akan bertahan 50 tahun - baik, tentu saja tidak, pelepasan diri sel Li-ion adalah sekitar 3% sebulan. 3% sebulan untuk sel 300mAH adalah arus 13uA. Bandingkan dengan 300uA litar peningkatan yang diperlukan. Saya rasa patut mematikan rangkaian peningkatan.

Anda tidak boleh menghidupkan beban semasa sel sedang diisi. Arus yang ditarik oleh beban akan mengelirukan algoritma pengisian.

Oleh itu, anda memerlukan suis peralihan 2 tiang (mis. Suis slaid) yang berada di kedudukan "Hidup" atau "Cas".

Anda boleh mengabaikan soket USB dan kabel solder yang terpasang ke suis dan soket USB anda sendiri.

Atau anda boleh menyimpan soket terpasang dan memutuskan hubungan antara soket dan cip. Rajah di atas menunjukkan tempat memotong.

Sambungkan output 5V PSU peningkatan ke pin 5V Arduino. Orang mengatakan "jangan lakukan itu - anda melewati dioda perlindungan Arduino". Tetapi Nano tidak mempunyai pin yang disambungkan ke sisi USB dioda. Sambungkan sahaja ke pin 5V. Apa yang terburuk yang boleh berlaku? Anda kehilangan Nano yang berharga di bawah £ 3.

Litar PSU juga mesti menguatkan penguat untuk pembesar suara.

Langkah 7: Menambah Pembesar Suara

Menambah Pembesar suara
Menambah Pembesar suara

Saya mahu MIDI Theremin mudah alih. Ia mesti merangkumi pembesar suara dan penguatnya sendiri.

Anda boleh membina penguat anda sendiri atau membeli modul penguat, kemudian membeli pembesar suara dan memasukkannya ke dalam casing. Tetapi apa gunanya? Dalam tekno yang tersembunyi, saya mempunyai setengah dozen pembesar suara berkuasa yang saya beli dari kedai amal dan penjualan but kereta dengan harga kurang dari £ 1 setiap satu.

Pembesar suara biru pucat hanya menggunakan 30mA pada 5V tetapi mempunyai respon bass yang buruk. Radio hitam adalah bentuk yang bagus - Saya dapat membayangkan pemasangan modul HC-SR04 di sudut dan paparan di permukaan atas. Panel "rata" berwarna kelabu dihidupkan dari soket USB yang sangat sesuai.

Dengan sedikit carian, anda harus mencari pembesar suara bertenaga yang sudah mempunyai casing yang bagus. Pastikan bahawa ia berfungsi pada voltan bekalan kuasa anda. Sekiranya ia dikuasakan oleh empat sel AA, ia mungkin berfungsi dengan baik pada 5V.

Tetapi saya menggali lebih jauh ke dalam tekno dan mendapati stesen dok yang sangat bagus yang saya dapat di gerai "semuanya dengan harga £ 0,50". Ia kehilangan pengecas dan alat kawalan jauh IR tetapi berfungsi dengan baik.

Sekiranya anda bertekad untuk membina pembesar suara berkuasa anda sendiri, inilah instruksinya yang baik. Atau cari Instructables untuk PAM8403 atau Amplifier.

Langkah 8: Docking Station

Stesen Docking
Stesen Docking
Stesen Docking
Stesen Docking
Stesen Docking
Stesen Docking
Stesen Docking
Stesen Docking

Ini adalah stesen sambungan mudah alih Logitech yang sangat bagus. Tidak mungkin anda mendapat yang sama tetapi prinsip pembinaannya serupa.

Stesen dok merangkumi sel Li-ion yang boleh dicas semula dan meningkatkan PSU. (Sekiranya anda tidak membina PSU seperti yang dinyatakan di atas dan lewati beberapa perenggan berikutnya.)

Sekiranya amp anda mempunyai sel Li-ion maka ia mungkin mempunyai PSU peningkatan. (Voltan sel Li-ion tunggal sangat rendah sehingga perlu ditingkatkan.)

Pertama, cari sambungan untuk kuasa ke penguat. PSU akan mempunyai kapasitor pelicin besar - lihat foto PCB sampah. Ukur voltan pada pad solder mereka di bahagian bawah. Pad negatif mestilah pad "ground" litar. Sekiranya pcb dipenuhi banjir, ia akan menjadi tanah. Atau tanah mungkin trek tebal yang menuju ke banyak tempat di papan.

Mungkin ada kapasitor besar pada tahap output amp - itu adalah cara kuno untuk melakukannya. Ukur voltan di sepanjang mereka berfungsi. Ia mungkin berbeza mengikut muzik dan mungkin rata-rata separuh voltan kapasitor bekalan kuasa. Ini adalah kapasitor yang salah - anda mahukan yang ada di PSU.

Sangat tidak mungkin papan itu mempunyai daya positif dan negatif (amp kuasa stereo besar tetapi saya tidak pernah melihat yang ringan seperti itu). Pastikan anda benar-benar memilih kekuatan dan kekuatan positif.

Stesen sambungan Logitech yang saya gunakan mempunyai litar digital yang rumit dan juga analognya. Sekiranya anda seperti itu, ia akan mempunyai kapasitor pelicin untuk 5V atau 3.3V ditambah mungkin 9V untuk amp. Ukur voltan di semua kapasitor besar dan pilih voltan terbesar.

Pastikan voltan sambungan kuasa yang anda pilih bergantung pada suis hidup / mati. (Apabila anda mematikan suis, voltan mungkin memerlukan beberapa saat untuk turun ketika kapasitor mengosongkan.)

Kabel pateri untuk apa sahaja yang anda pilih sebagai sumber kuasa anda. Stesen dok Logitech menghasilkan sekitar 9V yang akan menghubungkan dengan baik ke pin Vin Arduino.

Pembesar suara atau stesen sambungan berkuasa anda harus mempunyai bicu 3.5mm untuk input audio. Salah satu sendi pateri akan menjadi tanah - mungkin yang paling dekat dengan tepi papan. Gunakan meter ohm untuk memastikan bahawa ia menghubungkan dengan apa yang anda fikir adalah tanah. Dengan beberapa input audio, "perisai" jack tidak disambungkan terus ke tanah. Ia terapung. Oleh itu, jika tidak ada pin jack yang dibumikan, jangan risau untuk masa ini. ("Perisai" jack pada modul VS1053 juga melayang.)

Gunakan meter untuk memeriksa bahawa pin "ground" jack berada pada voltan yang sama dengan ground bekalan kuasa.

Stesen dok Logitech pelik. Sekiranya saya menyambungkan "ground" soket jack Logitech ke "ground" board VS1053 (dengan menggunakan kabel audio, ia berfungsi dengan baik tetapi arus ke sistem Theremin saya naik dari 80mA hingga lebih dari 200mA. Oleh itu, saya memastikan Saya tidak menghubungkan kedua-dua "landasan" itu. Ia berfungsi dengan baik tetapi saya tidak tahu apa yang sedang berlaku.

Langkah 9: Membuat Kes

Membuat Kes
Membuat Kes
Membuat Kes
Membuat Kes
Membuat Kes
Membuat Kes
Membuat Kes
Membuat Kes

Apa kes yang anda buat bergantung pada bahan yang anda ada, apa yang anda gemari bekerja dan pembesar suara berkuasa yang anda pilih. Apa sahaja yang anda buat harus memastikan bahawa sonar saling menjauh dan berada pada suhu 45 °. Kemudian akan ada skrin paparan dan butang tekan.

Sekiranya anda telah melihat Instuctables saya yang lain, anda pasti tahu bahawa saya peminat tinplate. Ia boleh dibengkokkan untuk membentuk, disolder lembut dan dicat. Foto menunjukkan bagaimana saya mengatur perkara.

Segitiga bahagian atas dilapisi plat timah, disolder, diisi, dilicinkan dan dicat. Pcs dilekatkan panas di segitiga dan mempunyai kepingan kayu kecil untuk bertindak sebagai spacer.

"Panel depan" adalah kepingan polistirena 1mm. Standoff dibuat dari lebih banyak kepingan polistirena dan skru mengetuk sendiri memegang papan jalur di tempatnya. Sokongan kayu dilekatkan panas ke dalam rongga di bahagian hadapan stesen dok dan pcb disekat ke atasnya dengan skru mengetuk sendiri.

Saya rasa saya boleh mencetak sesuatu 3D tetapi saya lebih suka kaedah sekolah lama di mana saya dapat menyesuaikan sesuatu semasa saya mengikuti. Membuat sesuatu adalah perjalanan penemuan dan bukannya "kejuruteraan".

Langkah 10: Pembangunan Masa Depan

Pembangunan Masa Depan
Pembangunan Masa Depan

Bagaimana anda dapat mengembangkan instrumen lebih jauh? Anda boleh menukar antara muka pengguna. Anda boleh mengganti butang dengan sensor jarak IR sehingga anda tidak perlu menyentuh instrumen sama sekali. Atau mungkin menggunakan skrin sentuh dan bukannya butang dan sebelah kiri untuk mengawal menu.

Menu Skala membolehkan anda memilih timbangan "muzik bukan Barat" tetapi menganggap semua nota adalah dari papan kekunci yang rata - begitulah cara MIDI berfungsi Skala nada suku Arab mempunyai nota yang tidak berada pada skala genap. Skala lain tidak berkaitan dengan papan kekunci yang rata. Mungkin menggunakan pitch-bend untuk menghasilkan nota tersebut. Anda memerlukan beberapa kaedah untuk menentukan frekuensi setiap nota. Saya rasa selekoh nada mungkin berlaku untuk semua nota di saluran. Pada masa ini saya hanya menggunakan satu saluran - saluran 0. Oleh itu, jika ia polifonik atau mempunyai akord, anda harus memainkan setiap nota di saluran yang berbeza.

Instrumen ini boleh menjadi alat synthesizer drum. Tangan kiri dapat menentukan nada Tom Melodik sementara sonar kanan diganti dengan sensor piezo yang anda tekan untuk membunyikan drum.

Kedua-dua tangan dapat mengawal dua instrumen yang berbeza.

Tangan kiri boleh memilih alat muzik.

Lebih kurang separuh jalan dari projek ini, saya menemui Pengawal MIDI Theremin Altura MkII oleh Zeppelin Design Labs. Ia kelihatan seperti alat muzik yang baik.

Mereka mempunyai beberapa video yang sangat wajar ditonton:

(Saya mencuri perkataan "tong sampah" dari Altura dan idea bahawa tong sampah mengembang ketika anda memasukkannya untuk membantu anda tetap di dalamnya.)

My MIDI Theremin berbeza dengan Altura dalam beberapa cara. Mine menghasilkan bunyi sendiri dengan synth, amp, dll MIDI terbina dalam; Altura menghantar mesej ke synth luaran. Anda mungkin lebih suka cara mereka melakukannya. Mine saya mempunyai skrin TFT dan bukannya paparan 7 segmen - itu pasti lebih baik tetapi anda mungkin menganggap skrin yang lebih besar akan menjadi peningkatan. Mine menggunakan menu untuk menetapkan parameter sementara mereka menggunakan tombol. Menu diperlukan kerana saya memerlukan banyak kawalan untuk peranti input (sonar) dan synth; Altura memerlukan kawalan yang lebih sedikit. Mungkin tombol lebih baik semasa persembahan secara langsung. Mungkin saya mesti mempunyai tombol. Tombol untuk memilih Persediaan mungkin bagus.

Altura mempunyai kawalan "Artikulasi" yang menetapkan seberapa cepat nota dapat dimainkan. Saya belum memasukkannya ke dalam perisian saya - mungkin semestinya ada. Altura mempunyai Arpeggiator (sequencer langkah). Itu idea yang baik; saya mempunyai akord yang tidak sama.

Jadi itu sahaja. Saya harap anda seronok membina dan menggunakan MIDI-Theremin. Beritahu saya jika anda menemui kesilapan dalam keterangan saya atau jika anda boleh memikirkan sebarang penambahbaikan.

Disyorkan: