Satura rādītājs:

Kā izveidot apgaismotu Ukulele!: 21 soļi
Kā izveidot apgaismotu Ukulele!: 21 soļi

Video: Kā izveidot apgaismotu Ukulele!: 21 soļi

Video: Kā izveidot apgaismotu Ukulele!: 21 soļi
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Jūlijs
Anonim
Image
Image
Izveidot plānu
Izveidot plānu

Spēlēju Ukulele. Diezgan viduvēji (ja tas ir vārds), tāpēc es domāju: "ja jūs patiešām vēlaties atstāt iespaidu uz dāmām, jums ir nepieciešami līdzekļi, lai novērstu viņu uzmanību no katastrofas, kas spēlē uz skatuves." Tādējādi piedzima "Light-up Ukulele".

Šis projekts aizņem Concert Ukulele komplektu un pievieno virkni un fret pozīciju ar Arduino kontrolētu gaismas diodi. Tas arī pievieno izsmalcinātu OLED displeju un uz rotējošu kodētāju balstītu lietotāja saskarni, lai izvēlētos LED virknes režīmu un intensitāti.

Pabeigtās uke aparatūras funkcijas:

  1. Arduino MICRO, lai izveidotu saskarni ar LED virkni, displeju un ievades ierīci.
  2. 48 individuāli programmējamas pilnkrāsu gaismas diodes
  3. OLED displejs
  4. Rotējošs kodētājs lietotāja ievadīšanai
  5. USB interfeiss ārējai barošanai un Arduino programmēšanai

Uke programmatūrai ir:

  1. Pamata gaismas vadības režīmi, kas darbojas ar gaismas diodēm
  2. Lielisks teātra telts režīms (ļoti ērts izrādēm!)
  3. LED intensitātes kontrole
  4. Pilna visu pirmās pozīcijas Ukuleles akordu akordu bibliotēka (akorda vērtība un raksturs)
  5. Spēja parādīt tekošu tekstu (vertikāli), izmantojot unikālu 4 x 6 pikseļu rakstzīmju kopu

Šī pamācība apraksta pabeigto prototipu. Pilna izstrādes sāga ir pieejama ŠEIT, ieskaitot dažas izglītojošas (sāpīgas) kļūdas un vērtīgu mācību par to, kāpēc JĀBŪT pabeigtam pirmajam projektam (lai cik neglītas lietas kļūtu). Jūs nekad nezināt visas lietas, ko patiesībā nezināt, līdz esat nonācis līdz galam (un tad jūs joprojām nezināt!), Bet jūs esat daudz labāks un daudz gudrāks nākamajam dizainam.

Es izveidoju prototipu ap Grizzly Concert Ukulele komplektu. Sākot ar komplektu, tiek mazinātas bažas par uke ķermeni (labi, galvenokārt), un tiek novērsta lielākā daļa reālā lutera tipa darba. Šie komplekti ir diezgan pabeigti un nav tik dārgi lielajā lietu shēmā (un mazāk sāpīgi, jo jūs kļūdīsities).

1. solis: sastādiet plānu

Izveidot plānu
Izveidot plānu

Dažos komplektos ietvertajam grifam (vai grifam) jau ir pievienotas frets. Tas ir labi/slikti. Tas ir jauki kā laika ietaupītājs, bet attiecībā uz urbja parauga izvietošanu un frēzēšanas vietā noturēšanu tas ir nedaudz sāpīgs. Iznīcinājis komplektā iekļauto, es izvēlējos (labi, man nebija citas izvēles, kā tikai iegādāties citu komplektu), lai iegādātos jaunu fretboardu.

Izstrādājot griestu dēli, mums ir jāaprēķina biezuma palielinājums, kas nepieciešams, lai iestrādātu PCB un gaismas diodes (un neaizmirstiet par pasīvajām sastāvdaļām), bet ne tik daudz, lai gaismas diodes būtu pārāk tālu no fretborda virsmas.

LED iespiedshēmas plate (PCB) ir veidota kā vienkārša divslāņu plate. Tas ļoti palīdz ar LED virknes montāžu ar rokām un nodrošina zināmu mehānisko izturību (tas ir stikla šķiedra un epoksīds) Ukulele kaklam. Es sāku izkārtojumu Eagle, bet galu galā izmantoju Altium Designer dēļu izmēru ierobežojumu dēļ. Altium shematiskie un PCB faili ir šeit.

Komplekta fretboard bija tikai 0,125 collas biezs. Tātad, pieņemot, ka PCB biezums ir 0,062 collas un gaismas diodēm tiek piešķirtas papildu 0,062 collas, tas nozīmē, ka mums ir ļoti daudz jāizgriež (tāpat kā visos) griestu dēļi. Lai to kompensētu, mēs varam daļēji izgriezt gaismas diodes kabatas griestu panelī ar atbilstošu kabatu kaklā PCB, vai arī mēs varētu nomainīt visu griestu dēli (opcija, ar kuru es izvēlējos) ar biezāku versiju no Luther Mercantile International (LMII), kuru sākums ir 0,25 collas.

BET, atcerieties, ka jums joprojām būs jāapstrādā kakls, lai kompensētu biezuma palielināšanos fretboardā. Otra priekšrocība, ko jūs iegūstat, ir kosmētika, jo PCB tagad ir pilnībā iestrādāts fretboardā, kas padara malas daudz vieglāk apdares (un izskatās daudz jaukākas!) Un vienkāršo kakla frēzēšanu.

Inženierijas lietas (ignorējiet, ja vēlaties):

Starp citu, tas īsti neapdraud kakla stīvumu. PCB materiāls ir daudz stingrāks nekā sākotnējais fretboard koks (sarkankoka modulis: 10,6 GPa pret FR4 moduli: 24 GPa), turklāt, tā kā mēs veidojam Ukulele, nav milzīgas virknes spriedzes, kas citādi varētu izkropļot vai deformēties) kakls.

Viens ļoti interesants apsvērums (kas man, iespējams, joprojām būtu jāaprēķina) ir tas, kas notiek temperatūrā. Parasti koksnei paralēli graudam termiskais izplešanās koeficients ir aptuveni 3 x 10^-6/K, bet FR4 tas ir 14 × 10^-6/K. Tātad, ir diezgan būtiska atšķirība. Bažas rada tas, ka, mainoties temperatūrai, kaklā rodas spriedze, kas savukārt atslāņo stīgas. To var kompensēt, uzklājot līdzīgu slāni neitrālās ass pretējā pusē vai pietuvinot FR4 pēc iespējas tuvāk neitrālajai asij. Bet tas tiks atstāts 2,0 … Kaut ko modelēt un novērtēt.

Elektronika ir ievietota uke korpusā. UKE sānu sienā (nevis skaņu panelī!) Ir izgriezti caurumi, lai atbrīvotu vietu displejam un rotējošajam kodētājam, kā arī piekļuves plāksne, lai turētu Arduino Micro un nodrošinātu piekļuvi USB interfeisam. Piekļuves plāksnes/stiprinājuma dizainu un atrašanās vietu, iespējams, varētu uzlabot, lai USB savienojums būtu ērtāk atrodams, taču pašreizējā situācijā tas nav tik slikti, jo tas netraucē atskaņošanai.

Pasākumu izklāsts ir šāds:

  1. Savākt materiālus
  2. Iegūstiet nepieciešamos rīkus
  3. Frēzējiet kaklu, lai pielāgotos biezākajam fretboardam
  4. Frēzējiet dēli, lai vajadzīgās vietās izveidotu caurumus un izveidotu kabatas plāksnei un gaismas diodēm
  5. Iegūstiet un izveidojiet PCB, kurā ir gaismas diodes
  6. Izurbiet piekļuves caurumus Ukulele korpusā OLED displejam, rotācijas kodētājam un piekļuves panelim
  7. Izveidojiet pārseguma plāksnes
  8. Pievienojiet vadus PCB; pievienojiet un pārbaudiet elektroniku
  9. Piestipriniet kaklu pie Ukuleles ķermeņa
  10. Izurbiet piekļuves turētāju, lai PCB vadus ievietotu korpusā
  11. Izlīdziniet un pielīmējiet PCB un fretboard pie kakla
  12. Izlīdziniet fretboard malas pie kakla (noņemiet lieko materiālu)
  13. Uzstādiet satraukuma vadus
  14. Uzklājiet masku un uzklājiet Ukulele apdari
  15. Izlīdziniet un piestipriniet tiltu
  16. Instalējiet elektroniku un pārbaudiet.
  17. Uzstādiet skaņotājus un ieslēdziet instrumentu
  18. Programmējiet Uke kontrolieri
  19. Pārsteidz pasauli ar savu Ukuleles izcilību!

2. darbība: apkopojiet materiālus

Mūsu materiālu saraksts izskatās šādi:

  1. Ukulele komplekts - es izmantoju Grizzly Concert Ukulele komplektu (Grizzly Uke Kit pie Amazon), bet izskatās, ka tas tiks pārtraukts. Zimo ražo līdzīgu modeli (Zimo Uke Kit @ Amazon), kas izskatās, ka tas veiks darbu
  2. Ukuleles griestu dēlis ar iepriekšēju slotu (LMII Uke Fingerboards). Viņi sasniegs griestu dēli atbilstoši jūsu skalai, kas ietaupa nepatikšanas
  3. Epoksīdsveķis - fretboard pielīmēšanai pie kakla. Es izvēlējos epoksīdu, jo tas ir saderīgs ar PCB materiālu. Meklējiet kaut ko ar vismaz 60 minūšu darba mūžu. NELIETOJIET 5 minūšu veidus, jums ir nepieciešams laiks, lai veiktu pielāgojumus
  4. Fret vadi - pieejami arī no LMII
  5. Pielāgota PCB - šeit ir Altium faili. Es izvēlējos parasto FR4 tipa materiālu. Flex (poliimīda) dēļi būtu interesanta (ja dārgāka) alternatīva, jo tie var būt daudz plānāki
  6. 48x Neopixel (SK6812) gaismas diodes. Pieejams no Adafruit un Digikey
  7. 48x 0,1uF 0402 vāciņi - lielāki ir pieņemami, taču jums ir jāskatās izvietojums
  8. Savienojuma stieple - vismaz 4 līdz 6 krāsas, lai izvairītos no neskaidrībām, es galvenokārt izmantoju 28 gabarīta vadu. Vērojiet līdzstrāvas kritumu uz LED barošanas savienojumiem (gan VCC, gan GROUND … šai strāvai jāatgriežas avotā!)
  9. Rotējošais kodētājs-PEC16-4220F-S0024
  10. Fancy koka poga - rotējošam kodētājam (es dabūju savu no LMII)
  11. OLED displejs - no 4D sistēmām OLED displeji
  12. Ārējais USB akumulators - visu laiku lētāks, kā arī varat nēsāt līdzi rezerves daļas!
  13. Arduino MICRO
  14. Loksnes misiņš - lai plāksne turētu displeja arduino un rāmi
  15. Dažādi palīgmateriāli, tostarp: smilšpapīrs, uretāna apdare, popsicle nūjas, gumijas lentes, lodēt, plūsma, birstes, divpusēja lente (man patīk 3 mm UHC lente) un mazas misiņa koka skrūves (plāksnei)
  16. Neobligāti Ukulele uzlabojumi - labāki skaņotāji, labākas stīgas, labāks rieksts un segli, inkrustācija, ja vēlaties parādīt savu luterisko meistarību)

3. darbība: iegūstiet nepieciešamos rīkus

Agrāk vai vēlāk jums būs nepieciešams iegūt vai piekļūt šiem:

Mūsu rīku sarakstā ir:

  1. Frēzmašīna - vēlama CNC, bet jūs pat varētu iztikt ar maršrutētāju un lielu veiksmi. Es izmantoju kombinēto CNC dzirnavu/maršrutētāju
  2. Maršrutēšanas uzgaļi - vēlams karbīds. Maršrutēšanas uzgaļi izvēlēti no gala frēzēm, jo mēs apstrādājam koku, nevis metālu
  3. Skavas - daudz no tām. Galvenokārt nepieciešams, lai līmēšanas laikā noturētu detaļas
  4. Lodāmurs - mazs uzgalis uz virsmas montējamai lodēšanai
  5. Mikroskops vai palielinātājs - jūs varat mēģināt lodēt tikai ar savām acīm, bet es to neieteiktu, vismaz 10 reizes
  6. Pincetes (detaļu ievietošanai vietā)
  7. Nerūsēšanas rīki (skatiet pareizos rīkus LMII šeit, bet es izmantoju to, kas man bija mājās un ko darīju; āmuri, vīles un griezēji)
  8. Dažādi rokas instrumenti, piemēram, koka kalti, skrūvgrieži, mīksts trieciens vai jēlādas āmurs (satraukumam) utt.
  9. Abrazīvie materiāli - dažādi smilšpapīra putraimi

Mūsu programmatūras rīki ietver (daži nav obligāti atkarībā no jūsu budžeta/atjautības):

  1. Arduino programmatūra
  2. Ukuleles avota kods (https://github.com/conrad26/Ukulele)
  3. PCB izkārtojuma pakete - es izmantoju Altium, jo Eagle bezmaksas versija neatbalstīja vēlamo tāfeles izmēru. Altium ir pilna Featured izkārtojuma pakete, un tā nav īsti hobiju cenu diapazons. Es savā vietnē esmu iekļāvis Gerber failus prototipam, taču tiem noteikti ir jāatjaunina
  4. 3D modelēšanas programmatūra - es izmantoju SolidWorks, bet viena bezmaksas alternatīva ir FreeCAD (https://www.freecadweb.org/)
  5. CAM programmatūra, piemēram, FeatureCAM no Autodesk, lai izveidotu NC dzirnavu failu.

3D soļu failu eksportēšanas kombinācija no Altium kopā ar trenažiera 3D modeli novērš lielas grūtības pārliecināties, ka viss sakrīt, taču tā nav prasība. Rūpīgs izkārtojums ļaus sasniegt tādu pašu rezultātu.

Tagad, kad mēs zinām, ko vēlamies darīt un kas mums jādara, veidosim Ukuleli.

4. solis: frēzējiet kaklu, lai pielāgotos biezākajam griestu dēlim

Slīpējiet kaklu, lai ievietotu biezāku griestu dēli
Slīpējiet kaklu, lai ievietotu biezāku griestu dēli

Pirms frēzēšanas ņemiet vērā, ka OBLIGĀTI jāsaglabā griestu dēļa montāžas virsmas līdzenums, pretējā gadījumā jums būs savīti griestu dēļi, kas noved pie visa veida problēmām, kas saistītas ar fret izlīdzināšanu.

Vienkārši neejiet uz turieni, nesteidzieties un uzmanīgi un stingri saspiediet kaklu un pirms griešanas pārbaudiet izlīdzinājumu uz maršrutētāja uzgaļa visā kaklā. Šeit pavadītais laiks vēlāk ietaupīs daudz skumju.

Viens no iemesliem, kāpēc es izvēlējos biezāku griestu dēli virs kakla ieliktņa, bija palielinātais montāžas (līmēšanas) virsmas laukums. Vēl viens iemesls ir tas, ka tas vienkāršo kakla frēzēšanu. Jūs vienkārši buzz sagriež visu virsmu līdz vajadzīgajam augstumam.

5. solis: iegūstiet un izveidojiet PCB, turot gaismas diodes

Iegūstiet un izveidojiet PCB, turot gaismas diodes
Iegūstiet un izveidojiet PCB, turot gaismas diodes
Iegūstiet un izveidojiet PCB, turot gaismas diodes
Iegūstiet un izveidojiet PCB, turot gaismas diodes

Es ar rokām lodēju visu komplektu. LED iepakojumus ir īpaši viegli izkausēt, tāpēc esiet uzmanīgi, lai tos nesabojātu. Es iesaku valkāt statisku siksnu, jo virkne ir atkarīga no katra gaismas diodes darbības.

Fretboard dizains ir balstīts uz WS2812B gaismas diodēm. Es nolēmu veikt tikai pirmo oktāvu no fretborda (48 gaismas diodes !!). Katru gaismas diodi var uzskatīt par vienu bitu maiņu reģistrā. Maiņu reģistrs tiek reģistrēts 800 kHz frekvencē. Es izmantoju Adafruit bibliotēku (skatiet programmēšanas sadaļu), lai ātri sakārtotu lietas.

Es sāku dizainu Eagle, bet tāfeles izmērs ir ierobežots līdz 4 x 5 collām, tāpēc man bija (vai pareizāk sakot, es izvēlējos) pārslēgties uz Altium. Es darbā izmantoju Altium, tāpēc patiesībā tas man padarīja lietas ātrāk. Altium projekts, shematiskie un PCB faili (un bibliotēkas daļas) atrodas manā vietnē. Dēlis ir trapecveida un apmēram 10 collas garš. Es domāju, ka man vajadzēja mēģināt nedaudz vairāk saspiest kontūru (nākamais grieziens!) Montāža nebija slikta, bet, ja jūs to varat atļauties, es patiešām patiešām iesaku pienācīgu lodāmuru (JBC lodāmurs) un labu mikroskopu. Jā, esmu izlutināts, un nē, manā mājas laboratorijā šāda veida mantu nav. Es esmu lēts.

Man bija dēļi izgatavoti Sunstone. $ 129 par diviem dēļiem. Garantēts vienas nedēļas pagrieziens. Netaupiet uz piegādi, lai gan. Es nepamanīju, ka es izmantoju UPS zemi, un es galu galā gaidīju papildu nedēļu, kad mani dēļi ieradīsies. Kopējais montāžas laiks bija aptuveni 2 stundas (98 daļas).

6. solis: frēzējiet dēli

Image
Image
Dzirnavu piekļuves caurumi Ukuleles korpusā
Dzirnavu piekļuves caurumi Ukuleles korpusā

Mums ir jāfrēzē fretboard, lai vajadzīgajās vietās izveidotu caurumus un izveidotu kabatas plāksnei un gaismas diodēm.

Solidworks izveidoju pabeigta fretboard 3D modeli un izveidoju CNC frēzēšanas kārtību, izmantojot FeatureCAM.

Griešanas dēļa apakšējā daļa (vistuvāk skaņas caurumam) būs jāpadara plānāka, lai ņemtu vērā pakāpiena augstuma izmaiņas starp kaklu un ķermeni. Noteikti ir vērts izmēģināt vairākas reizes, lai pārliecinātos, ka tas ir pietiekami cieši pieguļošs.

Retrospektīvi, man vajadzēja nogriezt neizmantotās griestu dēļa daļas, lai tās labāk iederētos dzirnavās (manai lētajai dzirnaviņai bija tikai 12 collu X ass gājiens). Darbību secība jāiestata līdz pirmajām dzirnavu biezuma korekcijām pirms frēzēšanas kabatas, kam vajadzētu samazināt izlaušanos starp kabatām.

Ja nepieciešams, veiciet manuālus pielāgojumus, lai pievienotu vietu vadiem. Viena svarīga lieta, kas jāatzīmē, ir tā, ka dažās kabatās es ielauzos spraugā, kur iet trauksmes vads. Ņemot vērā, ka tas ir diriģents, pārliecinieties, ka tas nenoīsina neko svarīgu. Tas arī samazina materiāla izturību, kas notur frettu vietā. Dizains ir jāpārveido tā, lai tas nekad nekrustojas ar fret slotu.

7. solis: dzirnavu piekļuves caurumi Ukuleles korpusā

Dzirnavu piekļuves caurumi Ukuleles korpusā
Dzirnavu piekļuves caurumi Ukuleles korpusā

Es manuāli frēzēju piekļuves atveres korpusā. Visgrūtāk ir atrast "plakanāko" reģionu, kas ir ļoti izliekta virsma. Atzīmējiet kontūru ar zīmuli un pakāpeniski slīpējiet materiālu, līdz esat cieši pieguļ OLED displejam. Es ieguvu apstrādātu misiņa rāmi un piestiprināju to, izmantojot 3M VHB līmlenti.

Tā kā nevienam no tiem nav vajadzīga liela precizitāte, rotācijas kodētāja un piekļuves paneļa caurumus ir daudz vieglāk izveidot.

8. solis: izveidojiet vāka plāksnes

Izveidojiet vāka plāksnes
Izveidojiet vāka plāksnes
Izveidojiet vāka plāksnes
Izveidojiet vāka plāksnes
Izveidojiet vāka plāksnes
Izveidojiet vāka plāksnes

Jums arī jānostiprina displeja rāmja un piekļuves paneļa pārseguma plāksnes. Piekļuves panelim ir nepieciešams caurums (taisnstūrveida) USB (mikro) savienotājam. Vienkārši izmantojiet Arduino esošo savienotāju, jo mikro USB nav daudz paneļa stiprināšanas iespēju. (lai gan, ja es projektētu no nulles, es izskatītu vienu no šiem)

Lai noturētu dēli vietā, izgatavojiet L kronšteinus no misiņa un pielodējiet tos piekļuves plāksnes aizmugurē. Tas ļauj noteikt pozicionēšanas iespējas. Lai pareizi pozicionētu, vispirms izveidojiet Arduino MICRO montāžas dēli ar montāžas caurumiem un piestipriniet tam L kronšteinus, izmantojot 2-56 mašīnas skrūves. Pēc tam varat pielāgot atrašanās vietu, lai sakārtotu USB portu, un precīzi atzīmēt iekavās esošās vietas uz plāksnes. Noņemiet kronšteinus no perforatora un pielodējiet tos vietā. Visbeidzot uzstādiet perfboard montāžu.

Es izmantoju četras mazas misiņa koka skrūves, lai noturētu misiņa piekļuves paneli vietā.

Šajā brīdī pirms galīgās montāžas sākuma es iesaku izmēģinājumu. Šis solis nav obligāts, bet ieteicams. Pirms līmēšanas ir daudz vieglāk veikt pielāgojumus.

9. solis: pievienojiet vadus PCB; Pievienojiet un pārbaudiet elektroniku

Image
Image
Pievienojiet kaklu Ukuleles ķermenim
Pievienojiet kaklu Ukuleles ķermenim

Vēl nepievienojiet elektroniku pastāvīgi. Piestipriniet vadus pie PCB, pārliecinoties, ka atstājat pietiekami daudz atslābuma, lai izvadītu piekļuves atveri. Tie galu galā ir pastāvīgi jāpiestiprina pie Arduino MICRO plates (fotoattēlos ir redzams Arduino UNO, ko es izmantoju koda izstrādei)

10. solis: piestipriniet kaklu pie Ukuleles ķermeņa

Piestipriniet kaklu pie Ukuleles korpusa, ievērojot Ukulele komplektā iekļautos norādījumus. Īpaši vērojiet griestu dēļa virsmas līdzinājumu uke korpusam.

11. solis: urbiet piekļuves caurumu, lai korpusā ievadītu PCB vadus

Izurbiet piekļuves caurumu, lai korpusā ievadītu PCB vadus
Izurbiet piekļuves caurumu, lai korpusā ievadītu PCB vadus

Kad līme ir sausa, urbiet ~ 1/4 (10 mm) caurumu leņķī, lai vadi no PCB varētu nonākt Ukulele korpusā. Noteikti nesabojājiet skaņu plati.

Jums, iespējams, būs jāizveido arī neliela kabata, lai vadi būtu biezāki zem tāfeles (vai pēc izvēles novietojiet savienojumus augšpusē un iekļaujiet atvieglojumu fretā.)

Vēl viens pārbaudes tests šajā brīdī nekaitētu.

12. solis: izlīdziniet un pielīmējiet PCB un fretboard pie kakla

Izlīdziniet un pielīmējiet PCB un Fretboard pie kakla
Izlīdziniet un pielīmējiet PCB un Fretboard pie kakla

Es iesaku pirms līmēšanas pārdomāt skavu (un izmēģināt!). Iespējams, vēlēsities veidot bloku, kas veidots kakla apakšdaļā, lai iegūtu plakanu iespīlēšanas virsmu. Griešanas dēlis šajā brīdī ir lielāks par kaklu, tāpēc jums tas ir jāatļauj.

Esiet ļoti uzmanīgs, lai nenokļūtu epoksīdsveķi uz jebkuras virsmas, kuru vēlaties pabeigt vēlāk. Vēl labāk pirms līmēšanas uzklājiet maskēšanu uz visām nelīmētajām virsmām, lai pārliecinātos, ka tā iet tikai tur, kur plānojāt.

Izmantojiet epoksīdu ar vismaz 60 minūšu darba mūžu … jums tas viss būs vajadzīgs.

Vispirms pielīmējiet PCB, pārliecinoties, ka liekā līme neizplūst griestu dēļa līmēšanas virsmā. Tas nodrošina metodi, kā izlīdzināt grifu pie kakla. PCB ir gluda lodēšanas maskas apdare, tāpēc es to raupju ar nelielu smilšpapīru, lai epoksīds būtu nedaudz uzlabots.

Izlīdziniet un pielīmējiet grifu pie kakla. Uzmanieties, lai neatstātu kabatas, kas vēlāk varētu kļūt rezonējošas (buzz!). Uzmanieties arī, lai uz LED virsmām nenokļūtu līme.

Kad līme ir sausa, iespējams, vēlēsities vadu un vēlreiz pārbaudīt elektroniku. Viena slikta gaismas diode liks jums ienīst dzīvi. Man uz prototipa bija viena slikta gaismas diode (pirmā!), Un man bija jāveic daži radoši koka darbi, lai piekļūtu bojātajai gaismas diodei un to tīri ielāpētu.

13. darbība. Izlīdziniet trenažiera malas pie kakla un pievienojiet satraukuma vadus

Kad līme ir sausa, varat sākt malu apdari. Es uzmanīgi nogriezu lieko materiāla materiālu (izmantojot dzirnavas) un pēdējo milimetru pabeidzu ar roku slīpēšanu.

Fret vadus var vienkārši pievienot ar āmuru (ar plastmasas virsmu, lai izvairītos no sabojāšanas). Tikai nevajag āmurot pārāk stipri. Ja esat savietojis fret vadu ar spraugām, tiem vajadzētu iekļūt bez lielām grūtībām.

Lieta, kas jums jāuzmanās, ir LED kabatas plānas virsmas salaušana. Prototipā es ļāvu dažām LED kabatām (netālu no 12. fret, kur ir maz vietas), lai tās izstieptos fret spraugā. Tā ir slikta ideja, jo tas rada vāju vietu, kas var (un arī) saplaisāt, kad ir ievietota stiepļu stieple.

14. solis: uzklājiet maskēšanu un uzklāšanu uz Ukuleles

Maskējiet griestu dēli (tas nesaņem apdari) un tilta līmēšanas zonu un sāciet uzklāt apdari.

Maskējot tilta zonu, izlasiet instrukcijas kopā ar savu komplektu, pēc tam vēlreiz pārbaudiet skalas garumu, lai pārliecinātos. Komplektā, ko izmantoju prototipam, tika izmantots nepareizs skalas garums un līdz ar to tilta atrašanās vietai bija norādīti nepareizi izmēri (taču tam bija piezīme, lai pārbaudītu jaunākās instrukcijas vietnē!). Zarnas man teica, ka tas ir nepareizi, bet es akli pieņēmu autoritāti.

Vienmēr labāk ir saprast, KĀPĒC jūs kaut ko darāt, nevis akli sekot norādījumiem.

Apdarei ir daudz pamācību no Luthiers, kas zina, ko viņi dara tīmeklī, tāpēc es iesaku pirms apspriešanās ar viņiem pabeigt procesu.

Es, protams, to nedarīju, tāpēc es izmantoju nepareizu blīvējumu, kā rezultātā tika iegūta ļoti graudaina virsma. Nedari tā.

Izpildi savu mājasdarbu.

15. darbība: izlīdziniet un piestipriniet tiltu

Izlīdziniet un piestipriniet tiltu
Izlīdziniet un piestipriniet tiltu

Šis solis ir diezgan vienkāršs, taču atkal izplānojiet savilkšanas metodi un pirms līmēšanas izmēģiniet to iepriekš. Tilta piestiprināšanai izmantoju standarta koka līmi.

16. darbība: instalējiet elektroniku un pārbaudiet

Instalējiet elektroniku un pārbaudiet
Instalējiet elektroniku un pārbaudiet

Tagad ir pienācis laiks padarīt vadu skaistu. Turklāt jūs nevēlaties, lai tas svārstītos ķermeņa iekšienē un radītu dārdošus trokšņus vai vēl ļaunāk uz skatuves.

Arduino kodu var atjaunināt, izmantojot USB portu, tāpēc tiešām nav nepieciešams to izjaukt, ja vien nevēlaties mīklu.

17. darbība: uzstādiet skaņotājus un virknējiet instrumentu

Image
Image
Uke programmēšana
Uke programmēšana

Jums, iespējams, arī vajadzēs izlīdzināt fretus un nedaudz spēlēties ar iestatījumiem, taču kāpēc tagad, kad esat tik tuvu beigām, jāuztraucas?

Es jaunināju skaņotājus un izmantoju jaukas Aquila stīgas, kas nekādi nepalīdzēja skaņai. Tāpēc paturiet to prātā, kamēr izlietojat naudu projekta ukulelei …

18. solis: Uke programmēšana

Pēdējais Arduino kods ir vietnē Github. Kodā ir dažas rindiņas, lai atbalstītu turpmākus uzlabojumus (piemēram, metronoma funkcija un displeja slīdņi (lietotāja saskarnes elements, kas izskatās kā slīdnis)

Šis kods izmanto Rotary Encoder Library (Rotary Encoder Arduino Library), lai apstrādātu lietotāja ievadīto informāciju no Rotary Encoder.

Tā izmanto arī Adafruit Neopixel bibliotēku un piemēra kodu, kas atrodas šeit. Teātra un varavīksnes režīmi ir iegūti no bibliotēkā sniegtajiem piemēriem. (skat. strandtest.ino).

Displeja draiveri nodrošina 4D sistēmas, un to var atrast vietnē Github.

Ukuleles projektam ir ieviestas divas unikālas funkcijas. Pirmais ievieš akordu bibliotēku, bet otrais parāda ritinošu īsziņu, izmantojot pielāgotu rakstzīmju kopu.

Pievienotajā diagrammā ir parādītas griestu dēļa LED atrašanās vietas un to savienošana. LED 0 atrodas augšējā labajā stūrī.

19. solis: kā parādīt akordu

Kā parādīt akordu
Kā parādīt akordu

Funkcija displayChord parāda katra akorda pirkstu pozīcijas (tikai pirmā pozīcija). Lietotāja izvēlētie akordi (saknes piezīme un kvalitāte) tiek saglabāti kā indeksu pāris. Tos savukārt izmanto, lai meklētu pirkstus katram akordam.

Akordu glabāšanai izmantoju apzīmējumu "GCEA" (piemēram, "A" ir "2100"). Akordi tiek iepriekš aprēķināti katrai saknes notij un tiek glabāti mainīgā, kas atbilst akorda kvalitātei. (tātad, A major, tiek saglabāta masīva "majorChords" pirmajā vietā, kas atbilst "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 "};

Ņemiet vērā: tā kā šī ir teksta virkne, katrs cipars var būt arī heksadecimāla vērtība, lai ņemtu vērā fret pozīcijas, kas ir lielākas par 9. Tas nozīmē, ka A un B attēlo gaismas diodes 10 un 11. Pirmās pozīcijas akordiem tā nebija problēma).

LED virkne ir savienota gareniski 12 rindās (oktāvā) gar katru virkni (sākot ar A virkni), turpmākā 12 palaišana sākas ar nākamās virknes pirmo fret (skatiet diagrammu 18. solī). Tas ir svarīgi, lai algoritms noteiktu, kuras gaismas ieslēgt konkrētam akordam. Tas nozīmē, ka pikseļi no 0 līdz 11 ir A virknes gaismas diodes, no 12 līdz 23 ir E virknes gaismas diodes utt. Analizējot A = "2100" (saglabāts kā virkne, kodā ir arī nulles termināls "\ n"), mēs to interpretējam šādi: A virknē nav iedegti pikseļi un E virknē, pikselis 0 (fret 1) uz C virknes ir iedegts, un pikselis 1 (fret 2) uz G string. Ņemiet vērā, ka "0" ir izslēgts, nevis pirmā gaismas diode. Pamatojoties uz elektroinstalāciju, mēs vēlamies iedegt gaismas diodes 24 un 37. Akoda parādīšanas kods ir parādīts zemāk.

par (int i = 0; i <4; i ++) {if (int (akords - '0')) {// algoritms, lai parsētu akordu virkni int ledNumber = int (akords - '0') + (3 - i) * 12 - 1; // skatīt iepriekš minēto diskusiju, (3-i) ir mainīt indeksa joslu. setPixelColor (ledNumber, 0, 125, 125); // setPixelColor (ledNumber, sarkanā vērtība, zaļā vērtība, zilā vērtība)}}

Ja paziņojums pārbauda, vai LED ir izslēgts. Ja tā nav, tā ņem rakstzīmes ascii vērtību, akordu un atņem ascii vērtību '0', lai iedegtos ledNumber.

sloksne ir Adafruit_NeoPixel klases piemērs. Funkcija setPixelColor nosaka aprēķinātā pikseļa krāsu (šajā gadījumā fiksēts (0, 125, 125).

20. darbība: kā parādīt ritinošu ziņojumu

Kā parādīt ritinošu ziņojumu
Kā parādīt ritinošu ziņojumu

Tātad mums ir 12 x 4 gaismas diožu klāsts … kāpēc gan neļaut tam parādīt kaut ko citu, nevis diezgan nejaušus gaismas modeļus!

Pirmā problēma ir tā, ka displeja augstums (4) ir diezgan ierobežots Uke virkņu skaita dēļ. Horizontālā ritināšana lielākoties būtu nesalasāma, bet vertikālā orientācijā mēs varam atbalstīt 4 x 5 rakstzīmes, kas darbojas vertikāli.

Rakstzīmju sakārtošana kā piecas "vertikālas" rindas nozīmē, ka vienlaikus var parādīt divas rakstzīmes, ļaujot atstāt vienas rindas atstarpi starp katru rakstzīmi.

Grūtības bija tādas, ka nebija standarta 4 x 5 rakstzīmju kopas. Es izveidoju savu, izmantojot pievienoto izklājlapu. Es piešķīru katru rindu vienai heksadecimālai vērtībai (4 biti, kas norāda, kurš pikselis ir ieslēgts vai izslēgts). Piecu heksadecimālo vērtību kombinācija veido rakstzīmi (piemēram, “0” ir 0x69996).

Katras rakstzīmes vērtības tiek saglabātas masīvā ASCII secībā. Rakstzīmju kopa ar dažiem burtiem rada dažus kompromisus, bet lielākā daļa ir pietiekami skaidra. (rakstīšana izklājlapas apakšā ir idejas, ar kurām es spēlēju, jo kā opcija ir krāsa, mēs varam rakstzīmei pievienot “dziļumu” un, iespējams, iegūt papildu izšķirtspēju.

Parādāmā virkne ir iekļauta virknes mainīgajā ziņojumā.

Tiek izveidots buferis, kas attēlo rakstzīmju attēlojumu. Es domāju, ka es būtu varējis vienkārši izveidot lielu buferi ar visu tulkoto ziņojumu secību, jo īpaši tāpēc, ka lielākā daļa ziņojumu būs mazāk par 20 rakstzīmēm. Tomēr es izvēlējos izveidot fiksētu trīs rakstzīmju (18 baitu) buferi. Tikai divas no rakstzīmēm tiek aktīvi parādītas, bet trešais ir skatiens uz priekšu, kur tiek ielādēta nākamā rakstzīme. LED virkne (domājiet par to kā lielu nobīdes reģistru) ir ielādēta ar 48 bitiem virknei. Es izšķērdēju vietu atmiņā, lai to būtu vieglāk uztvert. Katrs našķis iegūst savu atmiņas vietu, dubultojot atmiņas prasību, bet tas nav daudz, ņemot vērā bufera lielumu.

Buferis tiek ielādēts ar nākamo rakstzīmi, kad izvades indekss (rādītājs) sasniedz rakstzīmju robežu (outputPointer pie 5, 11 vai 17).

Lai ielādētu buferi, mēs paņemam pirmo ziņojuma rakstzīmi kā ASCII vērtību un atņemam 48, lai iegūtu indeksu asciiFont masīvā. Šī indeksa vērtība tiek saglabāta kodāChar.

Ziņojuma pirmā daļa ir pārvietota uz gaismas diodēm 47, 35, 23 un 11 (displeja apakšdaļā). Tātad skaitlim nulle 0x0F999F F (kreisais) tiek pārvietots vispirms, 9 sekundes un tā tālāk.

Nākamā rakstzīme tiek ielādēta, maskējot katru našķi un pārvietojot to pa labi. Iepriekš minētajā piemērā algoritms dod (0x0F999F & 0xF00000) >> 20, pēc tam (0x0F999F & 0x0F0000) >> 16 utt.

int indekss; ja (outputPointer == 17 || outputPointer == 5 || outputPointer == 11) {char displayChar = message.charAt (messagePointer); // satveriet ziņojuma pirmo rakstzīmi long codedChar = asciiFont [displayChar - 48]; ja (displayChar == 32) kodētsChar = 0x000000; messageBuffer [baitsPointer+5] = baits ((codedChar & 0xF00000) >> 20); // maskēt visu, izņemot pēdējo, un pārvietot to par 20 (un tā tālāk) messageBuffer [baitsPointer+4] = baits ((codedChar & 0x0F0000) >> 16); // šim vajadzētu ievietot vienu uzkodu uz atmiņas atrašanās vietas ziņojumuBuffer [bytePointer+3] = baits ((codedChar & 0x00F000) >> 12); // visi seši attēlo rakstzīmju ziņojumuBuffer [bytePointer+2] = baits ((codedChar & 0x000F00) >> 8); messageBuffer [baitsPointeris+1] = baits ((kodētsChar & 0x0000F0) >> 4); messageBuffer [bytePointer] = baits ((kodētsChar & 0x00000F)); if (bytePointer == 0) {// apstrādājiet cilpu ap bytePointer baituPointer = 12; } cits {baitsPointeris -= 6; // mēs pildām no apakšas uz augšu; PIEZĪME. Jāskatās, kā to mainīt, lai redzētu, vai tas atvieglo}} ja (messagePointer == message.length ()-1) {// apstrādājiet ziņojuma ziņojuma cilpu apkārtPageter = 0; } cits {messagePointer += 1; // pāriet uz nākamo rakstzīmi}}

Kad buferis ir ielādēts, kļūst par izsekošanas vietu, kur atrodas izejas rādītājs, un LED virknes ielādi ar pareizajiem 48 bitiem (pašreizējais 4 un iepriekšējais 44). Kā minēts iepriekš, sloksne ir NeoPixel klases piemērs, un setPixelColor nosaka katra pikseļa krāsu (RGB). Funkcija show () parāda displeja vērtības uz LED virkni.

// cilpa, lai nepārtraukti mainītu buferi

// vēlaties izrakstīt visu sloksni katrā cilpā, mainās tikai sākuma vieta (int rinda = 12; rinda> 0; rinda--) {indekss = outputPointer + (12 rindas); ja (indekss> 17) indekss = outputPointer+(12 rindas) -18; // cilpa, ja tā ir lielāka par 17 (int kolonna = 4; kolonna> 0; kolonna--) {strip.setPixelColor (uint16_t (12*(1. sleja)+(1. rinda)), uint8_t (RedLED*(bitRead (messageBuffer [indekss], 1. sleja)))), uint8_t (GreenLED*(bitRead (messageBuffer [indekss], 1. sleja)))), uint8_t (BlueLED*(bitRead (messageBuffer [indekss], 1. sleja)))); // katrā vietā iedegas LED, ja bits ir viens}} // outputPointer norāda uz pašreizējo zemāko baitu displeja virknē, ja (outputPointer == 0) outputPointer = 17; cits outputPointer -= 1; strip.show (); }

21. solis: Pārsteidziet pasauli ar savu Ukuleles izveicību

Image
Image

Pēdējā Ukuleles prototipa izvilkšana prasīja apmēram 6 mēnešus ilgu startu un apstāšanos.

Daudz jaunu tehnoloģiju, kas jāapgūst, un varbūt kāda kokapstrādes un mūzikas teorija, kas jāuzsāk!

Ko darīt nākamajai versijai?

  1. Atbrīvojieties no displeja un rotējošā kodētāja. Nomainiet tos ar Bluetooth moduli, kas pievienots arduino. Vadiet to attālināti, izmantojot tālruni vai planšetdatoru. Ar Bluetooth viss ir labāk.
  2. Aktuāli atjauniniet akordu modeļus reālā laikā. Lietotnei ir kaut kas labākais.
  3. LED vāki. Pašreizējā versija neko neliedz gunkam iekļūt LED caurumos. Draugs izgatavoja ķekars mazu lēcu, bet es nekad nevarēju izdomāt, kā panākt, lai tās pareizi paliktu vietā.
  4. Alternatīvi fretboard materiāli, varbūt kaut kas skaidrs, kamēr frets turēsies.
  5. Vairāk gaismas! Novērsiet ierobežojumus tekstam, pievienojot vairāk "rindu". Tas patiešām ir ierobežojums, ko izraisa griestu dēļa un LED korpusu izmērs.

Atkal skatiet pavadošo pamācību, kurā aprakstīta rakstzīmju kopa, kas man bija jāizveido, lai varētu ritināt tekstu.

Liels paldies, ka tikāt tik tālu! Mahalo!

Ieteicams: