Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu, həqiqətən sadə bir tutumlu toxunma pianosudur. Meyvələrə, soda qablarına, su şüşələrinə, alüminium folqa şeridlərinə və s. Vurun və kompüterinizdən polifonik fortepiano musiqisi alırsınız. Proqram yazıldığına görə, layihənin Arduino versiyası ilə birləşməsi 10 dəqiqədən çox çəkməməlidir.
Ehtiyacınız var:
- bir Arduino (8 düymə üçün Mega, 6 düymə üçün Uno) və ya qara həb STM32F103C8 lövhəsi (Aliexpress-də 2 dollar) üstəgəl UART-USB çeviricisi (məsələn, Arduino və ya CH340)
- USB kabeli
- bir az alüminium folqa
- test klipləri idealdır, ancaq atlayıcılar və ataçlar edəcəklər (bunun fikri buradan)
- meyvə və ya oyma xəmiri və ya qələmlə rənglənmiş sahələri olan kağız parçaları
- kompüter
Əlavə komponentlərə ehtiyac yoxdur, çünki bu, martin2250 -nin parlaq ADCTouch kitabxanasının kodundan istifadə edir və Arduino MIDI əmrlərini kompüterə ardıcıl olaraq göndərir. Arduinonun audio oxudulması ya kompüterdəki python skripti, ya da saçsız orta səviyyə vasitəsilə həyata keçirilir.
STM32F103C8 inkişaf etdirmə lövhəsindən istifadə edirsinizsə, daha da gözəldir: fortepiano saçsız orta hissəyə ehtiyac olmadan əsl USB MIDI nəzarətçisinə çevrilir.
Qeyd: Arduino/STM32F1 -in statik elektrikdən zərər görməməsi üçün, xüsusən quru bir gündə və ya xalçada, cihaz işləyərkən alüminium folqa və ya test kliplərinə toxunmamağı məsləhət görürəm. Əksinə, müqaviməti bir qədər ESD qoruması təmin etməli olan meyvəyə, çətənəyə və s
Addım 1: Arduino Kitabxanaları
Arduino IDE -də Sketch | seçin Kitabxana daxil edin | Kitabxana müdiri. ADCTouchSensorumu axtarın. Kitabxananı quraşdırın.
Sonra Fayl | seçin Nümunələr | ADCTouchSensor | Kapasitiv Piano.
Bir Arduino varsa, Arduinonu kompüterinizin USB portuna qoşun və CapacitivePiano eskizini Uno və ya Mega -ya yükləyin. Eskiz, 8 (Mega) və ya 6 (Uno) kapasitiv sensordan hansının işə düşdüyünə dair məlumatları USB seriyası vasitəsilə kompüterə göndərəcək.
Bir STM32F103C8 varsa, əvvəlcə önyükleyicini quraşdırın və bunun üçün ilk üç addımı izləyərək bunun üçün Arduino IDE -ni (addMidiHID filialının filialı ilə birlikdə) qurun. Sonra Kitabxana Menecerinə qayıdın və USBHID_stm32f1 kitabxanamı axtarın. Quraşdırın.
Addım 2: Piyano düymələrinə aparatları əlavə edin
Arduino və ya STM32F103C8-dəki A0-A7 (Uno-da A0-A5) pinlərindən piano düymələri kimi işlətmək istədiyiniz hər hansı bir iş aparın. Məsələn, hər birinə alüminium folqa parçalarına gedən timsah klipləri və ya test klipləri olan tullananlardan istifadə etdim və ya açarı olaraq bir qutu soda və ya portağal qoydum. Alüminium folqa birbaşa açar kimi istifadə edilə bilər. Və ya bir meyvə və ya tərəvəz və ya xəmir parçasına tel yapışdırmaq olar.
Addım 3: Proqramı Qurun: Seçim A: Arduino və Saçsız MIDI -ni Serial Körpüyə
Arduinonun USB seriyalı çıxışını kompüterinizin sintezator proqramı ilə əlaqələndirmək üçün Saçsız MIDI-ni Serial Bridge-ə (Win/OSX/Linux) yükləyib quraşdıra bilərsiniz.
Windows 7 və ya daha yeni bir versiyanız varsa, quraşdırılmış Microsoft Wavetable GS Synth-dən istifadə edə bilərsiniz, buna görə quraşdırmanız lazım olan şey Tüksüzdür. Bəzi digər oxutma proqramları loopMIDI tələb edir.
Digər sistemlərdə VirtualMidiSynth və ya Garageband kimi bir MIDI sintezatoruna ehtiyacınız ola bilər. İstəsəniz Windows -da VirtualMidiSynth istifadə edə bilərsiniz.
Addım 4: Proqramı Qurun: Seçim B: Arduino və Python
MIDI qeydlərini oxuyan sadə bir Python skriptindən də istifadə edə bilərsiniz.
Kompüterinizdə Python yüklü olduğundan əmin olun. Ya 2.7 ya da 3.x edəcək.
Pygame Python paketinin quraşdırıldığından əmin olun. Əks təqdirdə, əmr satırından işə salın:
python -m pip pygame qurun
Arduino seriya portunuzun hansı ünvan olduğunu öyrənin. Arduino IDE -də Alətlər | altında göstərilən seriyalı portlar olacaq Liman.
Yüklədiyiniz CapacitivePiano paketində, layihənin PC tərəfi olan music.py skriptini tapacaqsınız.
Addım 5: Proqramı Qurun: Seçim C: STM32F103C və MIDI Sintezator Proqramı
STM32F103C varsa, MIDI klaviatura nəzarətçisi ilə işləyən hər hansı bir proqramdan istifadə edə bilərsiniz.
Bir kompüterdə Virtual MIDI Piano Keyboard (VMPK) istifadə edirəm. STM32F103C qoşulduqda Redaktə | seçin MIDI Əlaqələri | MIDI Bağlantısını daxil edin və Maple MIDI və ya Diro Synth seçin.
Bir Android cihazında Ümumi Analog Sintezatoru və Synth DX7 Pianodan (USB OTG kabeli ilə) uğurla istifadə etdim.
Addım 6: Oyna
Arduino -nu CapacitivePiano eskizi ilə kompüterə qoşun. Kapasitiv düymələrin kalibrlənməsinə icazə vermək üçün yalnız güc LED -i işə salınana qədər heç bir "düyməyə" toxunmayın.
Saçsız seçimi üçün, Tüksüz MIDI körpüsünü işlədin, açılan siyahıdan serial portunu seçin. Sonra bir sintezator seçin. Windows -da Microsoft Wavetable GS Synth seçsəniz, hər şey sadəcə işləməlidir.
Bunun əvəzinə Python skriptini istifadə etmək istəyirsinizsə, piano.py qovluğuna sahib olduğunuzdan əmin olun və işləyin:
python piano.py serial portalı
burada serialport, Arduino IDE -dən (məsələn, Windows -da COMx) olan serial portdur.
STM32F103C8 istifadə edirsinizsə, ən çox sevdiyiniz MIDI sintezator proqramını kompüterdə və ya mobil cihazda istifadə edin.
İndi "düymələrinizə" basın və əylənin!
Uşaqların sınaması üçün təhsil fikirləri:
- Alüminium folqa üzərində fərqli əşyalarla sınaq keçirin və hansının işlədiyini və hansının işləmədiyini görün-sonra bu işlərin və digərlərinin niyə işləmədiyini danışın.
- Playdough həqiqətən yaxşı işləyir (və sonra folqa və kliplərə belə ehtiyacınız yoxdur-sadəcə bomba kimi görünsə də, telləri oynatma çubuğuna yapışdıra bilərsiniz!).
- Bir kağız parçası götürüb qələmlə kölgə sala bilərsiniz (çox qaranlıq olmamalıdır, amma çarpaz yumurtadan çıxarmaq yaxşıdır) və içərisinə kəsə bilərsiniz.
- Timsah klipini ağ taxtanın ağzı kimi həqiqətən böyük bir metal əşyaya bağlaya və nəhəng açarlar düzəldə bilərsiniz.
- Təcrübə etmək üçün, daha kiçik bir adamın tellərdən birinə yapışdırılmış bir timsah klipini tutması və daha sonra daha böyük bir şəxsin daha kiçik bir adamla əl sıxması və ya beşə qaldırması və bunun qeydiyyata alındığını görməkdir. Daha sonra onu tutan daha böyük bir insanla kiçik bir adamın onlara toxunması ilə yenidən cəhd edin.
Arduino ilə əlaqəli hər şeyi dəyişdirdikdən sonra, "sıfırla" düyməsini basaraq və ya USB bağlantısını yenidən bağlayaraq Arduino'yu sıfırladığınızdan əmin olun (və python kodunu yenidən işlədin, ehtimal ki, qəzaya uğrayacaq). Sensorları yenidən kalibrləmək üçün.
Elektrik tutumu və kapasitiv algılama haqqında danışmaq olar.