Mündəricat:

MIDI Sonar "Theremin": 10 addım (şəkillərlə)
MIDI Sonar "Theremin": 10 addım (şəkillərlə)

Video: MIDI Sonar "Theremin": 10 addım (şəkillərlə)

Video: MIDI Sonar
Video: Open Theremin with MIDI Musical Instrument Digital Interface 2024, Noyabr
Anonim
MIDI Sonar
MIDI Sonar

Bu notların sahəsini və keyfiyyətini idarə etmək üçün iki sonar məsafə sensoru istifadə edən bir musiqi aləti. Əlbəttə ki, Theremin deyil, amma "Theremin" əllərinizi yelləyərək çalınan alətlər üçün ümumi bir termin halına gəldi.

Daxili MIDI sintezatoru, gücləndiricisi və dinamikləri var. Musiqili notlar 127 səsi olan (yəni fərqli alətlər olduğu) bir MIDI çipi - VS1053 tərəfindən istehsal olunur. Yüksək polifoniyaya malikdir (64 -ə qədər), buna görə tək notlar və ya akkordlar çalır.

Sağ əliniz çalan notu idarə edir. "Diskret" rejimdə sağdakı boşluq "zibil qutularına" bölünür. Əliniz bir zibil qutusuna girəndə həmin qutunun notu başlayır. Çöp qutusundan çıxanda not dura bilər (məsələn, orqan) və ya təbii olaraq ölə bilər (məsələn, piano).

"Davamlı" rejimində sağdakı boşluq, orijinal Theremin kimi, davamlı olaraq dəyişən bir meydança təyin edir. Qeyd əliniz boşluğa girəndə başlayır və boşluqdan çıxanda dayanır.

Sol əliniz çalınan notun keyfiyyətinə nəzarət edir. Səs, tremolo, vibrato, pitch-bend, reverb və s.

Kiçik bir LCD ekranda cari cihazı, sol əlin funksiyasını, sağ əlin miqyasını (və ya "düyməsini"), vibrato, tremolo və s. Seçməyə imkan verən bir menyu var. Müxtəlif "Quraşdırmaları" saxlaya və yükləyə bilərsiniz. "və bir performans zamanı aralarında tez bir zamanda keçin.

Bütün MIDI "Theremin" aləti öz spikeri və təkrar doldurulan batareyası ilə işləyir.

Quruluşumu kopyalayacaqsınızsa, bir Arduino Nano (£ 1.50), VS1053 modulu (£ 4.50), 1.44 ST7735 LCD displey (£ 3.50), iki HC-SR04 moduluna (hər biri 1 funt) ehtiyacınız olacaq. və bir neçə rezistor. Ayrıca bəzi güclü dinamiklərə və bəlkə də bir lityum hüceyrəyə və bir PSU-ya ehtiyacınız olacaq, ancaq detallar onu necə quracağınıza bağlı olacaq. Bütün bu əlavələri avtomobil çəkmələri satışından və xeyriyyə mağazalarından aldım. Adi elektron atelye alətlərinə ehtiyacım olacaq.

Addım 1: VS1053 -ə nəzarət

VS1053 -ə nəzarət
VS1053 -ə nəzarət
VS1053 -ə nəzarət
VS1053 -ə nəzarət

Şəkildə göstərilən VS1053 modulunu seçdim. (İki SOT223 tənzimləyicisini, iki yuva yuvasını və konnektorun mövqeyinə diqqət yetirin.) EBay, Alibaba və ya ən çox sevdiyiniz təchizatçıya bənzər bir VS1053 modulu axtarın. Aliexpress -də burada və burada mövcuddur.

Bir neçə il əvvəl aldım və artıq eBay -də yox, yalnız Alibabada olduğu görünür. Qırmızı bir PCB versiyası artıq eBay -də mövcuddur. Fəaliyyət baxımından eyni görünür, amma pinout fərqlidir, buna görə sxemlərimi və sxemlərimi düzəltməlisiniz. Mən bunu sınamamışam. Müzakirədə (aşağıda) "canlı" MIDI -ni aktivləşdirmək üçün qırmızı PCB -yə bir rezistorun necə əlavə olunacağına dair təlimatlar tapa bilərsiniz. Və ya aktivləşdirmək üçün quraşdırma zamanı əlavə əmrlər göndərə bilərsiniz.

VS1053 gözəl bir çipdir, lakin olduqca mürəkkəbdir. Bunun yalnız MIDI hissəsini istifadə edirəm. VS1053 -ü seriyalı bir interfeys üzərində idarə etmək mümkündür, ancaq Arduino Nano ilə daha rahat olduğu üçün SPI avtobusundan istifadə edirəm. SPI avtobusu üzərindən göndərdiyiniz hər bayt MIDI əmri kimi qəbul edilir.

MIDI əmrlərinin siyahısını İnternetdə tapa bilərsiniz. VS1053 bəzilərinə cavab verir, amma hamısına deyil. Miditheremin0.exe proqramı mənim işlədiyimi göstərir.

VS1053 məlumat cədvəlini internetdən yükləyə bilərsiniz. Böyük bir sənəddir və davam etmək çətindir. "8.9 Dəstəklənən MIDI Formatları" bölməsi MIDI haqqında demək olar ki, hamısıdır. Bölmə "10.10 Real-Time MIDI", MIDI-ni aktivləşdirmək üçün GPIO0 və GPIO1-dən istifadə etməkdən bəhs edir, lakin məndə olan lövhədə xüsusi aktivləşdirmə tələb olunmur. MIDI mesajlarının siyahısını da yükləyə bilərsiniz (hamısı VS1053 tərəfindən dəstəklənmir).

VS1053 modulunu göstərildiyi kimi Arduino Nano'ya bağlayın və INO faylını Arduinoya yükləyin. Lehimsiz çörək taxtasından istifadə etdim. Bu mərhələdə bir fotoşəkilim yoxdur, ancaq aşağıdakı addımda digər komponentləri olan çörək lövhəsini görə bilərsiniz.

INO eskizi, PC -dən serial xətti üzərində bir bayt alır və baytı VS1053 -ə göndərir. VS1053 -ü sınamağa imkan verən çox sadə bir proqramdır. Çıxış jakı yuvasını qulaqlıqlara və ya kompüter dinamikinə qoşun.

Windows Miditheremin0.exe proqramı (github -dan Step1.zip yükləyin) VS1053 -ə əmrlər göndərir. Bir not oynamaq üçün "90 not vel" düyməsini basın. Və ya öz Windows proqramınızı yaza bilərsiniz. Və ya İnternetdə mövcud olan bir çox terminal proqramlarından birini istifadə edin.

VS1053 modulu aşağıdakı pinlərə malikdir:

  • SPI avtobusunda adi MISO, MOSI və SCLK var
  • XRST aşağı olarsa, çip sıfırlanır
  • XDCS SPI rejimində heç nə etmir, buna görə də onu XCS -ə bağlayın
  • XCS Chip Select -dir
  • DREQ, çipin yeni bir əmrə hazır olduğunu bildirir.

Bir bayt göndərərkən XCS aşağı olaraq təyin olunmalıdır; sonra yüksək. Bu şəkildə, hər baytın ilk bitini sinxronlaşdırdığınızdan əminsiniz. DREQ oxumaq, çipin yeni bir əmr almağa hazır olduğunu bildirir.

Arduino bir bayt göndərdikdən sonra saatı dəyişmək və VS1053 -ə cavab olaraq bir baytı geri göndərmək üçün kukla bayt göndərməlidir. SPItransfer () funksiyası sizə bunun necə olduğunu göstərir.

EBay -də mövcud olan qırmızı modul SD kart yuvasına malikdir, buna görə də bir neçə əlavə sancağa malikdir. Onlara məhəl qoymayın.

İndi VS1053 -ü işləyə biləcəyinizə əminsiniz, onu daha çox musiqi alətinə çevirəcəyik.

Addım 2: Sonarlardan istifadə

Sonarlardan istifadə
Sonarlardan istifadə
Sonarlardan istifadə
Sonarlardan istifadə

HC-SR04 modullarını Arduino Nano'ya göstərildiyi kimi bağlayın və INO faylını Arduino-ya yükləyin.

Şematik olaraq qeyd edin ki, DC3 - HC -SR04 modulları üçün ayrılan kondansatör - HC -SR04 modullarına yaxın bağlanmalıdır. Hansı DC3 -ün təchizatına kömək etdiyini ötürərkən olduqca cərəyan alırlar.

Layihənin bu mərhələsində, Windows PC hələ də VS1053-ə əmr göndərir, lakin VS1053 də HC-SR04 sonar sensorlar tərəfindən idarə olunur (github-dan Step2.zip yükləyin).

Yeni əmrlərin hamısı 0xFF ilə başlayır və Arduino eskizi ilə şərh olunur (birbaşa VS1053 -ə göndərilmək əvəzinə). "FF-əmri" olmayan baytlar VS1053-ə göndərilir.

Aləti dəyişdirmək, miqyasını dəyişdirmək, vibrato və tremolo və s. Əlavə etmək üçün əmrlər var. Proqram ayrı -ayrı notların olduğu yerdə "diskret" rejimdə (piano kimi) və ya tək notun olduğu "fasiləsiz" rejimdə işlədilə bilər. yuxarı və aşağı əyilmiş (bir termin kimi).

Son cihazın edə biləcəyi hər şeyi olduqca yaxşı edir, ancaq bir kompüter tərəfindən idarə olunur.

Doğru HC-SR04 sonar sensoru, çalınan nota sahəsini seçir. "Diskret" rejimdə sağdakı boşluq "zibil qutularına" bölünür. Əliniz bir zibil qutusuna girəndə həmin qutunun notu başlayır. Çöp qutusundan çıxanda not dura bilər (məsələn, orqan) və ya təbii olaraq ölə bilər (məsələn, piano). Əliniz bir çöp qutusuna girərkən, zibil qutusu bir qədər genişlənir ki, kənarında titrəmə olmasın.

GetSonar () funksiyası, ilk əks -səda verənə qədər olan vaxtı qaytarır. HC-SR04-ün bəzən bildirdiyi çox sürətli yankıları (müddəti <10) görməzdən gəlir. MaxDuration tərəfindən heç bir əks -səda alınmamışdırsa, maxDuration qaytarır. Müddət heç bir xüsusi vahidlə ölçülmür - sadəcə bir rəqəmdir.

Diskret rejimdə, vaxt əvvəlcə təsadüfi buraxılmaları aradan qaldırmaq üçün süzülür (heç bir əks -səda alınmadıqda). Əlin yalnız 10 maxDuration nümunəsi alındıqdan sonra mövcud olduğu güman edilir. Sonra müddət Median filtrdən istifadə edərək süzülür. Median filtrlər "dürtüsel" səs -küyü (yəni aralıq sıçrayışları) aradan qaldırmaqda yaxşıdır. Süzülmüş müddət bir zibil qutusu seçmək üçün istifadə olunur.

Davamlı rejimdə, ara -sıra buraxılmaları aradan qaldırmaq üçün müddət yenidən süzülür. Sonra bir eksponensial filtr istifadə edərək hamarlanır. Süzülmüş müddət, "pitch bend" istifadə edərək notun tezliyini təyin etmək üçün istifadə olunur.

Addım 3: Ekran əlavə edin

Ekran əlavə etmək
Ekran əlavə etmək
Ekran əlavə etmək
Ekran əlavə etmək
Ekran əlavə etmək
Ekran əlavə etmək

Ekran, ST7735 nəzarətçi, 128x128 piksel ölçülü 1.44 düymlük TFT LCD ekrandır. EBay-də bir çox ekran var, məsələn, cihazınızı daha böyük bir toxunma ekranı ilə inkişaf etdirməyi üstün tuta bilərsiniz. ST7735 istifadə etməzdim nəzarətçi və sınamaq istədi.

Mən bu təchizatçıdan aldım. Eyni modul eBay -də çox satılır - fotoşəkilə bənzəyən birini əldə edin.

LCD -də aşağıdakı pinlər var:

  • GND zəmini
  • VCC 3.3V
  • SCL SPI avtobusu SCLK
  • SDU SPI avtobusu Arduino MOSI
  • RES sıfırlama
  • DC məlumatları/əmri
  • CS çipi seçin
  • BL arxa işıq

Modul 3.3V -də işləyir, buna görə onu birbaşa 5V Arduino -ya bağlamayın. Gərginliyi azaltmaq üçün 1k rezistordan istifadə etdim. Bu yaxşı bir təcrübə deyil (ümumiyyətlə, bir potensial bölücü və ya bir gərginlik düşən çip istifadə edilməlidir), lakin bu dövrədə mükəmməl işləyir. Tənbəllik edirdim.

Ekran Arduino tərəfindən verilən 3.3V gücündədir. Arduino tənzimləyicisi kifayət qədər xoşbəxt görünür.

Adafruit çox mehribanlıqla ST7735 kitabxanası nəşr edir və bir neçə digər kitabxana Github -da və başqa yerlərdə mövcuddur. Bir neçəsini sınadım və heç birini bəyənmədim. Bəziləri sadəcə işləmədi və hamısı böyük idi. Bir xətt və bir mətn çəkən bir Arduino eskizi yazırsınız və 75% dolu olduqda yaddaşınızı tapırsınız. Buna görə öz kitabxanamı yazdım.

SimpleST7735 kitabxanasını yükləmək olar (github -dan Step3.zip yükləyin).

Bütün bu kitabxanalara çox oxşar standart bir əmr dəsti var.

Yükləyə biləcəyiniz "sürətli" kitabxanalardan bəziləri xüsusi zamanlama döngələrindən istifadə edir və eyni avtobusda digər, bəlkə də daha yavaş cihazlar istifadə edildikdə üzülür. SimpleST7735, montajçıdan çox C dilində yazılmışdır, buna görə ola biləcəyi qədər sürətli deyil, daha çox portativdir və SPI avtobusunu digər cihazlarla nəzakətlə paylaşır. Şriftlərinizi və nişanlarınızı özünüz etməyə imkan verən bir Windows proqramı yükləyə bilərsiniz.

ST7735 məlumat cədvəlini internetdən yükləyə bilərsiniz. Sən onunla danış

  • CS -ni aşağı salın
  • DC -ni aşağı salın
  • bir bayt əmr göndərin
  • DC -ni yüksək səviyyəyə qoyun
  • sıfır və ya daha çox məlumat baytı göndərin
  • CS -ni yüksək səviyyəyə qoyun

Bunu kitabxanadakı spiSend_TFT_CW () funksiyasında necə etdiyimi görə bilərsiniz. Məlumat baytları bütöv bir piksel cərgəsi və ya nəzarət reyestri üçün bir parametr ola bilər.

Kitabxanadakı ST7735Begin () funksiyası seçdiyim başlatma əmrini göstərir. Fərqli bir ST7735 ekranı (məsələn, daha çox piksel ilə) seçsəniz və ya fərqli bir oriyentasiya istəsəniz, əmrləri dəyişdirmək istəyə bilərsiniz. Ümid edirəm ki, ehtiyacınız olarsa necə dəyişəcəyinizi görmək üçün kodum sizin üçün asandır.

Sxemada "SW1" idarəetmə düyməsi və SW2 ayaq pedalı göstərilir. İdarəetmə düyməsi fərqli "Quraşdırmalar" ı seçir (növbəti addıma baxın) və ya Menyu rejimini seçir. Ayaq pedalı isteğe bağlıdır və yalnız fərqli Quraşdırmaları seçir - Mən etmədim Ayaq pedalını özümə quraşdırdım. Ayarları tez bir zamanda dəyişdirmək və ya aləti dəyişdirmək istədiyiniz zaman performans zamanı faydalıdır.

Addım 4: Menyu Sistemi

Menyu sistemi
Menyu sistemi
Menyu sistemi
Menyu sistemi

Bu Miditheremin3.ino Arduino eskizi, MIDI Theremin -ə menyu sistemi əlavə edir və son komplekt alətini idarə edir.

MIDI Theremin ümumiyyətlə "Play" rejimində işləyir. Sağ əliniz notun keyfiyyətinə nəzarət edir və sol əliniz notun keyfiyyətinə nəzarət edir. LCD, cari notu vurgulanmış bir piano klaviaturasını göstərir.

İdarəetmə düyməsini bir saniyə basıb saxlasanız, proqram "Menyu" rejiminə keçir. Menyu rejimində idarəetmə düyməsini bir saniyə basıb saxlasanız, proqram "Play" rejiminə qayıdır.

Menyu, əsas maddələr və alt maddələr olan bir ağac quruluşuna malikdir. Mövcud menyu elementi vurgulanır. Seçimi sol sonar vasitəsilə yuxarı/aşağı hərəkət etdirirsiniz. Əsas maddə üçün alt menyular yalnız əsas maddə seçildikdə genişləndirilir.

Bir alt menyu seçdikdən sonra düyməni basdığınız zaman həmin maddənin dəyəri vurgulanır. Sol əl indi dəyəri artırır və ya azaldır. Alt menyular seçiminə qayıtmaq üçün düyməni yenidən basın.

Diskret rejimdə menyu ağacıdır

  • Alət

    • 0: Grand Piano
    • Əl dəyişdirmə: normal
  • Sağ əl

    Rejim: diskret

  • Sol əl

    • Rejim: Vibrato
    • Maksimum dərinlik: 10
  • Ölçək

    • Ölçü: əsas Heptatonik
    • Oktavalar: 2
    • Ən aşağı not: 60 C
  • Akkord

    • Akkord: Böyük üçlük
    • İnversiya: 0
    • Polifoniya: 1
  • Tremolo

    • Ölçü: 20
    • Dövr: 10
  • Vibrato

    • Ölçü: 20
    • Dövr: 10

Alət "Grand Piano", "Church Organ", "Skripka" və s. Ola bilər. VS1053 -də bir çoxu eyni səslənən və bir çoxu "güllə səsi" kimi axmaq olan 127 alət var. Əl dəyişdirmə alt menyusu, sol və sağ əllərin funksiyalarını dəyişdirməyə imkan verir - bəlkə də bu şəkildə üstünlük verirsiniz və ya bəlkə dinamiklərin tamaşaçı ilə üzləşməsini istəyirsiniz.

Sağ Əl "Diskret" və ya "Davamlı" ola bilər. "Davamlı" menyu üçün aşağıya baxın.

Sol Əl "Volume", "Tremolo", "Vibrato", "PitchBendUp", "PitchBendDown", "Reverb", "Polyphony" və ya "ChordSize" ə nəzarət edə bilər.

"Həcm" açıqdır. "Tremolo" həcmdə sürətli bir dəyişiklikdir; Variantın ölçüsünü sol əl idarə edir; müddət fərqli bir menyu maddəsi ilə təyin olunur. "Vibrato" meydançada sürətli bir dəyişiklikdir; Variantın ölçüsünü sol əl idarə edir; müddət fərqli bir menyu maddəsi ilə təyin olunur. "PitchBendUp" və "PitchBendDown" çalan notun sahəsini dəyişdirir; sol əl əyilmənin ölçüsünə nəzarət edir. "Reverb" VS1053 -də olduqca təsir edici deyil; sol əl yankının ölçüsünü idarə edir. "Polifoniya", Polifoniya menyusu tərəfindən təyin olunan maksimuma qədər bir anda neçə notun çalındığını idarə edir (aşağıya baxın). "ChordSize", sol akkordun neçə notunun (aşağıya bax) çalındığını idarə etməsi deməkdir.

Musiqidə "miqyas" və ya "açar" istifadə etdiyiniz notların alt hissəsidir. Məsələn, özünüzü C Major Heptatonik miqyası ilə məhdudlaşdırsaydınız, yalnız fortepianonun ağ notlarını çalmış olarsınız. C# Major Pentatonic seçsəniz, sadəcə qara notlardan istifadə edərdiniz (məsələn, İskoç xalq melodiyaları üçün).

Ölçək menyusu sağ əl boşluğunun hansı qeydlərə uyğun olduğunu və neçə oktavanın sağ əl sahəsini əhatə etdiyini seçir. Beləliklə, 1 Major E oktavasını seçsəniz, sağdakı boşluq ən aşağı meydançada E və ən yüksək meydançada E bir oktavalı 8 qutuya bölünür.

Ölçək menyusu bir çox qeyri-adi "qərb musiqisi" tərəzi seçməyə imkan verir, lakin bütün qeydlərin hətta temperamentli klaviaturadan olduğunu güman edir-MIDI belə işləyir, bir notun tezliyini asanlıqla təyin edə bilməzsiniz. Beləliklə, məsələn, Ərəb dilinin dörddə bir ton ölçüsünü istəsəniz, çətinliklə üzləşərdiniz.

Octaves alt menyusu, istədiyiniz miqyasın neçə oktavasını seçməyə imkan verir. Ən aşağı not miqyasın haradan başladığını bildirir.

Normalda bir not çalınanda yalnız o not səslənir. Akkord menyusu eyni anda bir neçə not çalmağa imkan verir. Major Triad akkordu, "seçilmiş notu üst üstə dörd semiton yüksək, notu yeddi yarım ton daha yüksək çal" deməkdir.

İnversiya alt menyusu sizə akkord inversiyalarını verir. Bu o deməkdir ki, akkordun bəzi notlarını aşağıda bir oktavaya köçürür. Birinci İnversiya bütün "əlavə" notları bir oktavanın altına, ikinci İnversiya isə əlavə notlardan bir azını aşağıya endirir və s.

Polifoniya alt menyusu bir anda neçə notun çalındığını bildirir; polifoniya 1 -dirsə, onda bir not başlayanda əvvəlki qeyd dayandırılır; polifoniya daha böyükdürsə, bir neçə not üst -üstə düşə bilər - kilsə orqanı ilə sınayın.

Tremolo menyusu hər hansı bir tremolo dərinliyini və tremolo dövrünün müddətini təyin edir. "100" dövrü saniyədə bir dövr deməkdir. Sol əl tremoloya nəzarət edirsə, Ölçü alt menyusu gizlidir.

Vibrato menyusu istənilən vibratonun ölçüsünü və vibrato dövrünün müddətini təyin edir. Sol əl vibratoya nəzarət edirsə, Ölçü alt menyusu gizlidir.

Proqram, 5 -ə qədər fərqli "Quraşdırma" saxlaya və yükləməyə imkan verir. Quraşdırma menyuda təyin edə biləcəyiniz bütün dəyərləri saxlayır. Menyu rejimindən çıxdığınız zaman cari quraşdırma saxlanılır. Ayarlar EEPROM -da saxlanılır.

Çalma rejimində düyməni basmaq növbəti quruluşa dəyişir. Düyməni bir saniyə basıb saxlasanız, menyu görünür. Ayaq pedalına basmaq da növbəti quruluşa dəyişir; ayaq pedalı heç vaxt menyunu seçmir.

Davamlı rejimdə menyu ağacıdır

  • Alət

    • 0: Grand Piano
    • Əl dəyişdirmə: normal
  • Sağ əl

    Rejim: fasiləsiz

  • Menzil

    • Yarım ton: 12
    • Orta not: 60 C
  • Sol əl

    • Rejim: Tremolo
    • Maksimum dərinlik: 10
  • Tremolo

    • Ölçü: 20
    • Dövr: 10
  • Vibrato

    • Ölçü: 20
    • Dövr 10

Range menyusu sağ tərəfin hansı tezlik aralığını seçdiyini seçir: əhatə olunan yarım tonların sayı və orta not.

Sol Əl yalnız "Volume", "Tremolo" və "Vibrato" nu idarə edə bilər.

Addım 5: Birlikdə Lehimləmə

Birlikdə Lehimləmə
Birlikdə Lehimləmə
Birlikdə Lehimləmə
Birlikdə Lehimləmə
Birlikdə Lehimləmə
Birlikdə Lehimləmə

Dövrəni lövhə üzərində qurdum. Yalnız 4 rezistorla birdəfəlik PCB almağın mənasını görə bilmirəm, amma başa düşürəm ki, bəziləri lövhəni sevmir.

Stripboard planım yuxarıda göstərilmişdir. Dörd lövhə - Arduino, VS1053, displey və striptiz lövhəsi - sendviç yaradır. Layihədə Arduinonun konturu sarı, VS1053 mavi, displey yaşıl və lövhə narıncıdır.

Mavi rəngli xətlər lövhənin mis zolaqlarıdır - lazım olan yerlərdə fasilə qoyduğunuzdan əmin olun. Qırmızı xətlər, lövhənin komponent tərəfindəki bağlantılar və ya başqa yerə gedən tellərdir.

Arduinonun üstündə olduğu üçün VS1053 lövhəsi üçün əlavə uzun sancaqlar istifadə etdim. Ekranın uzaq künclərindəki pinlər və VS1053 lövhələri onları sabitləşdirməyə kömək edir. Modulların montaj delikləri örtülmüşdür, beləliklə onları lehimləyə bilərsiniz. Sizinki yerə bağlı olmadığından əmin olun - modullarımın montaj delikləri yoxdur.

Fərqli bir VS1053 modulunuz və ya fərqli bir ekranınız varsa, Arduino pinlərini dəyişə bilərsiniz:

  • D2 - D10 və A0 - A5 istədiyiniz qaydada istifadə edilə bilər; INO eskizinin başlanmasına yaxın olan pin nömrələrini yeniləyin
  • D11, D12, D13 SPI-yə həsr olunmuşdur və yenidən təyin edilə bilməz
  • D0, D1 serial I/O -ya həsr edilmişdir
  • A6, A7 rəqəmsal sancaqlar kimi istifadə edilə bilməz

HC-SR04 modulları bir lövhə parçası ilə bir-birinə 90 ° -də bağlanır. Düymə onların arasındadır. Şübhəsiz ki, öz şəxsi dizaynınıza sahib olacaqsınız.

Ayaq pedalına sahib olmaq qərarına gəlsəniz, onu bir yuva ilə bağlayın.

Addım 6: PSU əlavə edin

PSU əlavə etmək
PSU əlavə etmək
PSU əlavə etmək
PSU əlavə etmək
PSU əlavə etmək
PSU əlavə etmək

Arduino, VS1053 və ekranın ümumi cərəyanını 79mA olaraq ölçdüm. Məlumat vərəqlərinə görə, Arduino 20mA, ekran 25mA, VS1053 11mA və HC -SR04 hər biri "işləyərkən" 15mA -dır - buna görə 80mA doğru görünür.

Ekran 25mA tutur və 50mA vermək üçün qiymətləndirilən Arduino -nun 3V3 çıxışı ilə təchiz edilmişdir. Beləliklə, dövrə Arduino 3V3 tənzimləyicisini vurğulamamalıdır.

Arduino'nun Vin pinindən dövrə gücləndirə bilərikmi? İnternetdə heç bir yerdə buna cavab tapa bilmirəm. Arduino sənədlərində yoxdur. Bortda olan 5V tənzimləyici (Vin-5)*80 mVt gücündə dağılacaq. Onun maksimum yayılması nədir? Görünür, heç kim həqiqətən bilmir. Məlumat cədvəlinə görə, minimum mis yastıqlı bir SOT-223 paketindəki NCP1117 tənzimləyicisi 650 mVt gücündə enerjini dağıda bilər. Beləliklə, 80mA cərəyan üçün

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

Təhlükəsiz olmaq üçün, güman edirəm ki, Vin -də 9V -dən artıq olmamalıyıq.

Xarici 5V PSU daha təhlükəsiz olardı, amma Arduino tənzimləyicisini istifadə etdim və bu yaxşıdır.

Dövrəni gücləndirmək üçün LI-ion şarj cihazı və gücləndirici PSU birləşdirən bir modul seçdim. EBay -də və ya "Li Charger Boost" axtarışında geniş yayılmışdır.

Şarj cihazı mürəkkəb sabit cərəyan və sabit gərginlik alqoritminə malik TC4056 çipindən istifadə edir. USB güc girişini çıxardığınız zaman, 2uA -dan az batareya boşalması ilə gözləmə rejiminə keçir. TC4056 temperatur algılama üçün bir girişə malikdir, lakin modul lövhəsində yoxdur (pin topraklıdır).

Gücləndirmə dövrəsinin 50-300mA çıxış cərəyanı ilə normal batareya gərginliyi aralığında 87-91% səmərəli olduğu iddia edilir. (Özüm ölçmədim.) Bu olduqca yaxşıdır.

Ancaq yükü çıxardığınız zaman "gözləmə" cərəyanı 0.3mA -dır, bu da zəifdir. 300 mAH hüceyrə 6 həftə ərzində boşaldılacaq. Bəlkə də indiyə qədər boşaldılacaqdı, onun gərginliyi zərərli bir həddə düşəcəkdi.

Batareyanı gücləndirici PSU ilə birləşdirən tək bir yol var. Parçanı asanlıqla kəsə bilərsiniz (şəkilə baxın). Bir açar vasitəsi ilə kəsikləri kəsmək üçün yuxarıdakı böyük rezistora bir tel lehimləyin.

Test etdiyim lövhə ilə cərəyan indi 0.7uA -dır. Beləliklə, hüceyrə 50 il davam edəcək-əlbəttə ki, yox, Li-ion hüceyrəsinin öz-özünə boşalması ayda 3% civarındadır. 300mAH hüceyrə üçün ayda 3% 13uA cərəyandır. 300uA ilə gücləndirmə dövrəsinin lazım olduğunu müqayisə edin. Hesab edirəm ki, gücləndirici dövrəni söndürməyə dəyər.

Hüceyrə doldurularkən yükü işə salmamalısınız. Yükün çəkdiyi cərəyan şarj alqoritmini qarışdıracaq.

Buna görə ya "Açıq" və ya "Şarj" mövqeyində olan 2 qütblü keçid açarına (məsələn, sürüşmə açarına) ehtiyacınız var.

Daxili USB yuvasına məhəl qoymadan ayrı açarlara və öz USB yuvanıza lehim verə bilərsiniz.

Yoxsa daxili yuvanı saxlaya və yuva ilə çip arasındakı əlaqəni kəsə bilərsiniz. Yuxarıdakı diaqramda haranın kəsiləcəyi göstərilir.

Artan PSU -nun 5V çıxışını Arduinonun 5V pininə qoşun. İnsanlar "bunu etmə - Arduinonun qoruyucu diodunu aşırsan" deyirlər. Ancaq Nano -da diodun USB tərəfinə bağlı bir pin yoxdur. Yalnız 5V pininə qoşulun. Baş verə biləcək ən pis şey nədir? Qiyməti 3 funtdan aşağı olan bir Nano itirirsiniz.

PSU dövrəsi dinamiklər üçün gücləndiricini də gücləndirməlidir.

Addım 7: Dinamiklərin əlavə edilməsi

Dinamiklərin əlavə edilməsi
Dinamiklərin əlavə edilməsi

MIDI Theremin -in portativ olmasını istəyirdim. Öz dinamikləri və gücləndiriciləri olmalıdır.

Öz gücləndiricinizi qura və ya gücləndirici modulu ala bilərsiniz, sonra dinamikləri alıb çantaya yerləşdirə bilərsiniz. Amma mənası nədir? Techno-midden-də xeyriyyəçilik mağazalarından aldığım və maşın yükləmə satışlarından hər birini 1 funt sterlinqdən aşağı qiymətə aldığım yarım onlarla güclü dinamik var.

Solğun mavi dinamiklər 5V -də yalnız 30mA istifadə edir, lakin zəif bas reaksiyasına malikdir. Qara radio gözəl bir forma - HC -SR04 modullarını künclərə və ekranı üst səthə yerləşdirməyi təsəvvür edə bilərəm. Boz rəngli "düz panel" lər ideal bir USB yuvasından təchiz edilmişdir.

Bir az axtarsanız, onsuz da gözəl qutusu olan güclü dinamikləri tapmalısınız. Elektrik təchizatı gərginliyində işlədiklərindən əmin olun. Dörd AA hüceyrəsi ilə təchiz olunarsa, ehtimal ki, 5V -də yaxşı işləyəcək.

Ancaq techno-midden-i daha da qazdım və "hər şeyi 0.50 funt sterlinq" tövləsində aldığım çox gözəl bir bağlama stansiyası tapdım. Şarj cihazını və IR uzaqdan idarəetməsini itirmişdi, amma yaxşı işləyir.

Öz gücünüzlə işləyən dinamiklər qurmaqda qərarlısınızsa, burada yaxşı bir təlimat var. Və ya PAM8403 və ya Gücləndirici üçün Təlimatlar axtarın.

Addım 8: Docking Station

Docking Station
Docking Station
Docking Station
Docking Station
Docking Station
Docking Station
Docking Station
Docking Station

Bu çox gözəl Logitech portativ dok stansiyasıdır. Eyni şeyi alacağınız ehtimalı azdır, amma tikinti prinsipləri oxşar olacaq.

Docking stansiyasına öz şarj edilə bilən Li-ion hüceyrəsi və gücləndirici PSU daxildir. (Sizinki yoxdursa, yuxarıda təsvir olunan PSU qurun və növbəti bir neçə paraqrafı atlayın.)

Amperinizdə Li-ion hüceyrəsi varsa, ehtimal ki, gücləndirici bir PSU var. (Tək Li-ion hüceyrəsinin gərginliyi əlverişsiz dərəcədə aşağıdır, buna görə də gücləndirməyə ehtiyac var.)

Birincisi, gücləndiriciyə olan güc əlaqələrini tapın. PSU -da böyük hamarlaşdırıcı kondansatörlər olacaq - lazımsız PCB şəklinə baxın. Alt tərəfdəki lehim yastiqciqlarindəki gərginliyi ölçün. Mənfi yastıq dövrənin "torpaq" yastığı olmalıdır. PCB daşqınlarla dolu olsaydı, torpaq olacaq. Və ya torpaq lövhənin bir çox yerinə gedən qalın bir yol ola bilər.

Gücləndiricinin çıxış mərhələsində böyük kondansatörlər ola bilər - bunu etmək köhnə üsuldur. İşləyərkən aralarındakı gərginliyi ölçün. Yəqin ki, musiqiyə görə dəyişəcək və enerji təchizatı kondansatörlərinin gərginliyinin yarısını təşkil edə bilər. Bunlar səhv kondansatörlərdir - PSU -da olanları istəyirsən.

Lövhənin həm müsbət, həm də mənfi gücə sahib olması çox az ehtimal olunur (böyük stereo güc amperləri var, amma belə bir yüngül çəki görməmişəm). Həqiqətən zəmin və müsbət güc seçdiyinizə əmin olun.

İstifadə etdiyim Logitech bağlama stansiyası analoq gücləndiricinin yanında mürəkkəb rəqəmsal sxemlərə malikdir. Sizinki belədirsə, 5V və ya 3.3V üçün hamarlaşdırıcı kondansatörlərə sahib ola bilər və amper üçün bəlkə də 9V olacaq. Bütün böyük kondansatörlərdəki gərginliyi ölçün və ən böyük gərginliyi seçin.

Seçdiyiniz güc bağlantısının gərginliyinin açma/söndürmə açarına bağlı olduğundan əmin olun. (Anahtarı söndürdüyünüz zaman, kondansatör boşaldıqca gərginliyin düşməsi bir müddət çəkə bilər.)

Güc mənbəyi olaraq seçdiyiniz hər şeyə telləri lehimləyin. Logitech dok stansiyası, Arduino'nun Vin pininə gözəl bir şəkildə bağlanacaq 9V ətrafında istehsal edir.

Güclü dinamiklərinizdə və ya yerləşdirmə stansiyanızda audio giriş üçün 3,5 mm cek olmalıdır. Lehim birləşmələrindən biri torpaqlanacaq - ehtimal ki, lövhənin kənarına ən yaxın olanı. Torpaq olduğunu düşündüyünüzə bağladığını yoxlamaq üçün bir ohm metr istifadə edin. Bəzi səs girişləri ilə jakın "qalxanı" birbaşa yerə bağlanmır. Üzür. Belə ki, jak sancaqlarından heç biri zəmində deyilsə, bu an üçün narahat olmayın. (VS1053 modulundakı jakın "qalxanı" da üzür.)

Jak "torpaq" pininin enerji təchizatı zəmini ilə eyni gərginlikdə olduğunu yoxlamaq üçün sayğacdan istifadə edin.

Logitech docking stansiyası qəribə idi. Logitech jak soketinin "zəminini" VS1053 lövhəsinin "zəmininə" bağlasaydım (audio kabel istifadə edərək, yaxşı işləyirdi, amma Theremin sistemimə olan cərəyan 80mA -dan 200mA -ya yüksəldi. Buna görə əmin oldum. Mən bu iki "zəmini" birləşdirmədim. Yaxşı işləyir, amma nə baş verdiyini bilmirəm.

Addım 9: Dava Yaratmaq

Dava qurmaq
Dava qurmaq
Dava qurmaq
Dava qurmaq
Dava qurmaq
Dava qurmaq
Dava qurmaq
Dava qurmaq

Hansı vəziyyətdə edəcəyiniz, əlinizdə olan materiallara, işləməkdən zövq aldığınız şeyə və seçdiyiniz güclü dinamiklərə bağlıdır. Nə etsəniz də, sonarların bir -birindən uzaqlaşaraq 45 ° -də yuxarı qalxmasını təmin etməlisiniz. Sonra ekran və düymə olacaq.

Digər Instuctables -a baxsanız, qalay lövhəsinin böyük bir pərəstişkarı olduğumu biləcəksiniz. Formaya bükülə bilər, yumşaq lehimlənə və rənglənə bilər. Şəkillər əşyaları necə düzəltdiyimi göstərir.

Üst üçbucaq qalay lövhə əyilmiş, lehimlənmiş, doldurulmuş, hamarlanmış və boyanmışdır. Kompüterlər üçbucağa isti yapışdırılır və aralıq rolunu oynamaq üçün kiçik ağac parçaları var.

"Ön panel" 1 mm polistirol təbəqədir. Dayaqlar daha çox polistirol təbəqədən hazırlanır və özünü vurma vintləri lövhəni yerində saxlayır. Taxta dayaqlar, docking stansiyasının qarşısındakı boşluğa isti şəkildə yapışdırılır və kompüterlər uzun vintlər ilə vidalanır.

3D bir şey çap edə biləcəyimi düşünürəm, amma gedərkən hər şeyi tənzimləyə biləcəyim köhnə məktəb üsullarına üstünlük verirəm. Bir şey etmək "mühəndislik" dən çox kəşf səyahətidir.

Addım 10: Gələcək İnkişaf

Gələcək İnkişaf
Gələcək İnkişaf

Necə aləti daha da inkişaf etdirə bilərdiniz? İstifadəçi interfeysini dəyişə bilərsiniz. Düyməni IR məsafə sensoru ilə əvəz edə bilərsiniz, beləliklə cihaza toxunmaq lazım deyil. Və ya menyunu idarə etmək üçün bir düymə və sol tərəfdən deyil, bir toxunma ekranı istifadə edə bilərsiniz.

Ölçək menyusu "Qərb musiqisi olmayan" tərəzi seçməyə imkan verir, lakin bütün qeydlərin hətta temperamentli klaviaturadan olduğunu güman edir-MIDI belə işləyir Ərəb çeyrek ton ölçüsündə hətta temperamentli olmayan ölçülü notlar var. Digər tərəzilər heç bir şəkildə temperli bir klaviatura ilə əlaqəli deyil. Bu cür qeydlər hazırlamaq üçün pitch-bend istifadə etmək mümkündür. Menyunun hər notun tezliyini təyin etməsi üçün bir yol lazımdır. Düşünürəm ki, pitch bend kanaldakı bütün qeydlərə şamil oluna bilər. Hal -hazırda yalnız bir kanaldan istifadə edirəm - kanal 0. Yəni polifonikdirsə və ya akkordları varsa, hər notu fərqli bir kanalda ifa etməli olacaqsınız.

Alət baraban sintezatoru ola bilər. Sol əl Melodik Tomun sahəsini təyin edə bilər, sağ sonar isə baraban çalmaq üçün vurduğunuz piezo sensoru ilə əvəz olunur.

İki əl iki fərqli cihazı idarə edə bilər.

Sol əl alət seçə bilər.

Bu layihənin təxminən yarısında, Zeppelin Design Labs tərəfindən Altura MkII Theremin MIDI Denetleyicisini kəşf etdim. Gözəl bir alət kimi görünür.

Baxmağa dəyər bir neçə video var:

(Alturadan "çöplər" sözünü oğurladım və içərisində qalmağınıza kömək etmək üçün bir çömçə daxil olanda genişlənəcəyi fikrini.)

Mənim MIDI Theremin bir neçə cəhətdən Alturadan fərqlənir. Mine, öz MIDI synth, amp və s. İlə öz səsini çıxarır; Altura xarici sintezə mesaj göndərir. Yaxşı olar ki, onların iş tərzinə üstünlük verəsiniz. Mine, 7 seqmentli bir ekrandan çox TFT ekranına malikdir - bu daha yaxşıdır, amma daha böyük bir ekranın bir inkişaf olacağını düşünə bilərsiniz. Mənimki parametrləri qurmaq üçün menyulardan istifadə edir, onlarınki isə düymələrdən istifadə edir. Menyular tələb olunur, çünki mina giriş cihazı (sonarlar) və synth üçün çoxlu nəzarətə ehtiyac duyur; Alturanın daha az nəzarətə ehtiyacı var. Bəlkə də canlı performans zamanı düymələr daha yaxşıdır. Bəlkə də mənim düymələrim olmalıdır. Quraşdırmanı seçmək üçün bir düymə yaxşı ola bilər.

Altura, notların nə qədər sürətli çalınacağını təyin edən "Artikulyasiya" nəzarətinə malikdir. Bunu proqrama daxil etməmişəm - bəlkə də orada olmalıdır. Alturanın Arpeggiator (addım ardıcıllığı) var. Bu yaxşı bir fikirdir; mənimki eyni şey olmayan akkordlar var.

Deməli, budur. Ümid edirəm MIDI-Theremin qurmaq və istifadə etməkdən zövq alırsınız. Təsvirimdə hər hansı bir səhv tapsanız və ya hər hansı bir təkmilləşdirmə düşünə bilsəniz, mənə bildirin.

Tövsiyə: