Բովանդակություն:

Ինչպես կառուցել լուսավորող Ուկուլելե: 21 քայլ
Ինչպես կառուցել լուսավորող Ուկուլելե: 21 քայլ

Video: Ինչպես կառուցել լուսավորող Ուկուլելե: 21 քայլ

Video: Ինչպես կառուցել լուսավորող Ուկուլելե: 21 քայլ
Video: 8 բան, որ տղամարդիկ անում են ՄԻԱՅՆ այն կնոջ հետ, ում սիրում են 2024, Նոյեմբեր
Anonim
Image
Image
Ստեղծել պլան
Ստեղծել պլան

Ես խաղում եմ Ուկուլելե: Ինչ-որ չափով միջակ (եթե դա բառ է), ես մտածեցի. «Եթե դուք իսկապես ցանկանում եք տպավորություն թողնել տիկնայք, ապա ձեզ հարկավոր է միջոց` նրանց շեղելու բեմում խաղացող աղետից »: Այսպիսով, ծնվեց «Լուսավորող Ուկուլելեն»:

Այս նախագիծը վերցնում է Concert Ukulele- ի հավաքածուն և ավելացնում է Arduino- ի կողմից վերահսկվող LED յուրաքանչյուր լարային և տատանվող դիրքում: Այն նաև ավելացնում է շքեղ OLED էկրան և պտտվող կոդավորիչի վրա հիմնված ինտերֆեյս ՝ LED լարի ռեժիմն ու ինտենսիվությունը ընտրելու համար:

Ավարտված uke սարքաշարի առանձնահատկությունները.

  1. Arduino MICRO- ն միացնել LED լարին, ցուցադրմանը և մուտքագրման սարքին:
  2. 48 անհատական ծրագրավորվող լիարժեք գունավոր LED լուսադիոդներ
  3. OLED էկրան
  4. Օգտագործողի մուտքի համար պտտվող կոդավորիչ
  5. USB ինտերֆեյս արտաքին էներգիայի և Arduino ծրագրավորման համար

Uke ծրագրակազմն ունի.

  1. Լույսի կառավարման հիմնական ռեժիմները, որոնք անցնում են LED- ները իրենց քայլերով
  2. Հիասքանչ թատրոնի ծածկույթի ռեժիմ (շատ հարմար է ներկայացումների համար)
  3. LED ինտենսիվության վերահսկում
  4. Բոլոր առաջին դիրքի Ուկուլելե ակորդների ակորդների գրադարան (ակորդի արժեք և բնույթ)
  5. Գործող տեքստը (ուղղահայաց) ցուցադրելու ունակություն ՝ օգտագործելով 4 x 6 պիքսելանոց նիշերի յուրահատուկ հավաքածու

Այս հրահանգը նկարագրում է ավարտված նախատիպը: Ամբողջական զարգացման սագան հասանելի է ԱՅՍՏԵ, ներառյալ որոշ կրթական (ցավոտ) սխալներ և արժեքավոր դաս այն մասին, թե ինչու ՊԵՏՔ է ավարտել ձեր առաջին դիզայնը (անկախ նրանից, թե ինչքան տգեղ են ստացվում): Դուք երբեք չգիտեք այն ամենը, ինչ իրականում չգիտեք, մինչև վերջ հասնելը (իսկ հետո դեռ չգիտեք), բայց դուք շատ ավելի լավ վիճակում եք և շատ ավելի խելացի ՝ հաջորդ դիզայնի համար:

Ես ստեղծեցի նախատիպը Գրիզլիի համերգի Ուկուլելեի հանդերձանքի շուրջ: Հավաքածուից սկսելը ազատում է uke- ի մարմնի մասին անհանգստությունը (լավ, հիմնականում) և վերացնում է իրական լյութիեր տեսակի աշխատանքների մեծ մասը: Այս հավաքածուները բավականին ամբողջական են և ոչ այնքան թանկ իրերի մեծ սխեմայում (և ավելի քիչ ցավոտ, քանի որ սխալներ թույլ կտաք):

Քայլ 1: Կազմեք ծրագիր

Ստեղծել պլան
Ստեղծել պլան

Որոշ կոմպլեկտների մեջ մտնող տախտակին (կամ մատնահետքին) արդեն տեղադրված են ֆրետերներ: Դա լավ է/վատ: Դա հաճելի է որպես ժամանակի խնայող, բայց հորատման ձևը շարելու և ֆրեզերելու ժամանակ այն տեղում պահելու առումով դա մի փոքր ցավ է: Հավաքածուի մեջ տրամադրվածը քանդելուց հետո ես ընտրեցի (լավ, ես այլ տարբերակ չունեի, քան մեկ այլ հավաքածու գնելը) գնել նոր տախտակ:

Fretboard- ը նախագծելիս մենք պետք է հաշվարկենք PCB- ն և LED- ները տեղադրելու համար պահանջվող հաստության աճը (և մի մոռացեք պասիվ բաղադրիչների մասին), բայց ոչ այնքան, որ LED- ները շատ հեռու լինեն տախտակի մակերեսից:

LED տպագիր տպատախտակը (PCB) նախագծված է որպես պարզ երկշերտ տախտակ: Սա շատ է օգնում LED լարի ձեռքի հավաքման հետ և ապահովում է որոշ մեխանիկական ուժ (դա ապակեպլաստե է և էպոքսիդ է) Ուկուլելեի պարանոցին: Ես սկսեցի դասավորությունը Eagle- ում, բայց վերջացրեցի Altium Designer- ով ՝ տախտակի չափի սահմանափակումների պատճառով: Altium սխեմատիկ և PCB ֆայլերն այստեղ են:

Հավաքածուի տախտակը ընդամենը 0,125 դյույմ հաստություն ուներ: Այսպիսով, ենթադրելով 0,062 դյույմ հաստությամբ PCB և թույլ տալով լրացուցիչ 0,062 դյույմ LED- ների համար, նշանակում է, որ մենք ստիպված կլինենք շատ բան (ինչպես բոլոր դեպքերում) կտրել տախտակի տախտակից: Փոխհատուցելու համար մենք կարող ենք մասամբ կտրել տախտակի մեջ գտնվող LED- ների գրպանները ՝ համապատասխան գրպանը պարանոցի համար PCB- ի համար, կամ կարող ենք ամբողջ fretboard- ը (տարբերակը, որի հետ ես գնացել եմ) փոխարինել Luther Mercantile International- ի (LMII) ավելի հաստ տարբերակով:, որոնք սկսելու համար գտնվում են 0,25 դյույմ:

ԲԱՅ, հիշեք, որ դուք դեռ պետք է մեքենայացնեք պարանոցը `փոխհատուցելու տախտակի հաստության աճը: Մյուս առավելությունը, որը դուք ստանում եք, կոսմետիկ է, քանի որ PCB- ն այժմ ամբողջությամբ ներկառուցված է տախտակի ներսում, ինչը ծայրերը շատ ավելի հեշտ է դարձնում (և շատ ավելի գեղեցիկ տեսք ունի) և հեշտացնում է վզի ֆրեզերումը:

Ինժեներական իրեր (անտեսեք, եթե ցանկանում եք).

Ի դեպ, սա իրականում այդքան էլ չի վտանգում պարանոցի կոշտությունը: PCB- ի նյութը շատ ավելի կոշտ է, քան նախնական տախտակի փայտը (Mahogany modulus: 10.6 GPa versus FR4 modulus: 24 GPa), գումարած այն պատճառով, որ մենք կառուցում ենք Ուկուլելե, չկա հսկայական լարային լարվածություն, որն այլապես կարող էր խեղաթյուրել (շրջադարձ կամ ոլորել) պարանոցը:

Մի շատ հետաքրքիր նկատառում (որը ես հավանաբար դեռ պետք է հաշվարկեմ) այն է, ինչ տեղի է ունենում ջերմաստիճանի բարձրության վրա: Ընդհանուր առմամբ, փայտի համար, հատակին զուգահեռ, ընդլայնման ջերմային գործակիցը մոտավորապես 3 x 10^-6/K է, իսկ FR4- ի դեպքում `14 × 10^−6/K: Այսպիսով, բավականին էական տարբերություն կա: Մտահոգիչն այն է, որ լարվածությունը պարանոցի հատվածում ստեղծվում է ջերմաստիճանի փոփոխության հետ մեկտեղ, որն էլ իր հերթին թելադրում է լարերը: Դա մի բան է, որը կարող է փոխհատուցվել չեզոք առանցքի հակառակ կողմում նմանատիպ շերտ կիրառելով կամ FR4- ը հնարավորինս մոտենալով չեզոք առանցքին: Բայց դա կմնա 2.0 -ի համար … Ինչ -որ բան մոդելավորելու և գնահատելու համար:

Էլեկտրոնիկան տեղադրված է uke- ի մարմնում: UKE- ի կողային պատին (այլ ոչ թե ձայնային տախտակին) անցքեր են կտրված, որպեսզի տեղ լինի էկրանին և պտտվող կոդավորողին, գումարած մուտքի ափսե Arduino Micro- ն պահելու և USB ինտերֆեյսին հասանելիություն ապահովելու համար: Մուտքի ափսեի/լեռան դիզայնը և տեղադրությունը, ամենայն հավանականությամբ, կարող են բարելավվել, որպեսզի USB կապը դուրս գա ավելի հարմար վայրում, սակայն, ինչպես դա առկա է, ամեն ինչ այնքան էլ վատ չէ, քանի որ դա խանգարում է խաղալիս:

Քայլերի ուրվագիծը հետևյալն է.

  1. Հավաքեք նյութեր
  2. Ձեռք բերեք անհրաժեշտ գործիքները
  3. Աղաց վիզը ՝ ավելի հաստ տախտակին տեղավորելու համար
  4. Mալեցրեք տախտակը `անհրաժեշտ վայրերում անցքեր ստեղծելու և գրպաններ ստեղծելու տախտակի և LED- ների համար
  5. Ձեռք բերեք և կառուցեք LED- ները պահող PCB- ն
  6. Ukulele- ի մարմնում տրորեք մուտքի անցքեր OLED էկրանին, Rotary կոդավորիչին և մուտքի վահանակին
  7. Պատրաստեք ծածկույթի ափսեներ
  8. Լարերը կցեք PCB- ին; միացրեք և փորձարկեք էլեկտրոնիկան
  9. Պարանոցը ամրացրեք Ուկուլելեի մարմնին
  10. Հորատեք մուտքի բռնակ PCB լարերը մարմնին փոխանցելու համար
  11. Հավասարեցրեք և կպցրեք PCB- ն և տախտակը պարանոցին
  12. Հավասարեցրեք տախտակի եզրերը մինչև պարանոցը (հեռացրեք ավելորդ նյութը)
  13. Տեղադրեք խճճված լարերը
  14. Կիրառեք դիմակ և կիրառեք ավարտը Ուկուլելեին
  15. Հավասարեցրեք և ամրացրեք կամուրջը
  16. Տեղադրեք էլեկտրոնիկա և փորձարկեք:
  17. Տեղադրեք լարեր և լարեք գործիքը
  18. Programրագրեք Uke վերահսկիչը
  19. Amazարմացրեք աշխարհը ձեր Ուկուլելեի հիանալիությամբ:

Քայլ 2: Հավաքեք նյութեր

Մեր նյութերի ցանկն այսպիսին է.

  1. Ուկուլելեի հավաքածու - Ես օգտագործել եմ Գրիզլիի համերգի Ուկուլելեի հավաքածուն (Grizzly Uke Kit- ը Amazon- ում), բայց դա կարծես դադարեցվելու է: Zimo- ն պատրաստում է նմանատիպ մոդել (Zimo Uke Kit @ Amazon), որը, կարծես, կանի իր աշխատանքը
  2. Ukulele fretboard, նախապես փորված (LMII Uke Fingerboards): Նրանք կտեղադրեն տախտակը ձեր սանդղակին, ինչը կփրկի դժվարությունները
  3. Էպոքսիդ - տախտակը վզին կպցնելու համար: Ես ընտրեցի էպոքսիդ, քանի որ այն համատեղելի է PCB նյութի հետ: Փնտրեք ինչ -որ բան առնվազն 60 րոպե աշխատանքային կյանքով: ՄԻ օգտագործեք 5 րոպեանոց տեսակներ, ձեզ ժամանակ է պետք ճշգրտումներ կատարելու համար
  4. Fret լարերը - մատչելի են նաև LMII- ից
  5. Պատվերով PCB - Altium ֆայլերն այստեղ են: Ես ընտրեցի նորմալ FR4 տիպի նյութ: Flex (polyimide) տախտակները կլինեն հետաքրքիր (եթե ավելի թանկ) այլընտրանք, քանի որ դրանք կարող են լինել շատ ավելի բարակ
  6. 48x Neopixel (SK6812) LED լուսարձակներ: Հասանելի է Adafruit- ից և Digikey- ից
  7. 48x 0.1uF 0402 գլխարկ - ավելի մեծը ընդունելի է, բայց դուք պետք է դիտեք տեղադրումը
  8. Միացման մետաղալար - շփոթությունից խուսափելու համար առնվազն 4 -ից 6 գույն, ես հիմնականում օգտագործել եմ 28 չափիչ մետաղալար: Դիտեք DC հոսանքի անկումը LED հոսանքի միացումների վրա (երկուսն էլ ՝ VCC և GROUND … այդ հոսանքը պետք է վերադառնա աղբյուրին):
  9. Պտտվող կոդավորիչ-PEC16-4220F-S0024
  10. Շքեղ փայտե բռնակ - պտտվող կոդավորիչի համար (ես իմը ստացել եմ LMII- ից)
  11. OLED էկրան - 4D համակարգերից OLED դիսփլեյներ
  12. Արտաքին USB մարտկոց - անընդհատ ավելի էժան, գումարած դուք կարող եք պահեստամասեր կրել:
  13. Arduino MICRO
  14. Թիթեղե փող - ափսե պատրաստելու համար `պահելու համար arduino- ն և շրջանակը ցուցադրման համար
  15. Տարատեսակ ծախսվող նյութեր ՝
  16. Լրացուցիչ Ukulele- ի կատարելագործումներ. Ավելի լավ լարեր, ավելի լավ լարեր, ավելի լավ ընկույզ և թամբ, ներդիր, եթե ցանկանում եք ցուցադրել ձեր ավելի բարձր վարպետությունը)

Քայլ 3: Ստացեք անհրաժեշտ գործիքները

Վաղ թե ուշ ձեզ հարկավոր կլինի ձեռք բերել կամ մուտք ունենալ հետևյալին.

Մեր գործիքների ցանկը ներառում է.

  1. Ֆրեզերային մեքենա - նախընտրելի է CNC, բայց դուք նույնիսկ կարող եք գլուխ հանել երթուղիչից և շատ հաջողություն ունենալ: Ես օգտագործել եմ համակցված CNC գործարան/երթուղիչ
  2. Ուղղորդիչի բիթեր - նախընտրելի է կարբիդ: Ուղղորդիչի բիթերն ընտրված են վերջնական ջրաղացների վրա, քանի որ մենք փայտ ենք մշակում, այլ ոչ թե մետաղ
  3. Ամրացուցիչներ - շատերը: Սոսնձման ժամանակ հիմնականում անհրաժեշտ է մասեր պահելու համար
  4. Sոդման երկաթ - փոքր հուշում մակերեսային զոդման համար
  5. Մանրադիտակ կամ խոշորացույց - կարող եք փորձել միայն ձեր աչքերով զոդել, բայց ես դա խորհուրդ չեմ տա `նվազագույնը 10 անգամ
  6. Պինցետ (մասերը տեղում դնելու համար)
  7. Հորատման գործիքներ (տես համապատասխան գործիքները LMII- ի մասին այստեղ, բայց ես օգտագործեցի այն, ինչ ունեի տանը և պատրաստեցի; մուրճեր, ֆայլեր և կտրիչներ)
  8. Ձեռքի գործիքների տեսականի, ինչպիսիք են փայտի տաշեղները, պտուտակահանները, փափուկ հարվածը կամ չմշակված մուրճը (տխրելու համար) և այլն:
  9. Հղկող նյութեր `հղկաթղթի տարբեր հատիկներ

Մեր ծրագրային գործիքները ներառում են (որոշներն ըստ ցանկության կախված են ձեր բյուջեից/հնարամտությունից).

  1. Arduino ծրագրակազմ
  2. Ուկուլելեի աղբյուրի կոդը (https://github.com/conrad26/Ukulele)
  3. PCB դասավորության փաթեթ - ես օգտագործել եմ Altium- ը, քանի որ Eagle- ի անվճար տարբերակը չի ապահովել իմ ուզած տախտակի չափը: Altium- ը լիարժեք հատակագծային փաթեթ է և իրականում ոչ թե հոբբիստների գների միջակայքում է: Ես ներառել եմ Gerber ֆայլերը իմ կայքում նախատիպի համար, բայց դրանք անպայման թարմացման կարիք ունեն
  4. 3D մոդելավորման ծրագրակազմ - ես օգտագործել եմ SolidWorks- ը, բայց անվճար տարբերակներից մեկը FreeCAD- ն է (https://www.freecadweb.org/)
  5. CAM ծրագրակազմ - նման FeatureCAM- ին Autodesk- ից `NC mill ֆայլ ստեղծելու համար:

Altium- ից եռաչափ ֆայլի արտահանման համադրությունը տախտակի 3D մոդելի հետ միասին վերացնում է ամեն ինչ համահունչ դարձնելու դժվարությունը, սակայն դա պահանջ չէ: Fulգույշ դասավորությունը կհասնի նույն արդյունքին:

Այժմ, երբ մենք գիտենք, թե ինչ ենք ուզում անել և ինչ պետք է անենք, եկեք կառուցենք Ուկուլելե:

Քայլ 4. Մղեցեք պարանոցը ՝ տեղավորելու համար ավելի հաստ տախտակը:

Mill the Neck ՝ տեղավորելու համար ավելի հաստ Fretboard- ը
Mill the Neck ՝ տեղավորելու համար ավելի հաստ Fretboard- ը

Ֆրեզերվելուց առաջ նշեք, որ նախնական տախտակի տեղադրման մակերևույթի հարթությունը ՊԵՏՔ է պահպանվի, կամ դուք կունենաք ոլորված տախտակ, ինչը հանգեցնում է անհանգստության հարթեցման հետ կապված բոլոր տեսակի խնդիրների:

Պարզապես մի գնացեք այնտեղ, շտապեք և զգույշ և կոշտ սեղմեք պարանոցը և կտրելուց առաջ ստուգեք երթուղղիչի համապատասխանեցումը ամբողջ պարանոցին: Այստեղ անցկացրած ժամանակը հետագայում ձեզ շատ վիշտ կփրկի:

Պատճառներից մեկը, որ ես ընտրեցի ավելի հաստ տախտակ պարանոցի ներդիրի վրա, ամրացման (սոսնձման) մակերեսի ավելացումն էր: Մեկ այլ պատճառ էլ այն է, որ պարզեցնում է վզի ֆրեզերումը: Դուք պարզապես բզզոցով կտրում եք ամբողջ մակերեսը անհրաժեշտ բարձրության վրա:

Քայլ 5. Ստացեք և կառուցեք LED- ները պահող PCB- ն

Ձեռք բերեք և կառուցեք LED- ները պահող PCB- ն
Ձեռք բերեք և կառուցեք LED- ները պահող PCB- ն
Ձեռք բերեք և կառուցեք LED- ները պահող PCB- ն
Ձեռք բերեք և կառուցեք LED- ները պահող PCB- ն

Ես ձեռքով զոդեցի ամբողջ ժողովը: Հատկապես հեշտ է հալվել LED փաթեթները, ուստի զգույշ եղեք դրանք չվնասելուց: Ես առաջարկում եմ կրել ստատիկ ժապավեն, քանի որ այն կախված է յուրաքանչյուր աշխատող LED- ից:

Fretboard- ի դիզայնը հիմնված է WS2812B LED- ների շուրջ: Ես որոշեցի անել միայն տախտակի առաջին օկտավան (48 LED !!): Յուրաքանչյուր LED կարող է դիտվել որպես մեկ բիթ հերթափոխի գրանցամատյանում: Տեղափոխման ռեգիստրը գործում է 800 կՀց հաճախականությամբ: Ես օգտագործել եմ Adafruit գրադարանը (տես ծրագրավորման բաժինը) ՝ ամեն ինչ արագ գործի դնելու համար:

Ես սկսեցի դիզայնը Eagle- ում, բայց տախտակի չափերը սահմանափակվում են 4 x 5 դյույմով, այնպես որ ես ստիպված էի (կամ ավելի ճիշտ, ես նախընտրեցի) անցնել Altium- ին: Ես օգտագործում եմ Altium- ը աշխատավայրում, այնպես որ իրականում դա ինձ համար ավելի արագացրեց գործերը: Altium նախագիծը, սխեմատիկ և pcb ֆայլերը (և գրադարանի մասերը) իմ կայքում են: Տախտակն ունի trapezoidal ձև և մոտ 10 դյույմ երկարություն: Կարծում եմ, որ ես պետք է փորձեի մի փոքր ավելի սեղմել ուրվագիծը (հաջորդ պտույտը): Մոնտաժը վատ չէր, բայց եթե դուք կարող եք դա թույլ տալ, ես իսկապես խորհուրդ եմ տալիս արժանապատիվ զոդման երկաթ (JBC զոդման արդուկներ) և լավ մանրադիտակ: Այո, ես փչացած եմ և ոչ, ես նման բաներ չունեմ իմ տան լաբորատորիայում: Ես էժան եմ:

Ես ունեի տախտակներ, պատրաստված Sunstone- ում: $ 129 երկու տախտակի համար: Մեկ շաբաթվա երաշխիքային հերթափոխ: Այնուամենայնիվ, մի՛ խնայեք առաքումը: Ես չնկատեցի, որ օգտագործել եմ UPS գրունտը և վերջացրեցի ևս մեկ շաբաթ սպասելով իմ տախտակների գալուն: Հավաքման ընդհանուր ժամանակը մոտ 2 ժամ էր (98 մաս):

Քայլ 6. Աղացեք տախտակը

Image
Image
Illրաղացների մուտքի անցքեր Ուկուլելեի մարմնում
Illրաղացների մուտքի անցքեր Ուկուլելեի մարմնում

Մենք պետք է տրորենք տախտակը, որպեսզի անհրաժեշտ վայրերում անցքեր բացենք և գրպաններ ստեղծենք տախտակի և LED- ների համար:

Ես Solidworks- ում ստեղծեցի ավարտված տախտակի 3D մոդել և ստեղծեցի CNC ֆրեզերային ռեժիմ ՝ օգտագործելով FeatureCAM:

Fretboard- ի ներքևի հատվածը (ձայնափոսին ամենամոտ) պետք է ավելի նիհարել `պարանոցի և մարմնի միջև բարձրության աստիճանի փոփոխության հաշվառման համար: Անշուշտ, արժե մի քանի անգամ փորձարկել տեղադրումը `համոզվելու համար, որ դա ողջամիտ հարմարավետ տեղավորում է:

Հետադարձ հայացքով, ես պետք է կտրեի տախտակի չօգտագործված մասերը, որպեսզի այն ավելի լավ տեղավորվեր ջրաղացին (իմ էժան ջրաղացն ուներ միայն 12 X առանցքի ճանապարհորդություն): Գործողությունների կարգը պետք է նախքան գործարանի հաստության առաջին ճշգրտումները կարգավորվեն: ֆրեզերային գրպաններ, որոնք պետք է հանգեցնեն գրպանների միջև ավելի քիչ ճեղքման:

Անհրաժեշտության դեպքում կատարեք ձեռքով ճշգրտումներ `լարերի համար տարածք ավելացնելու համար: Կարևոր է նշել մի բան, որ գրպաններից մի քանիսում ես ներխուժել եմ այն անցքը, որտեղ կանցնի խուճուճ մետաղալարերը: Հաշվի առնելով, որ դա դիրիժոր է, համոզվեք, որ այն չի ավարտի որևէ կարևոր բան: Այն նաև նվազեցնում է նյութի ուժը, որը պահում է տափաստանը տեղում: Դիզայնը պետք է փոփոխվի, որպեսզի այն երբեք չհատվի անհանգիստ անցքով:

Քայլ 7. Ուկուլելեի մարմնի ջրաղացների մուտքի անցքեր

Illրաղացների մուտքի անցքեր Ուկուլելեի մարմնում
Illրաղացների մուտքի անցքեր Ուկուլելեի մարմնում

Ես ձեռքով մանրացրեցի մարմնի մուտքի անցքերը: Ամենադժվարը շատ կոր մակերևույթի «ամենաթափ» շրջանը գտնելն է: Նշեք ուրվագիծը մատիտով և աստիճանաբար հեռացրեք նյութը մինչև OLED էկրանին հարմարավետ տեղավորվելը: Ես ձեռք բերեցի պղնձե եզր մշակված և ամրացրեցի այն ՝ օգտագործելով 3M VHB միացման ժապավեն:

Քանի որ երկուսն էլ մեծ ճշգրտություն չեն պահանջում, պտտվող ծածկագրիչը և մուտքի վահանակի անցքերը շատ ավելի հեշտ են ստեղծվում:

Քայլ 8: Կազմեք ծածկոցներ

Պատրաստեք ծածկոցներ
Պատրաստեք ծածկոցներ
Կազմեք ափսեներ
Կազմեք ափսեներ
Պատրաստեք ծածկոցներ
Պատրաստեք ծածկոցներ

Դուք նաև պետք է կազմեք ծածկույթի թիթեղները ցուցադրման շրջանակի և մուտքի վահանակի համար: Մուտքի վահանակին անհրաժեշտ է անցք (ուղղանկյուն) USB (միկրո) միակցիչի համար: Պարզապես օգտագործեք Arduino- ի առկա միակցիչը, քանի որ միկրո USB- ի համար վահանակի տեղադրման բազմաթիվ տարբերակներ չկան: (չնայած եթե ես նախագծում էի զրոյից, ապա ես նրանցից մեկին տեսք կտայի)

Տախտակը տեղում պահելու համար նորաձև L- ը փակագծեր են դնում պղնձից և դրանք կպցնում մուտքի ափսեի հետևի մասում: Սա թույլ է տալիս որոշ լայնություն դիրքավորման մեջ: Տեղորոշումը ճիշտ ձևակերպելու համար նախ ստեղծեք Arduino MICRO- ի համար տախտակի տեղադրման տախտակ (ամրացման անցքերով) և դրան ամրացրեք L փակագծերը ՝ օգտագործելով 2-56 հաստոցային պտուտակներ: Այնուհետև կարող եք փոփոխել տեղադրությունը ՝ USB պորտը շարելու և ափսեի վրա փակագծերի տեղերը ճշգրիտ նշելու համար: Հեռացրեք փակագծերը տախտակից և ամրացրեք դրանք տեղում: Վերջապես ամրացրեք շերտի տախտակը:

Ես օգտագործեցի չորս փոքր պղնձե փայտե պտուտակներ `փողային մուտքի վահանակը տեղում պահելու համար:

Այս պահին ես խորհուրդ եմ տալիս փորձնական պիտանի լինել մինչև վերջնական հավաքը սկսվելը: Այս քայլը պարտադիր չէ, բայց խորհուրդ է տրվում: Սոսնձումից առաջ շատ ավելի հեշտ է ճշգրտումներ կատարել:

Քայլ 9. Կցեք լարերը PCB- ին; Միացրեք և փորձարկեք էլեկտրոնիկան

Image
Image
Պարանոցը ամրացրեք Ուկուլելեի մարմնին
Պարանոցը ամրացրեք Ուկուլելեի մարմնին

Էլեկտրոնիկան դեռ մշտապես մի ամրացրեք: Կցեք լարերը PCB- ին ՝ համոզվելով, որ բավականաչափ թուլություն եք թողնում մուտքի անցքից դուրս գալու համար: Դրանք, ի վերջո, պետք է մշտապես ամրացվեն Arduino MICRO տախտակին (լուսանկարները ցույց են տալիս Arduino UNO, որը ես օգտագործել եմ ծածկագրերի մշակման համար)

Քայլ 10: Պարանոցը ամրացրեք Ուկուլելեի մարմնին

Կցեք պարանոցը Ուկուլելեի մարմնին ՝ հետևելով Ուկուլելեի հավաքածուի մեջ ներառված հրահանգներին: Մասնավորապես դիտեք տախտակի մակերեսի հավասարեցումը uke- ի մարմնին:

Քայլ 11. Հորատեք մուտքի անցք `PCB- ի լարերը թափանցելու համար:

Հորատեք մուտքի անցք ՝ PCB- ի լարերը մարմնի մեջ փոխանցելու համար
Հորատեք մուտքի անցք ՝ PCB- ի լարերը մարմնի մեջ փոխանցելու համար

Երբ սոսինձը չորանա, անցք կատարեք 10 մմ ~ 1/4 դյույմ (10 մմ), որը թույլ կտա PCB- ից լարերը անցնել Ուկուլելեի մարմնին: Համոզվեք, որ չվնասեք ձայնային տախտակը:

Հնարավոր է, որ անհրաժեշտ լինի ստեղծել նաև մի փոքրիկ գրպան, որը թույլ կտա լարերի հաստությունը տախտակի տակ (կամ ըստ ցանկության կապերը դնել վերևում և թեթևացում ներառել տախտակի մեջ):

Մեկ այլ փորձարկման համապատասխանություն այս պահին չի վնասի:

Քայլ 12. Հավասարեցրեք և սոսնձեք PCB- ն և Fretboard- ը վզին

Հավասարեցրեք և սոսնձեք PCB- ն և Fretboard- ը վզին
Հավասարեցրեք և սոսնձեք PCB- ն և Fretboard- ը վզին

Ես առաջարկում եմ սոսնձելուց առաջ մտածել սեղմման (և փորձի՛ր) միջոցով: Հնարավոր է, որ ցանկանաք ձևավորել բլոկ, որը ձևավորված է պարանոցի ներքևի մասում ՝ հարթ սեղմիչ մակերես ստանալու համար: Fretboard- ն այս պահին ավելի մեծ է, քան պարանոցը, այնպես որ դուք պետք է դա թույլ տաք:

Շատ զգույշ եղեք, որ էպոքսիդ չստանա որևէ մակերևույթի վրա, որը ցանկանում եք ավարտել ավելի ուշ: Ավելի լավ է դիմակը քսել սոսնձելուց առաջ բոլոր չկպչված մակերեսներին `համոզվելու համար, որ այն գնում է միայն այնտեղ, որտեղ դուք նախատեսել եք:

Օգտագործեք էպոքսիդ `նվազագույնը 60 րոպե աշխատանքային կյանքով … ձեզ հարկավոր կլինի այդ ամենը:

Սկզբում կպցրեք PCB- ն տեղում ՝ համոզվելով, որ ավելցուկային սոսինձը չի դուրս պրծնում տախտակի սոսնձման մակերեսի մեջ: Սա ապահովում է fretboard- ի պարանոցին հավասարեցնելու մեթոդ: PCB- ն ունի սոսնձման դիմակի սահուն ավարտ, այնպես որ ես այն կոփեցի մի փոքր հղկաթուղթով, որպեսզի էպոքսիդին մի փոքր բարելավված մակերևույթ ունենա:

Հավասարեցրեք և սոսնձեցրեք տախտակը վզին: Carefulգույշ եղեք, որ գրպաններ չթողնեք, որոնք հետագայում կարող են հնչեղ դառնալ (բզզոց): Նաև զգույշ եղեք, որ սոսինձ չստանաք LED մակերեսների վրա:

Երբ սոսինձը չորանում է, գուցե ցանկանաք ևս մեկ անգամ լարել և փորձարկել էլեկտրոնիկան: Մեկ վատ LED- ն կստիպի ձեզ ատել կյանքը: Ես ունեի մեկ վատ լուսադիոդ (առաջինը) նախատիպի վրա, և ես ստիպված էի ինչ -որ ստեղծագործական փայտամշակման աշխատանքներ կատարել ՝ թերի LED- ին մուտք գործելու և այն մաքուր կարկատելու համար:

Քայլ 13. Հավասարեցրեք տախտակի եզրերը պարանոցին և ավելացրեք տափակ լարեր

Երբ սոսինձը չորանում է, կարող եք սկսել ավարտել եզրերը: Ես զգուշորեն կտրեցի տախտակի ավելցուկային նյութը (օգտագործելով ջրաղացին) և վերջին միլիմետրը ավարտեցի ձեռքով հղկելով:

Անհանգիստ լարերի ավելացումը կարող է պարզապես կատարվել մուրճով (պլաստիկ երեսով ՝ ամուսնությունից խուսափելու համար): Պարզապես շատ ուժեղ մի՛ հարվածեք: Եթե դուք համընկնում եք տատանվող մետաղալարերի անցքերի հետ, դրանք պետք է ներս մտնեն առանց մեծ դժվարության:

Այն, ինչին պետք է ուշադրություն դարձնել, LED գրպանի բարակ մակերեսը կոտրելն է: Նախատիպի վրա ես թույլ տվեցի մի քանի LED գրպաններ (12 -րդ տափօղակի մոտ, որտեղ տարածքը նեղանում է) տարածվել տագնապի անցքի մեջ: Դա վատ գաղափար է, քանի որ դա թույլ տեղ է ստեղծում, որը կարող է (և արվել է) թրթռալարը տեղադրվելուց հետո:

Քայլ 14: Կիրառեք դիմակ և կիրառեք ավարտը Ուկուլելեին

Դիմակավորեք տախտակին (այն չի ավարտվում) և կամրջի սոսնձման տարածքը և սկսեք կիրառել ավարտը:

Կամրջի տարածքը քողարկելիս ձեր հանդերձանքով կարդացեք հրահանգները, այնուհետև կրկնակի ստուգեք սանդղակի երկարությունը `վստահ լինելու համար:Նախատիպի համար օգտագործված հավաքածուն սխալ մասշտաբի երկարություն էր օգտագործում և, հետևաբար, սխալ չափեր էր տալիս կամուրջը տեղակայելու համար (բայց այն գրառում ուներ ՝ վերջին հրահանգների համար կայքը ստուգելու համար): Աղիքս ասաց, որ դա սխալ է, բայց ես կուրորեն ընդունեցի իշխանությունը:

Միշտ ավելի լավ է հասկանալ, թե ԻՆՉՈ you're եք ինչ -որ բան անում, այլ ոչ թե կուրորեն հետևել հրահանգներին:

Ավարտելու համար կան բազմաթիվ դասընթացներ լյութիերների կողմից, ովքեր գիտեն, թե ինչ են անում համացանցում, ուստի խորհուրդ եմ տալիս խորհրդակցել նրանց հետ ՝ նախքան ավարտելու գործընթացին անցնելը:

Ես, իհարկե, դա չարեցի, ուստի վերջում օգտագործեցի սխալ կնիք, որի արդյունքում ստացվեց շատ հատիկավոր մակերես: Մի արա դա:

Արա Տնային աշխատանքներդ.

Քայլ 15. Հավասարեցրեք և ամրացրեք կամուրջը

Հավասարեցրեք և ամրացրեք կամուրջը
Հավասարեցրեք և ամրացրեք կամուրջը

Այս քայլը բավականին պարզ է, բայց կրկին պլանավորեք ձեր սեղմման մեթոդը և նախապես փորձեք այն սոսնձելուց առաջ: Կամուրջը ամրացնելու համար ես օգտագործեցի ստանդարտ փայտի սոսինձ:

Քայլ 16: Տեղադրեք էլեկտրոնիկա և փորձարկեք

Տեղադրեք էլեկտրոնիկա և փորձարկում
Տեղադրեք էլեկտրոնիկա և փորձարկում

Հիմա ժամանակն է ձեր էլեկտրագծերը գեղեցիկ դարձնել: Բացի այդ, դուք չեք ցանկանում, որ այն պտտվի մարմնի ներսում և բզզող ձայներ բարձրացնի կամ ավելի վատ, այնուամենայնիվ, բեմ բարձրանա:

Arduino- ի ծածկագիրը կարող է թարմացվել USB պորտի միջոցով, այնպես որ, իրոք, կարիք չկա այն առանձնացնել, եթե չես ուզում շոշափել:

Քայլ 17: Տեղադրեք թյուներ և լարեք գործիքը:

Image
Image
Uke- ի ծրագրավորում
Uke- ի ծրագրավորում

Դուք նույնպես, ամենայն հավանականությամբ, պետք է հարթեցնեք տագնապները և մի փոքր խաղաք կարգաբերման հետ, բայց ինչու՞ անհանգստանալ հիմա, երբ այդքան մոտ եք ավարտին:

Ես բարձրացրեցի լարերը և օգտագործեցի գեղեցիկ Aquila լարերը, որոնք ոչ մի կերպ չօգնեցին ձայնին: Ուրեմն դա նկատի ունեցեք, երբ գումար եք կուտակում նախագծի ուկուլելեի համար…

Քայլ 18: Uke- ի ծրագրավորում

Arduino- ի վերջնական կոդը գտնվում է Github- ում: Կոդում կան որոշ տողեր, որոնք կաջակցեն ապագա բարելավումներին (օրինակ ՝ մետրոնոմի գործառույթ և ցուցադրման համար «սահիչներ» (UI տարր, որը նման է սահողին)

Այս ծածկագիրը օգտագործում է Rotary Encoder Library (Rotary Encoder Arduino Library) ՝ Rotary Encoder- ից օգտվողի մուտքը կարգավորելու համար:

Այն նաև օգտագործում է Adafruit Neopixel գրադարանը և այստեղ տեղադրված օրինակ կոդը: Թատրոնի և ծիածանի ռեժիմները բխում են գրադարանին տրամադրված օրինակներից: (տես strandtest.ino):

Theուցադրման վարորդը տրամադրվում է 4D համակարգերով և գտնված է այստեղ Github- ում:

Ուկուլելե նախագծի համար իրականացվում է երկու եզակի գործառույթ: Առաջինը ներդնում է ակորդների գրադարանը, իսկ երկրորդը ցուցադրում է ոլորվող տեքստային հաղորդագրություն `օգտագործելով հատուկ նիշերի հավաքածու:

Կցված դիագրամը ցույց է տալիս տախտակի լուսադիոդային տեղերը և ինչպես են դրանք միացված: LED 0 -ը գտնվում է վերին աջ անկյունում:

Քայլ 19. Ինչպես ցուցադրել ակորդը

Ինչպես ցուցադրել ակորդը
Ինչպես ցուցադրել ակորդը

DisplayChord գործառույթը ցուցադրում է մատների դիրքերը (միայն առաջին դիրքը առայժմ) յուրաքանչյուր ակորդի համար: Օգտագործողի կողմից ընտրված ակորդները (արմատային նշում և որակ) պահվում են որպես զույգ ինդեքսներ: Սրանք իր հերթին օգտագործվում են յուրաքանչյուր ակորդի մատնահետքերը փնտրելու համար:

Ես օգտագործել եմ «GCEA» նշումը ՝ ակորդներ պահելու համար (օրինակ ՝ «A» - ն «2100» է): Ակորդները նախապես հաշվարկվում են յուրաքանչյուր արմատային նոտայի համար և պահվում են ակորդի որակին համապատասխանող փոփոխականում: (այսպիսով, A major- ը պահվում է «majorChords» զանգվածի առաջին վայրում, որը համապատասխանում է «2100» -ին):

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 "};

Նկատի ունեցեք, որ քանի որ սա տեքստի տող է, յուրաքանչյուր թվանշան կարող է նաև ներկայացնել վեցանկյուն արժեք ՝ 9 -ից մեծ անհանգստության համար: Այսինքն, A և B- ն կներկայացնեն LED- ները 10 և 11. Առաջին դիրքի ակորդների դեպքում դա խնդիր չէր).

LED- ի տողը երկայնքով լարված է 12 տողերում (օկտավա) յուրաքանչյուր տողի երկայնքով (սկսած A տողից), 12 -ի հաջորդ վազքը սկսվում է հաջորդ տողի առաջին թրթիռից (տե՛ս 18 -րդ քայլի դիագրամը): Սա կարևոր է ալգորիթմի համար `որոշելու, թե որ լույսերը պետք է միացնել տվյալ ակորդի համար: Դա նշանակում է, որ 0 -ից 11 պիքսելները A լարի LED- ներ են, 12 -ից 23 -ը E լարային LED- ները և այլն: Երբ վերլուծում ենք A = "2100" (պահվում է որպես տող, ծածկագրում կա նաև null տերմինատոր), մենք այն մեկնաբանում ենք այսպես. A տողի վրա ոչ մի պիքսել չի լուսավորվում, ոչ էլ E տողի վրա, պիքսել 0 (fret 1) C տողի վրա լուսավորված է, իսկ pixel 1 (fret 2) G տողի վրա: Նկատի ունեցեք, որ «0» -ն անջատված է, ոչ թե առաջին LED- ն: Հաղորդալարերի հիման վրա մենք ցանկանում ենք լուսավորել LED- ները 24 և 37: Ստորև բերված է ակորդ ցուցադրելու ծածկագիրը:

for (int i = 0; i <4; i ++) {if (int (chord - '0')) {// ալգորիթմ ՝ վերլուծելու ակորդալարը int ledNumber = int (chord - '0') + (3 - i) * 12 - 1; // տե՛ս վերը նշված քննարկումը, (3-i)-ը պետք է շրջի ինդեքսը strip.setPixelColor (ledNumber, 0, 125, 125); // setPixelColor (ledNumber, կարմիր արժեք, կանաչ արժեք, կապույտ արժեք)}}

Եթե հայտարարությունը ստուգում է, արդյոք led- ն անջատված է: Եթե դա այդպես չէ, ապա այն վերցնում է բնույթի ascii արժեքը, ակորդը և հանում է ascii արժեքը '0' - ի համար, որպեսզի ledNumber- ը լուսավորվի:

շերտագիծը Adafruit_NeoPixel դասի օրինակ է: SetPixelColor գործառույթը սահմանում է հաշվարկված պիքսելների գույնը (այս դեպքում ամրագրված է (0, 125, 125)):

Քայլ 20. Ինչպես ցուցադրել ոլորման հաղորդագրություն

Ինչպես ցուցադրել ոլորման հաղորդագրություն
Ինչպես ցուցադրել ոլորման հաղորդագրություն

Այսպիսով, մենք ունենք LED- ների 12 x 4 զանգված: ինչու՞ չդարձնել այն այլ բան, քան բավականին պատահական լուսային նախշեր:

Առաջին խնդիրն այն է, որ ցուցադրման բարձրությունը (4) բավականին սահմանափակ է Uke- ի տողերի քանակի պատճառով: Հորիզոնական ոլորումը հիմնականում անընթեռնելի կլինի, բայց ուղղահայաց կողմնորոշման դեպքում մենք կարող ենք աջակցել ուղղահայաց վազող 4 x 5 նիշ:

Նիշերը որպես հինգ «ուղղահայաց» տողեր կազմակերպելը նշանակում է, որ երկու նիշ կարող են միաժամանակ ցուցադրվել ՝ թույլ տալով մեկ գծի տարածություն յուրաքանչյուր նիշի միջև:

Դժվարությունն այն էր, որ չկար ստանդարտ 4 x 5 նիշերի հավաքածու: Ես ինքս պատրաստեցի ՝ օգտագործելով կցված աղյուսակը: Յուրաքանչյուր տող վերագրեցի մեկ վեցանկյուն արժեքի (4 բիթ, որը ներկայացնում է, թե որ պիքսելն է միացված կամ անջատված): Հինգ վեցանկյուն արժեքների համադրությունը կազմում են բնույթ (օրինակ ՝ «0» ՝ 0x69996):

Յուրաքանչյուր բնույթի արժեքները պահվում են զանգվածում ASCII կարգով: Բնավորության հավաքածուն որոշակի փոխզիջումների է գնում որոշակի տառերով, բայց մեծամասնությունը `ողջամտորեն պարզ: (աղյուսակի ներքևի սղոցումը գաղափարներ են, որոնց հետ ես խաղում էի, քանի որ մենք որպես տարբերակ ունենք գույն, մենք կարող ենք «խորություն» հաղորդել կերպարին և, հնարավոր է, ստանալ լրացուցիչ լուծում:

Toուցադրվող տողը պարունակվում է լարային փոփոխականում ՝ հաղորդագրությունում:

Բուֆերը ստեղծվում է ՝ նշանների ցուցադրումը ներկայացնելու համար: Ենթադրում եմ, որ ես կարող էի պարզապես ստեղծել մեծ բուֆեր ՝ թարգմանված հաղորդագրությունների ամբողջ հաջորդականությամբ, մանավանդ որ հաղորդագրությունների մեծ մասը լինելու է 20 նիշից պակաս: Այնուամենայնիվ, ես փոխարենը նախընտրեցի ստեղծել ֆիքսված երեք նիշ (18 բայթ) բուֆեր: Կերպարներից միայն երկուսն են ակտիվորեն ցուցադրվում, իսկ երրորդը ՝ հայացքն առաջ է, որտեղ բեռնված է հաջորդ կերպարը: LED- ի տողը (մտածեք այն որպես մեծ հերթափոխի գրանցամատյան) բեռնված է տողի համար 48 բիթով: Ես վատնել եմ որոշ հիշողության տարածք, որպեսզի դա ավելի հեշտ լինի հասկանալ: Յուրաքանչյուր խայթոց ստանում է իր հիշողության վայրը ՝ կրկնապատկելով հիշողության պահանջը, բայց դա այնքան էլ մեծ չէ ՝ հաշվի առնելով բուֆերի չափը:

Բուֆերը բեռնված է հաջորդ նիշով, երբ ելքային ինդեքսը (ցուցիչը) հասնում է նիշերի սահմանին (ելքային ցուցիչ 5, 11 կամ 17):

Բուֆերը բեռնելու համար մենք «հաղորդագրության» առաջին նիշը վերցնում ենք որպես ASCII արժեք և հանում ենք 48 -ը ՝ asciiFont զանգվածի ինդեքսը ստանալու համար: Այդ ցուցանիշի արժեքը պահվում է կոդավորված Char- ում:

Տեղափոխված հաղորդագրության առաջին մասը համապատասխանում է 47, 35, 23 և 11 LED- ներին (էկրանի ներքևը): Այսպիսով, զրո 0x0F999F թվի համար F (ձախը) տեղաշարժվում է առաջին, 9 վայրկյան և այլն:

Հաջորդ նիշը բեռնված է `ծածկելով յուրաքանչյուր խայթոց և այն տեղափոխելով աջ: Վերոնշյալ օրինակի համար ալգորիթմը տալիս է (0x0F999F & 0xF00000) >> 20, ապա (0x0F999F & 0x0F0000) >> 16 և այլն:

int ինդեքս; եթե (outputPointer == 17 || outputPointer == 5 || outputPointer == 11) {char displayChar = message.charAt (messagePointer); // բռնել հաղորդագրության առաջին նիշը երկար ծածկագրվածChar = asciiFont [displayChar - 48]; եթե (displayChar == 32) codedChar = 0x000000; messageBuffer [bytePointer+5] = բայթ ((կոդավորված Char & 0xF00000) >> 20); // դիմակավորել բոլորը, բացի վերջին խայթոցից և տեղափոխել այն 20 -ով (և այսպես շարունակ) // սա պետք է դնի մեկ խայթոց մեկ հիշողության գտնվելու վայրի messageBuffer [bytePointer+3] = բայթ ((codedChar & 0x00F000) >> 12); // բոլոր վեցը ներկայացնում են messageBuffer- ի կերպարը [bytePointer+2] = բայթ ((կոդավորված Char & 0x000F00) >> 8); messageBuffer [bytePointer+1] = բայթ ((կոդավորված Char & 0x0000F0) >> 4); messageBuffer [bytePointer] = բայթ ((կոդավորված Char & 0x00000F)); if (bytePointer == 0) {// կարգավորել օղակը bytePointer bytePointer = 12; } else {bytePointer -= 6; // մենք լրացնում ենք ներքևից վեր; ՈEՇԱԴՐՈԹՅՈՆ. Պետք է նայել հակադարձմանը `տեսնելու համար, թե արդյոք դա ավելի դյուրին կդարձնի} եթե } else {messagePointer += 1; // անցնել հաջորդ նիշին}}

Բուֆերը բեռնվելուց հետո դառնում է հետևելու տեղ, որտեղ գտնվում է ելքային ցուցիչը և բեռնելով LED տողը ճիշտ 48 բիթով (ընթացիկ 4 -ը և նախորդ 44 -ը): Ինչպես արդեն նշվեց, շերտագիծը NeoPixel դասի օրինակ է, և setPixelColor- ը սահմանում է յուրաքանչյուր պիքսելի գույնը (RGB): Show () գործառույթը ցուցադրման արժեքները տեղափոխում է LED տող:

// հանգույց ՝ բուֆերը անընդհատ դուրս հանելու համար

// ցանկանում եմ դուրս գրել օղակի յուրաքանչյուր անցման ամբողջ ժապավենը, միայն սկզբնական վայրը փոխվում է (int row = 12; row> 0; row--) {index = outputPointer + (12 տող); եթե (ինդեքս> 17) ինդեքս = ելակետավոր+(12 տող) -18; // օղակ, եթե 17-ից մեծ է (int column = 4; column> 0; column--) {strip.setPixelColor (uint16_t (12*(column-1)+(row-1)), uint8_t (RedLED*(bitRead (messageBuffer [index], column-1))), uint8_t (GreenLED*(bitRead (messageBuffer [index], column-1)))), uint8_t (BlueLED*(bitRead (messageBuffer [index], column-1))))); // յուրաքանչյուր վայրում լուսավորեք LED- ը, եթե բիթը մեկ է}} // outputPointer- ը ցույց է տալիս ցուցադրման տողի ընթացիկ ամենացածր բայթը, եթե (outputPointer == 0) outputPointer = 17; else outputPointer -= 1; strip.show (); }

Քայլ 21. Amazարմացրե՛ք աշխարհը ձեր ուկուլելե հնարամտությամբ:

Image
Image

Ուկուլելեի վերջնական նախատիպը տևեց մոտ 6 ամիս մեկնարկներ և կանգառներ:

Շատ նոր տեխնիկա սովորելու համար, և միգուցե փայտամշակման և երաժշտական տեսություն գործարկելու համար:

Ի՞նչ անել հաջորդ տարբերակի համար:

  1. Ազատվեք ցուցադրումից և պտտվող կոդավորողից: Փոխարինեք դրանք արդուինոյին կցված Bluetooth մոդուլով: Հեռակա կարգով կառավարեք այն ՝ օգտագործելով հեռախոս կամ պլանշետ: Bluetooth- ով ամեն ինչ ավելի լավ է:
  2. Իրական ժամանակում հեռակա թարմացրեք ակորդային նախշերը: Հավելվածին ավելի լավ բան է մնացել:
  3. LED ծածկոցներ: Ներկայիս տարբերակը ոչինչ չի անում, որպեսզի խոչընդոտը չընկնի LED անցքերի մեջ: Ընկերներից մեկը մի փոքր փոքրիկ ոսպնյակ պատրաստեց, բայց ես երբեք չկարողացա պարզել, թե ինչպես նրանց ստիպել ճիշտ տեղում մնալ:
  4. Fretboard- ի այլընտրանքային նյութեր, գուցե ինչ -որ հստակ բան, քանի դեռ ֆռետները պահում են:
  5. Ավելի շատ լույսեր: Վերացրեք տեքստի սահմանափակումը `ավելացնելով ավելի շատ« տողեր »: Սա իսկապես սահմանափակում է, որը պայմանավորված է տախտակի չափսերով և LED մարմիններով:

Կրկին, տես ուղեցույց Instructable- ը, որը նկարագրում է այն նիշերի հավաքածուն, որը ես պետք է ստեղծեի `տեքստը ոլորելու համար:

Անչափ շնորհակալ եմ այսքան հեռու հասնելու համար: Մահալո!

Խորհուրդ ենք տալիս: