Mündəricat:
- Addım 1: Plan hazırlayın
- Addım 2: Material toplayın
- Addım 3: Lazımi alətləri əldə edin
- Addım 4: Qalın lövhəni yerləşdirmək üçün Boyunu dəyirmanlayın
- Addım 5: LEDləri tutan PCB əldə edin və qurun
- Addım 6: Lövhəni doğrayın
- Addım 7: Ukulele Bədənində Dəyirman Giriş Delikləri
- Addım 8: Qapaq lövhələri düzəldin
- Addım 9: Telləri PCB -yə bağlayın; Elektronikanı qoşun və sınayın
- Addım 10: Boyunu Ukulele Bədəninə bağlayın
- Adım 11: PCB tellərini bədənə ötürmək üçün bir giriş çuxuru qazın
- Addım 12: PCB və lövhəni boyuna hizalayın və yapışdırın
- Addım 13: Klaviatura Kenarlarını Boyuna Düzəldin və Kəmər Telləri əlavə edin
- Addım 14: Maskeləmə tətbiq edin və Ukulele Finish tətbiq edin
- Addım 15: Körpünü hizalayın və bağlayın
- Addım 16: Elektronikanı quraşdırın və sınayın
- Addım 17: Tünerləri quraşdırın və Aləti String edin
- Addım 18: Uke proqramlaşdırılması
- Addım 19: Akkord Necə Göstərilir
- Addım 20: Bir Kaydırma Mesajını Necə Göstərmək olar
- Addım 21: Ukulele Möhtəşəmliyinizlə Dünyanı heyrətləndirin
Video: İşıqlı Ukulele necə qurulacaq !: 21 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Ukulele oynayıram. Orta dərəcədə (əgər bu sözdürsə) belə düşündüm ki, "həqiqətən xanımları təəccübləndirmək istəyirsinizsə, onları səhnədə oynayan fəlakətdən yayındırmaq üçün bir vasitəyə ehtiyacınız var". Beləliklə, "İşıqlı Ukulele" dünyaya gəldi.
Bu layihə bir Konsert Ukulele dəsti alır və hər bir simli və pərçim mövqeyinə Arduino tərəfindən idarə olunan LED əlavə edir. Həm də LED siminin rejimini və intensivliyini seçmək üçün xülya OLED ekranı və fırlanan kodlayıcı əsaslı istifadəçi interfeysi əlavə edir.
Tamamlanmış uke hardware xüsusiyyətləri:
- Arduino MICRO, LED simli, ekran və giriş cihazı ilə əlaqə qurur.
- 48 fərdi proqramlaşdırıla bilən tam rəngli LED
- OLED ekran
- İstifadəçi girişi üçün fırlanan bir kodlayıcı
- Xarici güc və Arduino proqramlaşdırma üçün USB interfeysi
Uke proqram təminatı var:
- LED -ləri addımlarla idarə edən əsas işıq nəzarət rejimləri
- Qəşəng bir teatr marquee rejimi (tamaşalar üçün çox əlverişlidir!)
- LED intensivliyinə nəzarət
- Bütün ilk mövqe Ukulele akkordlarının tam akkord kitabxanası (akkord dəyəri və xarakter)
- 4 x 6 piksellik unikal simvol dəsti ilə işləyən mətni (şaquli) göstərmək imkanı
Bu təlimat tamamlanmış prototipi təsvir edir. Tam inkişaf dastanı BURADA mövcuddur, o cümlədən bəzi təhsilli (ağrılı) səhvlər və ilk dizaynınızı niyə başa çatdırmalısınız (nə qədər çirkin olsa da). Həqiqətən bilmədiyiniz hər şeyi sonuna qədər bilməyəcəksiniz (və sonra hələ də bilməyəcəksiniz!), Amma daha yaxşı bir vəziyyətdəsiniz və növbəti dizayn üçün daha ağıllısınız.
Prototipi Grizzly Konserti Ukulele dəsti ətrafında qurdum. Bir dəstlə başlamaq, uke bədəni ilə bağlı narahatlığı aradan qaldırır (yaxşı, əsasən) və əsl luthier tipli işlərin çoxunu ortadan qaldırır. Bu dəstlər olduqca tamamlıdır və möhtəşəm işlərdə o qədər də bahalı deyil (və səhvlər edəcəyiniz üçün daha az ağrılıdır).
Addım 1: Plan hazırlayın
Bəzi dəstlərə daxil olan lövhə (və ya klaviatura) artıq pərdələri bağlayır. Bu yaxşı/pisdir. Vaxt qənaətçisi kimi gözəldir, amma bir qazma nümunəsi hazırlamaq və freze edərkən yerində saxlamaq baxımından bir az ağrıyır. Kitdə olanı məhv etdikdən sonra (başqa bir dəst almaqdan başqa çarəm yox idi) yeni bir lövhə almağı seçdim.
Lövhəni hazırlayarkən, PCB və LED -ləri yerləşdirmək üçün lazım olan qalınlığın artmasını hesablamalıyıq (və passiv komponentləri də unutmayın), lakin LED -lərin lövhə səthindən çox uzaqda olması.
LED çaplı devre kartı (PCB) sadə 2 qatlı bir lövhə olaraq hazırlanmışdır. Bu, LED telinin əllə yığılmasına çox kömək edir və Ukulele boynuna bəzi mexaniki güc (fiberglas və epoksi) verir. Layihəni Eagle -da başladım, amma lövhə ölçüsünün məhdud olması səbəbindən Altium Designer istifadə edərək sona çatdım. Altium sxematik və PCB sənədləri burada.
Kit lövhəsi yalnız 0.125 düym qalınlığında idi. Beləliklə, 0.062 düym qalınlığında bir PCB alaraq və LEDlər üçün əlavə 0.062 düym icazə verdiyimiz təqdirdə, lövhənin çox hissəsini (hamısında olduğu kimi) kəsməliyik. Kompensasiya etmək üçün ya lövhədəki LED -lərin ciblərini PCB üçün uyğun bir cib ilə kəsə bilərik, ya da bütün lövhəni (getdiyim variantı) Luther Mercantile International (LMII) qalın versiyası ilə əvəz edə bilərik. başlamaq üçün 0,25 düym olan.
AMMA unutmayın ki, lövhədə qalınlığın artmasını kompensasiya etmək üçün hələ də boynunuzu emal etməli olacaqsınız. Əldə etdiyiniz digər bir üstünlük kosmetikdir, çünki PCB artıq lövhənin içərisinə tamamilə daxil edilmişdir ki, bu da kənarların bitməsini (və daha gözəl görünməsini) çox asanlaşdırır və boyun kəsilməsini asanlaşdırır.
Mühəndislik işləri (istəsəniz görməzdən gəlin):
Yeri gəlmişkən, bu, boyun sərtliyini o qədər də pozmur. PCB materialı orijinal taxta taxtadan (Mahogany modulu: 10.6 GPa qarşı FR4 modulu: 24 GPa) daha sərtdir, üstəgəl bir Ukulele qurduğumuz üçün başqa cür təhrif edə biləcək çox böyük bir ip gərginliyi yoxdur və ya əymək) boyun.
Çox maraqlı bir fikir (ehtimal ki, hələ hesablamalıyam) temperaturda baş verənlərdir. Taxta paralel olaraq taxıl üçün, genişlənmə termal əmsalı təxminən 3 x 10^-6/K, FR4 üçün isə 14 × 10^-6/K-dir. Beləliklə, olduqca əhəmiyyətli bir fərq var. Narahatlıq, temperatur dəyişdikcə boyunda gərginliyin yaranmasıdır ki, bu da ipləri sökür. Neytral oxun əks tərəfinə bənzər bir təbəqə tətbiq etməklə və ya FR4 -ü neytral oxa mümkün qədər yaxınlaşdırmaqla kompensasiya edilə bilən bir şeydir. Ancaq bu, 2.0 -a qalacaq … Modelləşdirmək və qiymətləndirmək üçün bir şey.
Elektronika uke gövdəsində yerləşir. Ekran və fırlanan kodlayıcı üçün yer açmaq üçün UKE -nin yan divarında (səs paneli deyil!) Deliklər kəsilir, üstəgəl Arduino Micro -nu tutmaq və USB interfeysinə çıxış təmin etmək üçün giriş lövhəsi açılır. USB bağlantısının daha əlverişli bir yerə çıxması üçün giriş lövhəsi/montaj dizaynı və yeri çox güman ki, təkmilləşdirilə bilər, ancaq oynadığınız zaman heç bir şəkildə olmadığı üçün hər şey o qədər də pis deyil.
Addımların konturu belədir:
- Material toplayın
- Lazım olan vasitələri alın
- Qalın lövhəni yerləşdirmək üçün boynunu doğrayın
- Lazımi yerlərdə deliklər açmaq və lövhə və LEDlər üçün ciblər yaratmaq üçün lövhəni dəyirmanlayın
- LEDləri tutan PCB əldə edin və qurun
- OLED ekran, Rotary kodlayıcı və giriş paneli üçün Ukulele gövdəsindəki dəyirman giriş delikləri
- Qapaq lövhələri düzəldin
- PCB -yə tellər bağlayın; elektronikanı bağlayın və sınayın
- Boyunu Ukulele bədəninə bağlayın
- PCB tellərini gövdəyə ötürmək üçün bir giriş tutacağı qazın
- PCB və lövhəni boyuna hizalayın və yapışdırın
- Lövhənin kənarlarını boyuna düzəldin (artıq materialı çıxarın)
- Çubuq tellərini quraşdırın
- Ukulele üçün maska tətbiq edin və bitirmə tətbiq edin
- Körpünü hizalayın və bağlayın
- Elektronikanı quraşdırın və sınayın.
- Tünerləri quraşdırın və aləti bağlayın
- Uke nəzarətçisini proqramlaşdırın
- Ukulele möhtəşəmliyinizlə dünyanı heyrətləndirin!
Addım 2: Material toplayın
Material siyahımız belə görünür:
- Ukulele dəsti - Bir Grizzly Konserti Ukulele dəstindən istifadə etdim (Amazonda Grizzly Uke Kit), amma bunun dayandırılacağı görünür. Zimo, işi görəcək bənzər bir model (Zimo Uke Kit @ Amazon) hazırlayır
- Ukulele lövhəsi, əvvəlcədən yivli (LMII Uke Fingerboards). Lövhəni ölçüsünüzə uyğunlaşdıracaqlar ki, bu da problemdən xilas olacaq
- Epoksi - lövhəni boyuna yapışdırmaq üçün. PCB materialına uyğun olduğu üçün epoksi seçdim. Ən azı 60 dəqiqəlik iş həyatı olan bir şey axtarın. 5 dəqiqəlik istifadə etməyin, düzəlişlər etmək üçün vaxt lazımdır
- Fret tellər - LMII -dən də mövcuddur
- Xüsusi PCB - Altium faylları burada. Normal FR4 tipli materialı seçdim. Flex (poliimid) lövhələr daha incə ola biləcəyi üçün maraqlı (daha bahalı olarsa) alternativ olardı
- 48x Neopixel (SK6812) LEDləri. Adafruit və Digikey -də mövcuddur
- 48x 0.1uF 0402 qapaqları - daha böyük ölçülər məqbuldur, ancaq yerləşdirməni izləməlisiniz
- Bağlama teli - qarışıqlığın qarşısını almaq üçün ən azı 4-6 rəng, ilk növbədə 28 ölçü tel istifadə etdim. LED güc əlaqələrində DC düşməsini izləyin (həm VCC, həm də GROUND … cərəyanın mənbəyə qayıtması lazımdır!)
- Döner kodlayıcı-PEC16-4220F-S0024
- Fantezi taxta düymə - fırlanan kodlayıcı üçün (özümü LMII -dən aldım)
- OLED ekran - 4D sistemlərindən OLED displeylər
- Xarici USB batareyası - hər zaman daha ucuzdur, üstəlik ehtiyat hissələri də götürə bilərsiniz!
- Arduino Mikro
- Lövhə pirinç - lövhənin ekran üçün arduino və çərçivəni tutması üçün
- Müxtəlif istehlak materialları: zımpara, uretan örtük, dəmir çubuqlar, rezin bantlar, lehim, axı, fırçalar, iki tərəfli lent (3M UHC lentini bəyənirəm) və kiçik pirinç ağac vintləri (boşqab üçün)
- İsteğe bağlı Ukulele təkmilləşdirmələri - daha yaxşı tünerlər, daha yaxşı tellər, daha yaxşı qoz və yəhər, əgər luthier şücaətinizi nümayiş etdirmək istəyirsinizsə)
Addım 3: Lazımi alətləri əldə edin
Gec -tez bunlara giriş əldə etməli və ya əldə etməlisiniz:
Alətlər siyahımıza daxildir:
- Freze maşını - CNC -yə üstünlük verilir, amma hətta bir router və çox şans əldə edə bilərsiniz. Bir kombo CNC freze/yönlendirici istifadə etdim
- Router bitləri - karbidə üstünlük verilir. Router bitləri metal deyil, ağac emal etdiyimiz üçün son dəyirmanlar üzərində seçilir
- Kelepçeler - çoxu. Əsasən yapışdırarkən hissələri tutmaq lazımdır
- Lehimləmə dəmiri - səthə montaj lehimləmə üçün kiçik bir uc
- Mikroskop və ya böyüdücü - yalnız gözlərinizlə lehimləməyə cəhd edə bilərsiniz, amma bunu məsləhət görməzdim, minimum 10 dəfə
- Cımbız (hissələri yerinə qoymaq üçün)
- Sarsıdıcı alətlər (burada LMII -də müvafiq alətlərə baxın, amma evdə olanları istifadə etdim və çəkiclər, sənədlər və kəsicilər)
- Ağac kəsikləri, tornavidalar, yumşaq zərbə və ya xam dəri çəkic (çilçıraq üçün) və s.
- Aşındırıcılar - müxtəlif zımpara parçaları
Proqram vasitələrimizə daxildir (bəziləri büdcənizə/ixtiraçılığınıza görə isteğe bağlıdır):
- Arduino proqramı
- Ukulele mənbə kodu (https://github.com/conrad26/Ukulele)
- PCB layout paketi - Altium istifadə etdim, çünki Eagle -in pulsuz versiyası istədiyim lövhə ölçüsünü dəstəkləmirdi. Altium, tam bir xüsusiyyətli bir paket paketidir və əslində bir hobbi qiymət aralığında deyil. Prototip üçün saytımda Gerber fayllarını daxil etdim, amma bunların mütləq bir yeniləməyə ehtiyacı var
- 3D modelləşdirmə proqramı - SolidWorks -dən istifadə etdim, amma bir pulsuz alternativ FreeCAD -dır (https://www.freecadweb.org/)
- NC freze faylını yaratmaq üçün Autodesk -dən FeatureCAM kimi CAM proqramı.
Altium'dan 3D addım fayl ixracatının bir 3D modeli ilə birlikdə, hər şeyin uyğunlaşdığından əmin olmaq çətinliyini aradan qaldırır, amma bu bir şərt deyil. Diqqətli düzülüş eyni nəticəni əldə edəcək.
İndi nə etmək istədiyimizi və nə etmək lazım olduğunu bildiyimiz üçün bir Ukulele quraq.
Addım 4: Qalın lövhəni yerləşdirmək üçün Boyunu dəyirmanlayın
Freze etmədən əvvəl, orijinal lövhə montaj səthinin düzlüyünün qorunmalı olduğunu və ya bükülmüş bir lövhəyə sahib olacağınızı unutmayın ki, bu da tələlərin hamarlanması ilə bağlı hər cür problemə səbəb olur.
Yalnız oraya getməyin, vaxtınızı ayırın və boynunuzu diqqətlə və sərt şəkildə bağlayın və kəsmədən əvvəl bütün boyundakı marşrutlaşdırıcının bitinə hizalanmasını yoxlayın. Burada keçirdiyiniz vaxt sonradan çox kədərdən xilas olacaq.
Boyundakı bir kakma üzərində daha qalın bir lövhə seçməyimin bir səbəbi, artan montaj (yapışdırıcı) səth sahəsi idi. Başqa bir səbəb isə boyun kəsilməsini asanlaşdırmasıdır. Sadəcə səs -küylə bütün səthi lazımi hündürlüyə kəsirsiniz.
Addım 5: LEDləri tutan PCB əldə edin və qurun
Əl ilə bütün qurğunu lehimlədim. LED paketləri xüsusilə asanlıqla əriyir, buna görə də zədələnməməsinə diqqət yetirin. Statik bir kəmər taxmağı təklif edirəm, çünki sim hər LED işindən asılıdır.
Fretboard dizaynı WS2812B LEDləri ətrafında qurulmuşdur. Yalnız lövhənin ilk oktavasını etməyə qərar verdim (48 LED !!). Hər bir LED, bir keçid qeydində bir bit kimi düşünülə bilər. Dəyişdirmə reyestri 800 kHz -də işləyir. Adafruit kitabxanasından (proqramlaşdırma bölməsinə baxın) istifadə edərək işləri sürətlə davam etdirə bildim.
Dizaynı Eagle -də başladım, ancaq lövhənin ölçüsü 4 x 5 düym ilə məhdudlaşdı, buna görə (və ya daha doğrusu, seçim etdim) Altiuma keçməliydim. Altiumu iş yerində istifadə edirəm, buna görə də əslində mənim işimi daha da sürətləndirdi. Altium layihəsi, sxematik və pcb faylları (və kitabxana hissələri) saytımdadır. Lövhə trapezoid şəklindədir və təxminən 10 düym uzunluğundadır. Düşünürəm ki, konturu bir az daha sıxmağa çalışmalıydım (sonrakı fırlanma!) Montaj pis deyildi, amma əgər ödəyə bilsəniz, həqiqətən, layiqli bir lehimləmə dəmirini (JBC Lehimləmə Dəmirləri) və yaxşı bir mikroskopu məsləhət görürəm. Bəli, mən korlanmışam və yox, ev laboratoriyamda belə bir şey yoxdur. Mən ucuzam.
Lövhələri Sunstone -da hazırladım. İki lövhə üçün 129 dollar. Bir həftəlik növbəyə zəmanət verilir. Göndərmə mövzusunda heç bir qənaət etməyin. UPS yerindən istifadə etdiyimi fərq etmədim və lövhələrimin gəlməsi üçün əlavə bir həftə gözlədim. Ümumi montaj müddəti təxminən 2 saat (98 hissə) idi.
Addım 6: Lövhəni doğrayın
Lazımi yerlərdə deşik açmaq və lövhə və LEDlər üçün ciblər yaratmaq üçün lövhəni dəyirman etməliyik.
Solidworks -da tamamlanmış lövhənin 3D modelini yaratdım və FeatureCAM -dan istifadə edərək CNC freze rejimini yaratdım.
Boyun və bədən arasındakı hündürlükdə addım dəyişikliyini nəzərə almaq üçün lövhənin alt hissəsinin (səs çuxuruna ən yaxın) daha incə olması lazımdır. Mükəmməl bir uyğunluq olduğundan əmin olmaq üçün bir neçə dəfə sınaqdan keçirməyə dəyər.
Geriyə baxanda, dəyirmanı daha yaxşı uyğunlaşdırmaq üçün lövhənin istifadə olunmamış hissələrini kəsməli idim (mənim ucuz dəyirmanımda yalnız 12 X oxlu hərəkət var idi). Əməliyyat qaydası əvvəl əvvəl dəyirman qalınlığı tənzimləmələrinə qədər qurulmalıdır. ciblər arasında daha az qırılmalara səbəb olan freze cibləri.
Kablolama üçün yer əlavə etmək üçün lazım olduqda əl ilə düzəlişlər edin. Diqqət yetirməli olduğum bir şey, ciblərin bir qisimində telin keçəcəyi yuvaya girməyimdir. Bir dirijor olduğunu nəzərə alsaq, vacib bir şeyin qısalmamasına əmin olun. Çubuğu yerində saxlayan materialın gücünü də azaldır. Dizayn heç vaxt tıxac yuvası ilə kəsişməyəcək şəkildə dəyişdirilməlidir.
Addım 7: Ukulele Bədənində Dəyirman Giriş Delikləri
Bədəndəki giriş çuxurlarını əllə üyütdüm. Ən çətin hissəsi çox əyri bir səthin "ən düz" bölgəsini tapmaqdır. Konturu qələmlə işarələyin və OLED ekrana tam uyğunlaşana qədər materialı tədricən kəsin. İşlənmiş bir pirinç çərçivə əldə etdim və 3M VHB yapışan bantla bağladım.
Heç biri böyük dəqiqliyə ehtiyac duymadığından, fırlanan kodlayıcı və giriş paneli delikləri yaratmaq daha asandır.
Addım 8: Qapaq lövhələri düzəldin
Ekranın çərçivəsi və giriş paneli üçün örtük plitələrini də əymək lazımdır. Giriş panelinin USB (mikro) konnektoru üçün bir çuxura (düzbucaqlı) ehtiyacı var. Arduino -da mövcud konnektoru istifadə edin, çünki mikro USB üçün panel montaj variantları çox deyil. (sıfırdan dizayn etsəydim, bunlardan birinə baxardım)
Lövhəni yerində tutmaq üçün L mötərizələrini pirinçdən düzəldin və giriş lövhəsinin arxasına yapışdırın. Bu, mövqelərdə bir qədər genişliyə imkan verir. Düzgün mövqeləşdirmə əldə etmək üçün əvvəlcə Arduino MICRO üçün bir pervaz montaj lövhəsi (montaj delikləri ilə) yaradın və 2-56 maşın vintlərindən istifadə edərək L mötərizələrini ona bağlayın. Daha sonra usb portunu sıralamaq və boşqabdakı mötərizələrin yerini dəqiq qeyd etmək üçün yeri dəyişə bilərsiniz. Mötərizəni mükəmməl taxtadan çıxarın və yerinə lehimləyin. Nəhayət, perfboard qurğusunu quraşdırın.
Pirinç giriş panelini yerində saxlamaq üçün dörd kiçik pirinç ağac vintindən istifadə etdim.
Bu nöqtədə son montaj başlamazdan əvvəl bir test uyğunluğunu tövsiyə edirəm. Bu addım isteğe bağlıdır, lakin tövsiyə olunur. Yapışdırmadan əvvəl düzəlişlər etmək daha asandır.
Addım 9: Telləri PCB -yə bağlayın; Elektronikanı qoşun və sınayın
Elektronikanı qalıcı olaraq bağlamayın. Giriş çuxurundan çıxmaq üçün kifayət qədər boşluq buraxdığınızdan əmin olaraq telləri PCB -yə bağlayın. Nəticədə bunların Arduino MICRO lövhəsinə daimi olaraq bağlanması lazımdır (fotoşəkillərdə kod hazırlamaq üçün istifadə etdiyim bir Arduino UNO göstərilir)
Addım 10: Boyunu Ukulele Bədəninə bağlayın
Ukulele dəstinə daxil olan təlimatları izləyərək boynu Ukulele gövdəsinə bağlayın. Xüsusilə lövhə səthinin uke gövdəsinə uyğunluğunu izləyin.
Adım 11: PCB tellərini bədənə ötürmək üçün bir giriş çuxuru qazın
Yapışqan quruduqdan sonra, PCB -dən gələn tellərin Ukulele gövdəsinə keçməsini təmin etmək üçün ~ 1/4 (10mm) delik açın. Səs lövhəsinə zərər verməyin.
Lövhənin altındakı tellərin qalınlığına icazə vermək üçün kiçik bir cib də yaratmalı ola bilərsiniz (və ya isteğe bağlı olaraq bağlantıları üstə qoyun və lövhəyə rahatlama daxil edin.)
Başqa bir test uyğunluğu bu anda zərər verməyəcək.
Addım 12: PCB və lövhəni boyuna hizalayın və yapışdırın
Yapıştırmadan əvvəl bağlamağı (və sınamağı!) Düşünməyi təklif edirəm. Düz bir sıxma səthi vermək üçün boynunun alt hissəsinə bənzər bir blok hazırlamaq istəyə bilərsiniz. Bu anda lövhə boyundan daha böyükdür, buna görə icazə verməlisiniz.
Daha sonra bitirmək istədiyiniz səthə epoksi vurmamaq üçün çox diqqətli olun. Yalnız istədiyiniz yerə getdiyinə əmin olmaq üçün yapışdırmadan əvvəl yapışmayan bütün səthlərə maskalar tətbiq etmək daha yaxşıdır.
Minimum 60 dəqiqəlik ömrü olan epoksi istifadə edin … hamısına ehtiyacınız olacaq.
Əvvəlcə PCB -ni yerə yapışdırın, artıq yapışqan lövhənin yapışdırıcı səthinə çıxmadığından əmin olun. Bu, lövhəni boyuna uyğunlaşdırmaq üçün bir üsul təqdim edir. PCB hamar bir lehim maskasına malikdir, buna görə epoksiyaya bir az yaxşılaşdırılmış bir səth vermək üçün bir az zımpara ilə düzəltdim.
Lövhəni boyuna hizalayın və yapışdırın. Daha sonra rezonansa səbəb ola biləcək ciblər buraxmamaq üçün diqqətli olun (səs -küy!). LED səthlərinə yapışqan vurmamaq üçün də diqqətli olun.
Yapışqan quruduqdan sonra elektronikanı bir dəfə də tellə sınamaq istəyə bilərsiniz. Bir pis LED həyatdan nifrət edəcək. Prototipdə bir pis LED (birincisi!) Var idi və qüsurlu LED -ə daxil olmaq və onu təmiz bir şəkildə düzəltmək üçün bir az yaradıcı ağac işi etməli oldum.
Addım 13: Klaviatura Kenarlarını Boyuna Düzəldin və Kəmər Telləri əlavə edin
Yapışqan quruduqdan sonra kənarları bitirməyə başlaya bilərsiniz. Artıq lövhə materialını diqqətlə kəsdim (dəyirman istifadə edərək) və əllə zımpara edərək son milimetrini bitirdim.
Tellərin əlavə edilməsi sadəcə çəkiclə edilə bilər (əriməməsi üçün plastik üzlə). Sadəcə çox sərt çəkməyin. Çubuq telini yuvalara uyğunlaşdırmısınızsa, çox çətinlik çəkmədən içəri girməlidirlər.
Diqqət etməli olduğunuz şey, LED cibinin nazik səthini sındırmaqdır. Prototipdə, bəzi LED ciblərinin (boşluğun sıx olduğu 12 -ci pillənin yaxınlığında) perde yuvasına uzanmasına icazə verdim. Bu pis bir fikirdir, çünki bu, telin taxıldığı zaman çatlaya biləcək (və çatlayan) zəif bir nöqtə yaradır.
Addım 14: Maskeləmə tətbiq edin və Ukulele Finish tətbiq edin
Lövhəni (bitmir) və körpünün yapışqan sahəsini maskalayın və bitirməyə başlayın.
Körpü sahəsini maskalayarkən, dəstinizlə birlikdə təlimatları oxuyun, sonra əmin olmaq üçün tərəzinin uzunluğunu iki dəfə yoxlayın. Prototip üçün istifadə etdiyim dəst səhv ölçülü uzunluqdan istifadə etdi və buna görə də körpünün yerini təyin etmək üçün yanlış ölçülər verdi (lakin son təlimatlar üçün veb saytını yoxlamaq üçün bir qeyd var idi!). Bağırsağım bunun səhv olduğunu söylədi, amma səlahiyyətləri kor -koranə qəbul etdim.
Təlimatları kor -koranə yerinə yetirməkdənsə, NİYƏ bir şey etdiyinizi anlamaq həmişə daha yaxşıdır.
Bitirmə üçün, İnternetdə nə etdiklərini bilən Luthiersdən çoxlu dərslər var, buna görə də bitirmə prosesinə keçməzdən əvvəl onlarla məsləhətləşməyi məsləhət görürəm.
Əlbəttə ki, bunu etmədim, buna görə səhv bir möhürləyici istifadə etdim və nəticədə çox dənəli bir səth meydana gəldi. Bunu etməyin.
Ev tapşırığını et.
Addım 15: Körpünü hizalayın və bağlayın
Bu addım olduqca sadədir, amma yenə də bağlama üsulunuzu planlaşdırın və yapışdırmadan əvvəl əvvəlcədən sınayın. Körpünü bağlamaq üçün standart bir ağac yapışqan istifadə etdim.
Addım 16: Elektronikanı quraşdırın və sınayın
Kablolarınızı gözəl etmək vaxtı gəldi. Üstəlik, bədənin içərisinə yuvarlanmasını və uğultulu səslər çıxarmasını və ya səhnədə daha da pisləşməsini istəmirsiniz.
Arduino kodu USB portu vasitəsi ilə yenilənə bilər, buna görə də ləkələmək istəməsəniz onu ayırmaq lazım deyil.
Addım 17: Tünerləri quraşdırın və Aləti String edin
Çox güman ki, pərdələri düzəltməli və quruluşu bir az oynamalı olacaqsınız, amma sona çox yaxın olduğunuzda niyə indi narahat olursunuz?
Tünerləri təkmilləşdirdim və səsə heç bir kömək etməyən gözəl Aquila simlərindən istifadə etdim. Bir layihəyə pul xərcləyərkən bunu unutmayın …
Addım 18: Uke proqramlaşdırılması
Son Arduino kodu Githubdadır. Gələcək inkişafları dəstəkləmək üçün kodda bəzi sətirlər var (məsələn, bir metronom funksiyası və ekran üçün "sürgülər" (sürüşmə kimi görünən bir UI elementi)
Bu kod, Rotary Encoder -dən istifadəçi girişini idarə etmək üçün Rotary Encoder Library (Rotary Encoder Arduino Library) istifadə edir.
Burada yerləşən Adafruit Neopixel kitabxanasından və nümunə kodundan da istifadə edir. Teatr və göy qurşağı rejimi kitabxana ilə birlikdə təqdim olunan nümunələrdən alınmışdır. (bax strandtest.ino).
Ekran sürücüsü 4D sistemləri tərəfindən təmin edilir və burada Github -da tapılır.
Ukulele layihəsi üçün tətbiq olunan iki unikal funksiya var. Birincisi, akkord kitabxanasını həyata keçirir, ikincisi, xüsusi bir xarakter dəsti istifadə edərək sürüşən mətn mesajını göstərir.
Əlavə edilmiş diaqram, lövhənin LED yerlərini və necə bağlandığını göstərir. LED 0 sağ üst küncdə yerləşir.
Addım 19: Akkord Necə Göstərilir
DisplayChord funksiyası hər bir akkord üçün barmaq mövqelərini (yalnız indiyə qədər ilk mövqe) göstərir. İstifadəçinin seçdiyi akkordlar (kök notu və keyfiyyəti) bir cüt indeks olaraq saxlanılır. Bunlar öz növbəsində hər bir akkordun barmaqlarını axtarmaq üçün istifadə olunur.
Akkordları saxlamaq üçün "GCEA" işarəsini istifadə etdim (məsələn, "A" "2100" dir). Akkordlar hər kök notu üçün əvvəlcədən hesablanır və akkordun keyfiyyətinə uyğun bir dəyişəndə saxlanılır. (beləliklə, bir mayor, "2100" ə uyğun gələn "majorChords" serialının ilk yerində saxlanılır).
char* majorChords = {"2100 / n", "3211 / n", "4322 / n", "0003 / n", "1114 / n", "2220 / n", "3331 / n", " 4442 / n "," 2010 / n "," 3121 / n "," 0232 / n "," 5343 / n "};
Diqqət yetirin ki, bu mətn sətri olduğundan hər bir rəqəm 9 -dan böyük fret mövqelərini hesablamaq üçün altıbucaqlı bir dəyəri də ifadə edə bilər. Yəni A və B 10 və 11 LEDlərini təmsil edərdi. İlk mövqe tonları üçün bu problem deyildi).
LED simli, hər bir simli boyunca (A simli ilə başlayaraq) 12 (bir oktava) cərgələrdə uzunlamasına bağlanır, 12 -nin sonrakı qaçışı növbəti sətrin ilk pərdəsindən başlayır (addım 18 -dəki diaqrama baxın). Bu alqoritm üçün müəyyən bir akkord üçün hansı işıqların yandırılacağını təyin etmək vacibdir. Bu o deməkdir ki, 0 -dan 11 -ə qədər olan piksellər A simli LEDlər, 12 -dən 23 -ə qədər E simli LEDlər və s. A = "2100" (bir simli olaraq saxlanılır, kodda "\ n" sıfır terminatoru da var) təhlil edərkən bunu belə şərh edirik: A simli üzərində heç bir piksel yanmır, nə də E sətrində piksel 0 C simli (fret 1) işıqlandırılır və G simli üzərində piksel 1 (fret 2). Qeyd edək ki, "0" sönüb, ilk LED deyil. Kabelə əsaslanaraq 24 və 37 LED -lərini yandırmaq istəyirik. Akkordun göstərilməsi üçün kod aşağıda göstərilmişdir.
for (int i = 0; i <4; i ++) {if (int (chord - '0')) {// alqoritm akord simli int ledNumber = int (chord - '0')) + (3 - i) * 12 - 1; // yuxarıdakı müzakirəyə baxın, (3-i) indeks zolağını tərsinə çevirməkdir. setPixelColor (ledNumber, 0, 125, 125); // setPixelColor (ledNumber, qırmızı dəyər, yaşıl dəyər, mavi dəyər)}}
If ifadəsi, ledin söndürüldüyünü yoxlayır. Əgər belə deyilsə, o zaman xarakterin ascii dəyərini götürür və ledNumberın yanmasını təmin etmək üçün '0' üçün ascii dəyərini çıxarır.
strip, Adafruit_NeoPixel sinifinin bir nümunəsidir. SetPixelColor funksiyası hesablanmış pikselin rəngini təyin edir (bu vəziyyətdə (0, 125, 125) sabitdir.
Addım 20: Bir Kaydırma Mesajını Necə Göstərmək olar
Beləliklə, 12 x 4 LED -lərimiz var … niyə olduqca təsadüfi işıq nümunələrindən başqa bir şey göstərməyək!
Birinci məsələ, ekran hündürlüyünün (4) bir Uke üzərindəki simlərin sayına görə olduqca məhdud olmasıdır. Üfüqi sürüşmə əsasən oxunmaz olardı, ancaq şaquli istiqamətdə 4x5 simvolu şaquli olaraq dəstəkləyə bilərik.
Simvolları beş "şaquli" satır kimi təşkil etmək, hər bir simvol arasında bir sətir boşluğuna imkan verən iki simvolun eyni vaxtda göstərilə bilməsi deməkdir.
Çətinlik, standart 4 x 5 simvol dəstinin olmaması idi. Əlavə edilmiş elektron tablodan istifadə edərək özüm hazırladım. Hər bir satırı tək hex dəyərinə təyin etdim (hansı pikselin açıldığını və ya söndüyünü göstərən 4 bit). Beş hex dəyərinin birləşməsi bir xarakter yaradır (məsələn, "0" 0x69996).
Hər bir xarakter üçün dəyərlər ASCII qaydasında bir sıra olaraq saxlanılır. Xarakter dəsti müəyyən hərflərlə bəzi güzəştlər edir, lakin əksəriyyəti olduqca aydındır. (elektron cədvəlin altındakı yazı, oynadığım fikirlərdir, çünki bir seçim olaraq rəngimiz var, xarakterə "dərinlik" əlavə edə bilərik və bəlkə də əlavə bir həll əldə edə bilərik.
Göstəriləcək simli, string dəyişənində, mesajda var.
Xarakter görüntüsünü təmsil etmək üçün bir tampon yaradılır. Düşünürəm ki, bütün tərcümə edilmiş mesaj ardıcıllığı ilə böyük bir tampon yarada bilərdim, xüsusən də əksər mesajlar 20 simvoldan az olacaq. Ancaq bunun əvəzinə sabit üç xarakterli (18 bayt) tampon yaratmağı seçdim. Simvollardan yalnız ikisi fəal şəkildə nümayiş etdirilir, üçüncüsü isə növbəti personajın yükləndiyi yerə baxır. LED simli (bunu böyük bir keçid reyestri olaraq düşünün) sim üçün 48 bitlə yüklənir. Konsepsiyanı asanlaşdırmaq üçün bir az yaddaş boş yerə sərf etdim. Hər nibble, yaddaş ehtiyacını ikiqat artıraraq öz yaddaş yerini alır, ancaq tampon ölçüsü nəzərə alınmaqla çox deyil.
Çıxış indeksi (göstərici) bir xarakter sərhədinə çatdıqda (5, 11 və ya 17 -də outputPointer) bufer növbəti xarakterlə yüklənir.
Tamponu yükləmək üçün "mesaj" dakı ilk xarakteri ASCII dəyəri olaraq götürürük və asciiFont sırasındakı indeksi əldə etmək üçün 48 -dən çıxırıq. Bu indeksdəki dəyər codedChar -da saxlanılır.
Mesajın ilk hissəsi 47, 35, 23 və 11 LED -lərinə uyğundur (ekranın alt hissəsi). Sıfır 0x0F999F sayı üçün F (solda) birinci, 9 saniyə və s.
Növbəti xarakter, hər nibblesi maskalayaraq sağa köçürərək yüklənir. Yuxarıdakı nümunə üçün alqoritm (0x0F999F və 0xF00000) >> 20, sonra (0x0F999F və 0x0F0000) >> 16 və s.
int indeksi; if (outputPointer == 17 || outputPointer == 5 || outputPointer == 11) {char displayChar = message.charAt (messagePointer); // uzun codedChar = asciiFont [displayChar - 48] mesajının ilk xarakterini tutun; əgər (displayChar == 32) codedChar = 0x000000; messageBuffer [bytePointer+5] = bayt ((codedChar & 0xF00000) >> 20); // son nibble istisna olmaqla hamısını maskalayın və 20 (və s.) üzərinə köçürün messageBuffer [bytePointer+4] = bayt ((codedChar & 0x0F0000) >> 16); // bu, hər bir yaddaş yeri üçün bir nibble qoymalıdır messageBuffer [bytePointer+3] = byte ((codedChar & 0x00F000) >> 12); // hər altısı xarakter mesajında təmsil olunurBuffer [bytePointer+2] = bayt ((codedChar & 0x000F00) >> 8); messageBuffer [bytePointer+1] = bayt ((codedChar & 0x0000F0) >> 4); messageBuffer [bytePointer] = bayt ((codedChar & 0x00000F)); if (bytePointer == 0) {// bytePointer üzərindəki döngəni idarə edin bytePointer = 12; } başqa {bytePointer -= 6; // aşağıdan yuxarıya doldururuq; DİQQƏT: bunu asanlaşdıracağını görmək üçün bunu geri çevirməyə baxmaq lazımdır} if (messagePointer == message.length ()-1) {// messagePointer = 0 mesajındakı döngəni idarə edin; } başqa {messagePointer += 1; // növbəti simvola keçin}}
Tampon yükləndikdən sonra çıxış göstəricisinin harada olduğunu izləmək və LED simini düzgün 48 bitlə (cari 4 və əvvəlki 44) yükləmək məsələsi olur. Daha əvvəl də qeyd edildiyi kimi, strip NeoPixel sinifinin nümunəsidir və setPixelColor hər pikselin rəngini (RGB) təyin edir. Göstər () funksiyası ekran dəyərlərini LED siminə köçürür.
tamponu davamlı olaraq dəyişdirmək üçün // loop
// döngənin hər keçidində bütün zolağı yazmaq istəyirəm, yalnız başlanğıc yeri dəyişir (int row = 12; row> 0; row--) {index = outputPointer + (12-row); əgər (indeks> 17) indeks = outputPointer+(12 sıra) -18; // loop (int sütun = 4; sütun> 0; sütun--) {strip.setPixelColor (uint16_t (12*(sütun-1)+(sıra-1)), uint8_t (RedLED*(bitRead (messageBuffer [index], sütun-1)))), uint8_t (GreenLED*(bitRead (messageBuffer [index], sütun-1))), uint8_t (BlueLED*(bitRead (messageBuffer [index], sütun-1)))); // hər bir yerdə, bit birdirsə LED -i yandırır}} // outputPointer, əgər (outputPointer == 0) outputPointer = 17; else outputPointer -= 1; strip.show (); }
Addım 21: Ukulele Möhtəşəmliyinizlə Dünyanı heyrətləndirin
Ukulele -nin son prototipi təxminən 6 ay davam etdi və çıxmaq üçün dayandı.
Öyrənmək üçün bir çox yeni texnologiya və bəlkə də ağac emalı və musiqi nəzəriyyəsi.
Növbəti versiya üçün nə etməli?
- Ekran və fırlanan kodlayıcıdan qurtulun. Onları arduinoya qoşulmuş Bluetooth modulu ilə əvəz edin. Telefon və ya planşetdən istifadə edərək uzaqdan idarə edin. Bluetooth ilə hər şey daha yaxşıdır.
- Akkord nümunələrini uzaqdan real vaxt rejimində yeniləyin. Tətbiq üçün ən yaxşısı qaldı.
- LED qapaqlar. Mövcud versiya, gunkun LED deliklərinə girməsinin qarşısını almaq üçün heç bir şey etmir. Bir dostum bir dəstə kiçik linzalar düzəltdi, amma onların yerində necə düzgün qalmasını necə başa düşə bilmədim.
- Alternativ lövhə materialları, bəlkə də pərdələr tutulduqca aydın bir şey.
- Daha çox işıq! Daha çox "satır" əlavə edərək mətndəki məhdudiyyəti aradan qaldırın. Bu, həqiqətən lövhənin və LED gövdələrinin ölçüsündən qaynaqlanan bir məhdudiyyətdir.
Yenə, mətni sürüşdürmək üçün yaratmağım lazım olan xarakter dəstini təsvir edən Instructable yoldaşına baxın.
Bu günə qədər keçdiyiniz üçün çox sağ olun! Mahalo!
Tövsiyə:
Arduino ilə bitki monitoru necə qurulacaq: 7 addım
Arduino ilə Bitki Monitoru Necə Qurulur: Bu dərslikdə nəm sensoru ilə torpaq nəmini necə aşkar edəcəyimizi və hər şey qaydasındadırsa və OLED Display və Visuino ilə yaşıl bir LED yandırmağı öyrənəcəyik
Fabrika Stereosu ilə Avtomobilinizə Satış Sonrası Subwoofer Necə Qurulacaq: 8 Addım
Fabrika Stereo ilə Avtomobilinizə Satış Sonrası Subwooferi Necə Quraşdırmaq olar: Bu təlimatlarla demək olar ki, zavod stereosu olan hər hansı bir avtomobilə satış sonrası subwoofer quraşdıra biləcəksiniz
Kiçik bir avtomobildə bir subwoofer necə qurulacaq: 7 addım
Kiçik Maşına Subwoofer Necə Qurulur: Bu dərslik mənimki kimi kiçik avtomobilləri olan insanlar üçündür. Bir MK5 VW GTI sürürəm və çox az saxlama yeri var. Həmişə bir subwoofer istəmişəm, amma ölçülərinə görə ala bilməmişəm. Bu dərslikdə necə olacağını izah edəcəyəm
Gitara Dinamik Qutu necə qurulacaq və ya Stereo üçün İkisi Qurulacaq: 17 Addım (Şəkillərlə)
Gitara Dinamik Qutu necə qurulacaq və ya Stereo üçün iki ədəd qurulacaq: Yeni bir gitara dinamikinin qurduğum boru amp ilə getməsini istəyirdim. Dinamik mağazamda qalacaq, buna görə çox xüsusi bir şeyə ehtiyac yoxdur. Tolex örtüyü çox asanlıqla zədələnə bilər, buna görə yüngül bir qumdan sonra çölə qara səpdim
Bir DSLR üçün işıqlı bir kamera səviyyəsi necə qurulacaq: 4 addım (şəkillərlə)
Bir DSLR üçün İşıqlandıran Kamera Səviyyəsi Necə Yaratılır: Heç vaxt aşağı işıq şəraitində çəkilişlər etdiniz və çəkilişlərinizin səviyyəsiz olduğunu gördünüzmü? Yaxşı, əlbəttə ki, var! Son vaxtlar uzun pozlama fotoqrafiyası ilə çox iş görürəm və bir gorillapod istifadə edərək sahəyə çıxanda özümü qaçırmış kimi görürəm