Mündəricat:

Haptik Fleyta Müəllimi: 10 addım
Haptik Fleyta Müəllimi: 10 addım

Video: Haptik Fleyta Müəllimi: 10 addım

Video: Haptik Fleyta Müəllimi: 10 addım
Video: Yoshiko Obora - MAI-BATARAKI II - Joji Yuasa 湯浅譲治 2024, Noyabr
Anonim
Image
Image
Parça siyahısı
Parça siyahısı

Yüksək B mənzili üçün parmaklarınızı unutmaqdan yoruldunuz və özünüzü qrup yoldaşlarınızın qarşısında utandırdınızmı? Yox? Yalnız mən? Fleyta barmaqlarımı əzbərləməyimə kömək etmək üçün (məşq etmək əvəzinə), hər notu necə çalacağımı xatırlamağa kömək etmək üçün Haptik Fleyta Müəllimi qurdum. Haptik bir fortepiano müəllimi haqqında yazılan bu yazını oxuduqdan sonra fleyta üçün bir əl hazırlamağa çalışdım. Bu şeyi həyata keçirmək üçün iki Arduino, bir neçə səs siqnalı və bir çox tel istifadə etdim. Haptik Fleyta Müəllimi, flütdəki bütün notların (mənzillər və iti olanlar da daxil olmaqla) barmaqlarını bilir və xromatik miqyasda çalmağı öyrədə bilər! Bu fleyta müəllimindən istifadə etmək üçün əlcəklər geyinirsiniz və sonra düyməni basaraq LCD -dəki notu və ya mahnını seçirsiniz. İstədiyiniz not və ya mahnı göstərildikdə, digər düyməni vurun və fleytanın basıldığı barmaqları titrəməyə başlayaraq barmağınızı göstərin. Hər barmağınızı titrəyərək, fikir budur ki, not üçün barmaqlar əzələ yaddaşı olacaq. Bu layihə əsasən flüt çalmağı bir qədər bilən və notlar və mahnılar üçün barmaqları əzbərləməkdə kömək ehtiyacı olan insanlar üçündür. Bu layihə, koordinasiyasına və ya əllərini zədələyə bilməyən yerlərdə zədələnməyənlərə də kömək edə bilər. Bu layihəni sınamadan əvvəl Arduino və bəzi sxemlərin əsaslarını bildiyinizə əmin olun. Girişdən kənarda, qurma prosesinə keçək!

Addım 1: Parça siyahısı

Parça siyahısı
Parça siyahısı
Parça siyahısı
Parça siyahısı

Zəruri:

2 Arduino

Çörək lövhələri

LCD ekran - notu/mahnını göstərmək üçün

2 Düymələr - hansı notu/mahnını çalacağını seçmək üçün

Tellər

10 Titrəmə Motoru - əlcəklərə yapışdırmaq

Bir cüt əlcək - mühərrikləri bağlamaq üçün

2330 ohm rezistorlar

1 10k potensiometr

3 L293D çipi

İsteğe bağlı:

1 Passiv Buzzer

Təcrübə edərkən elektronikanı yerləşdirmək üçün bir qutu

Alətlər:

İsti Yapışqan Tabancası

Lehimleme dəmir

Tape

Tel çıxarıcılar

Beyniniz (ən vacib)

Addım 2: I2C Protokolu

I2C protokolu
I2C protokolu

On mühərriklə məşğul olduğumuza görə və Arduino yalnız PWM sancaqları olan mühərriklərin sürətini idarə edə bildiyindən, on mühərriki idarə etmək üçün birdən çox Ardunioya ehtiyacımız var. Hər bir Arduinonun təxminən 6 PWM pinləri var, buna görə də iki Arduino -nu bağladıqda çoxlu 12 PWM sancağı olur. İki Arduino -nu birləşdirmək üçün I2C protokolundan istifadə edirik. Sadə dillə desək, bu, bir "usta" Arduinonun digər "kölə" Arduinoları tellər vasitəsilə göndərərək idarə etməsinin bir yoludur. I2C protokolunu qurmaq üçün əyilmə sxemimə baxın. İki Arduinonun A4, A5 və GND -ni birləşdirin. Kodda usta Arduino teller vasitəsilə bir dəyər göndərir və qul Arduino onu alır. Dəyərdən asılı olaraq, qul Arduino fərqli bir vəzifə yerinə yetirir. Məsələn, fleytamda aşağı C ifa etmək istəsəm, usta Arduino, aşağı C -nin dəyərini tellər vasitəsilə göndərir (eyni zamanda sağ əlin hansı barmaqlarının titrəyəcəyini də bildirir) qul Arduino -ya barmaqlarını vızıltı etməsini söyləyir. aşağı C üçün burada I2C protokolu haqqında daha çox məlumat var.

Addım 3: Motorlarınızı hazırlayın

Motorlarınızı Hazırlayın
Motorlarınızı Hazırlayın
Motorlarınızı Hazırlayın
Motorlarınızı Hazırlayın

Bu mühərriklər ucuz və olduqca pisdir. Tellər mühərrikdən asanlıqla düşəcək və yararsız hala düşəcək. Mühərriki bağlamaq üçün telin motora bağlandığı yerə isti yapışqan qoymaq lazımdır. Sonra motorun incə tellərini diqqətlə soyun və daha yaxşı telləri motor tellərinə lehimləyin. Biri qüsurlu olsa və ya birini sındırsanız yaxşıdır, çünki fleyta çalanda sağ baş barmağınız üçün heç bir açar yoxdur, buna görə yalnız 9 mühərrikə ehtiyacınız var.

Addım 4: Motorları əlcəklərə quraşdırın

Motorların Əlcəklərə Montajı
Motorların Əlcəklərə Montajı
Motorların Əlcəklərə Montajı
Motorların Əlcəklərə Montajı

Əvvəlcə əlcəkləri taxın və uyğun olduğundan əmin olun. Onları saxlayın və motorlarınızı tutun. Titrəmə mühərriklərinin rahat oturacağı və uclarının maneəsiz dönəcəyi bir yer tapın. Sonra bir az isti yapışqan götürün və əlcək əlinizdə olarkən (və ya istiliyin öhdəsindən gələ bilmirsinizsə) motorları istədiyiniz yerə barmağınıza yapışdırın. Sonra lehimlədiyiniz yaxşı telləri götürün və əlcək uzunluğuna yapışdırın ki, qarışmasınlar. Daha sonra Arduino -ya bağlanacaq daha uzun tellər alın (kifayət qədər uzun olduğundan əmin olun ki, Arduino -ya qoşulduqda sərbəst hərəkət edə biləsiniz (ehtimal ki, qol boyu)) və onları mühərrikə qoşulmuş tellərə lehimləyin.. Hər bir motorun iki telini bir -birinə bükün ki, hər bir motorun hansı telləri idarə etdiyini biləsiniz. Motorları və əlcəyi hazırladığınız üçün, çörək taxtasındakı mühərriklərin idarəetmə mərkəzini quracağıq.

Addım 5: LCD -yə qoşulun

LCD qoşun
LCD qoşun
LCD qoşun
LCD qoşun
LCD qoşun
LCD qoşun

LCD-ni Arduino-ya necə bağlayacağınızı göstərən bir neçə fərqli addım-addım təlimat var. Arduino veb saytına necə bağlanacağınızı izah edən bir link. Arduino veb saytındakı problem, dərslikdə mühərrikləri idarə etmək üçün ehtiyac duyduğumuz LCD üçün PWM pinlərindən istifadə edilməsidir. Beləliklə, mühərriklər üçün PWM pinlərini boşaltmaq üçün LCD -nin hansı pinlərə bağlandığını dəyişdim. Etdiyim işləri görmək üçün diaqramımı yoxlayın. Xüsusilə, dəyişdirdiyim şey budur: rs = 7, en = 11, d4 = 5, d5 = 8, d6 = 12, d7 = 13. LCD ekran üçün 10k qazandan istifadə edirsiniz. LCD -ni qul Arduino -ya deyil, master Arduino -ya bağladığınızdan əmin olun.

Addım 6: L293D Quraşdırma

L293D Quraşdırma
L293D Quraşdırma
L293D Quraşdırma
L293D Quraşdırma
L293D Quraşdırma
L293D Quraşdırma

Yaxşı, bu çiplər motor sürücüləridir. Hər sürücü, kodda motorun istiqamətini tərsinə çevirmək qabiliyyəti ilə 2 mühərriki idarə edə bilər. Məqsədlərimə görə çoxlu mühərrikim var və çox yerim yoxdur. Mühərrikin hansı tərəfə döndüyünün əhəmiyyəti olmadığından (necə döndüyündən asılı olmayaraq səs -küy salır), hər bir motorun bir ucunu yerə, digər ucunu da motor sürücüsünün çıxış pininə bağladım və çipin əvəzinə 4 mühərriki idarə etməsinə icazə verdim. of 2. Onları necə bağlayacağımı yuxarıdakı kabel diaqramımdan yoxlayın. Hər bir pinin L239D çipində nə etdiyi haqqında daha çox məlumat üçün məlumat cədvəlini də əlavə etdim. Növbəti addımda bunu əhatə edəcəyim üçün hələlik giriş pinlərini boş buraxın.

Addım 7: Arduino-nuzu L293D Quraşdırmasına Bağlayın

Arduino-nuzu L293D Quraşdırmasına Bağlayın
Arduino-nuzu L293D Quraşdırmasına Bağlayın
Arduino-nuzu L293D Quraşdırmasına Bağlayın
Arduino-nuzu L293D Quraşdırmasına Bağlayın

İndi üç komponentinizi (motorlu əlcək, L293D qurğusu və 2 Arduinoslu LCD displey) götürün və birləşdirin. Usta Arduino sağ əlinizdəki motorları, qul Arduino isə sol əlinizdəki motorları idarə edəcək. Usta Arduino -da əlaqə: 3 -cü pin üçün Rpointer motoru; Rmiddle = 10; Üzük = 9; Rpinky = 6. Qul Arduino üçün qoşulun: Lpointer = pin 11; Lmiddle = 10; Lring = 9; Lpinky = 6; Lthumb = 5. Arduinodan gələn tellər, idarə etdiyi motorun qoşulduğu pimin yanındakı L293D pininə bağlanır. Dəqiq ləkələr üçün donumu yoxlayın. Ayrıca, düymələrinizi burada qurmalısınız. Bunlar tez qurulmalı, sadəcə fritzingimi izləyin. Düymələr üçün 330 ohm rezistorlardan istifadə etdim. Birini pin 2 -yə, digəri isə hər ikisini master Arduino'ya bağlayın. 2 -ci pinlə əlaqəli olan notu seçəcək və 4 -cü pinlə əlaqəli olanlar mühərrikləri LCD -də göstərilən qeyd üçün titrədəcək.

Addım 8: Hər iki Arduino üçün kod

Hər iki Arduino üçün kod
Hər iki Arduino üçün kod

Hər bir Arduino üçün iki ayrı kod dəstinə ehtiyacımız var. Onları GitHub -a yüklədim. Hər birinin yüklədiyi Arduino adları var. Koduma baxdığınızdan əmin olun. Hər hansı bir sualınız varsa, orada cavablandırılmalıdır.

Addım 9: Gücləndirin

Gücləndirir
Gücləndirir

Mühərriklər çox güc istifadə etdiyinə görə onu gücləndirmək üçün 2 9V batareya istifadə etdim. Yəqin ki, ən yaxşısı deyil, amma mənim üçün işləmişdir. Hər iki Arduinonun vinini çörək lövhələrinin elektrik raylarına bağlayın və ustanın zəmini çörək lövhələrinin raylarına bağlayın. İndi fleytanızla məşğul olmağa hazırsınız!

Addım 10: Bəzi Əlavələr

Bəzi Əlavələr
Bəzi Əlavələr
Bəzi Əlavələr
Bəzi Əlavələr
Bəzi Əlavələr
Bəzi Əlavələr

Kodumda bir neçə sətir şərh etdiyimi görmüş ola bilərsiniz. Bu xətlər fleyta müəllimini sizinlə birlikdə passiv bir səs siqnalı ilə oynamağa məcbur etmək üçündür. Səs siqnalım yox idi, buna görə də bu xüsusiyyəti sadəcə sərin bir şey kimi əlavə etdim. Sadəcə kodumu yazın və Arduino üzərindəki açıq bir pinə səs siqnalı əlavə edin. İndi müəllimlə birlikdə bir oyun var!

Fleyta müəlliminizi portativ etmək üçün elektronikanı bir qutuya və ya çantaya qoyun!

Daha çox mahnı proqramlaşdıra bilərsiniz! Hər bir notu bir metod olaraq aldığım üçün, keçid ifadəmə başqa bir şərt əlavə edib oynamaq istədiyiniz mahnının notlarının sırasını qoya bilərsiniz. Vaxtı dəyişdirmək üçün hər bir qeyd arasındakı gecikməni dəyişdirin.

Aşağıdakı şərhlərdə suallarınız və ya narahatlıqlarınız varsa mənə bildirin. Xoşbəxt flüt çalın!

Tövsiyə: