Isi kandungan:

Cara Membina Ukulele Cahaya !: 21 Langkah
Cara Membina Ukulele Cahaya !: 21 Langkah

Video: Cara Membina Ukulele Cahaya !: 21 Langkah

Video: Cara Membina Ukulele Cahaya !: 21 Langkah
Video: CRAZYRASTA - DI DEKATMU ( Odenk accoustic solo version ) 2024, Julai
Anonim
Image
Image
Buat Rancangan
Buat Rancangan

Saya bermain Ukulele. Agak biasa-biasa saja (jika itu kata) jadi saya berfikir, "jika anda benar-benar ingin menarik perhatian para wanita, anda memerlukan cara untuk mengalihkan perhatian mereka dari bencana yang sedang terjadi di atas panggung." Oleh itu lahirlah "Light-up Ukulele".

Projek ini mengambil kit Konsert Ukulele dan menambah LED terkawal Arduino pada setiap rentetan dan kedudukan fret. Ia juga menambah paparan OLED mewah dan antara muka pengguna berasaskan encoder berputar untuk memilih mod dan intensiti rentetan LED.

Ciri perkakasan uke yang lengkap:

  1. Arduino MICRO untuk bersambung ke tali LED, paparan dan peranti input.
  2. 48 LED warna penuh yang boleh diprogramkan secara individu
  3. Paparan OLED
  4. Pengekod putar untuk input pengguna
  5. Antara muka USB untuk kuasa luaran dan pengaturcaraan Arduino

Perisian uke mempunyai:

  1. Mod kawalan cahaya asas yang menjalankan LED mengikut rentaknya
  2. Mod marquee teater yang bagus (sangat berguna untuk persembahan!)
  3. Kawalan intensiti LED
  4. Perpustakaan akord penuh dengan kord Ukulele kedudukan pertama (nilai dan watak akord)
  5. Keupayaan untuk memaparkan teks yang sedang berjalan (secara menegak) menggunakan set watak 4 x 6 piksel yang unik

Instruksional ini menerangkan prototaip yang telah siap. Kisah penuh pembangunan boleh didapati di SINI, termasuk beberapa kesilapan (menyakitkan) pendidikan dan pelajaran berharga mengapa anda WAJIB menyiapkan reka bentuk pertama anda hingga selesai (tidak kira bagaimana keadaan buruk). Anda tidak pernah tahu semua perkara yang sebenarnya tidak anda ketahui sehingga anda sampai ke penghujungnya (dan kemudian anda masih tidak tahu!), Tetapi anda jauh lebih baik dan jauh lebih pintar untuk reka bentuk seterusnya.

Saya membina prototaip di sekitar kit Ukulele Konsert Grizzly. Bermula dengan kit menghilangkan rasa bimbang tentang badan uke (baik, kebanyakannya), dan menghilangkan sebahagian besar karya jenis luthier yang sebenarnya. Kit ini cukup lengkap dan tidak terlalu mahal dalam skema besar (dan kurang menyakitkan kerana anda akan melakukan kesilapan).

Langkah 1: Buat Rancangan

Buat Rancangan
Buat Rancangan

Papan fret (atau papan jari) yang disertakan dalam beberapa kit sudah mempunyai fret yang terpasang. Itu baik / buruk. Ia bagus sebagai penjimat masa, tetapi dari segi meletakkan corak gerudi dan menahannya semasa menggiling, sedikit menyakitkan. Setelah memusnahkan yang disediakan dalam kit, saya memilih (baik, saya tidak mempunyai pilihan selain membeli kit lain) untuk membeli papan fret baru.

Semasa merancang papan fret, kita perlu menghitung peningkatan ketebalan yang diperlukan untuk menanam PCB dan LED (dan jangan lupa komponen pasif), tetapi tidak terlalu banyak sehingga LED terlalu jauh dari permukaan papan fret.

Papan litar bercetak LED (PCB) direka sebagai papan 2 lapisan sederhana. Ini banyak membantu pemasangan tangan dari tali LED dan memberikan sedikit kekuatan mekanikal (itu gentian kaca dan epoksi) ke leher Ukulele. Saya memulakan susun atur di Eagle, tetapi akhirnya menggunakan Altium Designer kerana had saiz papan. Fail skema Altium dan PCB ada di sini.

Papan fret kit setebal 0.125 inci. Jadi, dengan mengandaikan PCB setebal 0,062 inci dan membiarkan tambahan 0,062 inci untuk LED, ini bermakna kita harus memotong banyak (seperti dalam semua) papan fret. Untuk mengimbangi, kita boleh memotong sebahagian poket untuk LED di papan fret dengan poket yang sesuai di leher untuk PCB, atau kita dapat mengganti keseluruhan papan fret (pilihan yang saya gunakan) dengan versi lebih tebal dari Luther Mercantile International (LMII), yang berukuran 0.25 inci untuk bermula.

TETAPI, ingat bahawa anda masih perlu mengetatkan leher untuk mengimbangi kenaikan ketebalan pada papan fret. Kelebihan lain yang anda dapat adalah kosmetik, kerana PCB kini sepenuhnya tertanam di dalam papan fret yang menjadikan pinggirnya lebih mudah diselesaikan (dan kelihatan jauh lebih bagus!) Dan memudahkan penggilingan leher.

Perkara kejuruteraan (abaikan jika anda mahu):

Ngomong-ngomong, ini tidak terlalu menjejaskan kekakuan leher. Bahan PCB jauh lebih kaku daripada kayu papan fret yang asli (Mahogany modulus: 10.6 GPa berbanding FR4 modulus: 24 GPa), ditambah kerana kita sedang membina Ukulele, tidak ada sejumlah besar ketegangan tali yang boleh memutarbelitkan (memutar atau meledingkan) leher.

Satu pertimbangan yang sangat menarik (yang mungkin saya masih harus mengira) adalah apa yang berlaku pada suhu. Secara amnya untuk kayu, selari dengan biji-bijian, pekali pengembangan haba adalah kira-kira 3 x 10 ^ -6 / K, dan untuk FR4 ia adalah 14 × 10 ^ −6 / K. Jadi, ada perbezaan yang cukup ketara. Yang menjadi perhatian ialah ketegangan timbul di leher ketika suhu berbeza-beza, yang pada gilirannya mengurangkan rentetan tali. Itu adalah sesuatu yang dapat dikompensasikan dengan menerapkan lapisan yang serupa di sisi berlawanan dari paksi neutral atau dengan mendapatkan FR4 sedekat mungkin dengan paksi neutral. Tetapi itu akan dibiarkan untuk 2.0 … Sesuatu untuk dimodelkan dan dinilai.

Elektronik diletakkan di badan uke. Lubang dipotong di dinding samping (bukan papan suara!) UKE untuk memberi ruang untuk paparan dan pengekod putar, ditambah plat akses untuk memegang Arduino Micro dan memberikan akses ke antara muka USB. Reka bentuk dan lokasi plat akses / pemasangan mungkin dapat diperbaiki untuk membuat sambungan USB keluar di lokasi yang lebih mudah, tetapi seperti yang ada sekarang, itu tidak begitu buruk, kerana ia tidak menghalangi ketika anda bermain.

Garis besar langkah-langkahnya adalah seperti berikut:

  1. Kumpulkan bahan
  2. Dapatkan alat yang anda perlukan
  3. Geser leher untuk menampung papan fret yang lebih tebal
  4. Giling papan fret untuk membuat lubang di lokasi yang diperlukan dan membuat poket untuk papan dan LED
  5. Dapatkan dan bina PCB yang memegang LED
  6. Lubang akses kilang di badan Ukulele untuk paparan OLED, Rotary encoder, dan panel akses
  7. Buat pinggan penutup
  8. Pasang wayar ke PCB; menyambung dan menguji elektronik
  9. Lekatkan leher ke badan Ukulele
  10. Bor penahan akses untuk memasukkan wayar PCB ke badan
  11. Sejajarkan dan lekatkan PCB dan papan fret ke leher
  12. Ratakan tepi fretboard ke leher (keluarkan lebihan bahan)
  13. Pasang wayar fret
  14. Sapukan penutup muka dan sapukan kemasan ke Ukulele
  15. Sejajarkan dan pasangkan jambatan
  16. Pasang elektronik dan uji.
  17. Pasang penala dan rentetan instrumen
  18. Atur cara pengawal Uke
  19. Memukau dunia dengan kehebatan Ukulele anda!

Langkah 2: Kumpulkan Bahan

Senarai bahan kami kelihatan seperti ini:

  1. Kit Ukulele - Saya menggunakan kit Ukulele Konsert Grizzly (Kit Grizzly Uke di Amazon), tetapi nampaknya akan dihentikan. Zimo membuat model serupa (Zimo Uke Kit @ Amazon) yang nampaknya akan berjaya
  2. Papan fret Ukulele, pra-slotted (LMII Uke Fingerboards). Mereka akan memasukkan papan fret ke skala anda, yang dapat menjimatkan masalah
  3. Epoxy - untuk melekatkan papan fret ke leher. Saya memilih epoksi kerana ia serasi dengan bahan PCB. Cari sesuatu dengan sekurang-kurangnya 60 minit kehidupan kerja. JANGAN gunakan jenis 5 minit, anda memerlukan masa untuk membuat penyesuaian
  4. Kawat fret - juga boleh didapati dari LMII
  5. PCB tersuai - Fail altium ada di sini. Saya memilih bahan jenis FR4 biasa. Papan fleksibel (polimida) akan menjadi alternatif yang menarik (jika lebih mahal), kerana boleh menjadi lebih tipis
  6. LED Nexixel 48x (SK6812). Terdapat dari Adafruit dan Digikey
  7. 48x 0.1uF 0402 topi - lebih besar boleh diterima, tetapi anda harus menonton penempatan
  8. Kawat cangkuk - sekurang-kurangnya 4 hingga 6 warna untuk mengelakkan kekeliruan, saya menggunakan terutamanya wayar 28 tolok. Perhatikan penurunan DC pada sambungan kuasa LED (kedua-dua VCC dan GROUND … arus itu harus kembali ke sumber!)
  9. Pengekod putar - PEC16-4220F-S0024
  10. Tombol kayu mewah - untuk pengekod putar (saya mendapat tambang dari LMII)
  11. Paparan OLED - dari sistem 4D paparan OLED
  12. Bateri USB luaran - lebih murah sepanjang masa, dan anda boleh membawa alat ganti!
  13. Arduino MICRO
  14. Lembaran tembaga - untuk membuat piring untuk menahan arduino dan bezel untuk paparan
  15. Pelbagai jenis bahan habis pakai termasuk: kertas pasir, kemasan uretana, tongkat es loli, tali getah, pateri, fluks, berus, pita dua sisi (saya suka pita UHC oleh 3M) dan sekrup kayu tembaga kecil (untuk pinggan)
  16. Peningkatan Ukulele pilihan - penala yang lebih baik, tali yang lebih baik, kacang dan pelana yang lebih baik, masukkan jika anda ingin mempamerkan kehebatan anda yang lebih baik)

Langkah 3: Dapatkan Alat yang Anda Perlu

Cepat atau lambat anda perlu mendapatkan atau mendapatkan akses kepada ini:

Senarai alat kami merangkumi:

  1. Mesin penggilingan - CNC lebih disukai, tetapi anda mungkin dapat menggunakan router dan banyak keberuntungan. Saya menggunakan kilang / penghala CNC kombo
  2. Bit penghala - karbida lebih disukai. Bit penghala dipilih di atas kilang akhir kerana kami memesin kayu, bukan logam
  3. Pengapit - banyak. Sebilangan besar diperlukan untuk memegang bahagian semasa merekatkan
  4. Pateri solder - hujung kecil untuk pematerian permukaan
  5. Mikroskop atau pembesar - anda boleh mencuba solder hanya dengan mata anda, tetapi saya tidak mengesyorkannya, minimum 10x
  6. Pinset (untuk meletakkan bahagian di tempat)
  7. Alat fretting (lihat alat yang sesuai pada LMII di sini, tetapi saya menggunakan apa yang saya ada di rumah dan dibuat; palu, fail dan pemotong)
  8. Alatan tangan yang pelbagai seperti pahat kayu, pemutar skru, pukulan lembut atau tukul rawhide (untuk fretting), dll.
  9. Abrasive - pelbagai pasir kertas pasir

Alat perisian kami merangkumi (beberapa pilihan bergantung pada anggaran / kepintaran anda):

  1. Perisian Arduino
  2. Kod sumber Ukulele (https://github.com/conrad26/Ukulele)
  3. Pakej susun atur PCB - Saya menggunakan Altium kerana versi percuma Eagle tidak menyokong ukuran papan yang saya mahukan. Altium adalah pakej susun atur yang lengkap dan tidak berada dalam julat harga penggemar. Saya telah memasukkan fail Gerber di laman web saya untuk prototaip, tetapi ini pasti memerlukan kemas kini
  4. Perisian pemodelan 3D - Saya menggunakan SolidWorks, tetapi satu alternatif percuma ialah FreeCAD (https://www.freecadweb.org/)
  5. Perisian CAM - seperti FeatureCAM dari Autodesk untuk membuat fail kilang NC.

Kombinasi eksport fail langkah 3D dari Altium bersama dengan model 3D fretboard menghilangkan banyak kesukaran untuk memastikan semuanya berjalan lancar, tetapi itu bukan syarat. Susun atur yang teliti akan mencapai hasil yang sama.

Sekarang kita tahu apa yang ingin kita lakukan, dan apa yang perlu kita lakukan, mari kita membina Ukulele.

Langkah 4: Geser Leher untuk Menampung Papan Fret yang Tebal

Geser Leher untuk Menampung Papan Fret yang Lebih Tebal
Geser Leher untuk Menampung Papan Fret yang Lebih Tebal

Sebelum menggiling, perhatikan bahawa kerataan permukaan pelekap papan fret yang asli HARUS dipertahankan, atau anda akan mempunyai papan fret yang berpintal, yang membawa kepada pelbagai masalah dengan meratakan fret.

Jangan pergi ke sana, luangkan masa anda dan tekan leher dengan hati-hati dan kaku dan periksa penjajaran ke bit penghala ke seluruh leher sebelum memotong. Masa yang dihabiskan di sini akan menjimatkan banyak kesedihan di kemudian hari.

Salah satu sebab saya memilih papan fret yang lebih tebal daripada inlay di leher adalah peningkatan permukaan permukaan (perekatan). Sebab lain adalah kerana ia memudahkan penggilingan leher. Anda hanya buzz memotong seluruh permukaan ke ketinggian yang diperlukan.

Langkah 5: Dapatkan dan Bina PCB Memegang LED

Dapatkan dan Bina PCB Memegang LED
Dapatkan dan Bina PCB Memegang LED
Dapatkan dan Bina PCB Memegang LED
Dapatkan dan Bina PCB Memegang LED

Saya memateri keseluruhan pemasangan dengan tangan. Pakej LED sangat mudah dicairkan, jadi berhati-hati untuk mengelakkannya merosakkannya. Saya cadangkan memakai tali statik, kerana tali bergantung pada setiap LED berfungsi.

Reka bentuk Fretboard dibuat berdasarkan LED WS2812B. Saya memutuskan untuk hanya melakukan oktaf pertama papan fret (48 LED !!). Setiap LED boleh dianggap sebagai satu bit dalam register shift. Register shift dicatat pada 800 kHz. Saya menggunakan perpustakaan Adafruit (lihat bahagian pengaturcaraan) untuk membuat sesuatu berjalan lancar.

Saya memulakan reka bentuk di Eagle, tetapi ukuran papannya terhad seperti 4 x 5 inci, jadi saya terpaksa (atau lebih tepat lagi, saya memilih) beralih ke Altium. Saya menggunakan Altium di tempat kerja, jadi pada hakikatnya, ini menjadikan saya lebih pantas. Projek Altium, skema dan fail pcb (dan bahagian perpustakaan) ada di laman web saya. Papannya berbentuk trapezoid dan panjangnya sekitar 10 inci. Saya rasa saya semestinya cuba memampatkan garis besar sedikit (putaran seterusnya!) Pemasangan tidak buruk, tetapi jika anda mampu, saya benar-benar mengesyorkan besi pematerian yang baik (JBC Soldering Irons) dan mikroskop yang baik. Ya, saya manja dan tidak, saya tidak mempunyai barang seperti itu di makmal rumah saya. Saya murah.

Saya mempunyai papan yang dibuat di Sunstone. $ 129 untuk dua papan. Dijamin giliran satu minggu. Walaupun begitu, jangan menyusahkan penghantaran. Saya tidak menyedari bahawa saya menggunakan UPS tanah dan akhirnya saya menunggu seminggu tambahan untuk papan saya tiba. Jumlah masa pemasangan adalah sekitar 2 jam (98 bahagian).

Langkah 6: Keluarkan Fretboard

Image
Image
Lubang Akses Kilang di Badan Ukulele
Lubang Akses Kilang di Badan Ukulele

Kita perlu menggiling papan fret untuk membuat lubang di lokasi yang diperlukan dan membuat poket untuk papan dan LED.

Saya membuat model 3D fretboard yang sudah siap di Solidworks dan membuat rutin penggilingan CNC menggunakan FeatureCAM.

Bahagian bawah papan fret (paling dekat dengan lubang suara) perlu dibuat lebih nipis untuk menjelaskan perubahan ketinggian antara leher dan badan. Pasti bernilai ujian beberapa kali untuk memastikan bahawa ia cukup sesuai.

Dalam retrospeksi, saya sepatutnya memotong bahagian papan fret yang tidak digunakan untuk menjadikannya sesuai dengan kilang (kilang murah saya hanya mempunyai perjalanan paksi X "12"). Urutan operasi harus disiapkan untuk penyesuaian ketebalan kilang pertama sebelum penggilingan poket, yang seharusnya menyebabkan pelarian antara poket lebih sedikit.

Lakukan penyesuaian manual seperti yang diperlukan untuk menambah ruang untuk pendawaian. Satu perkara penting yang perlu diberi perhatian ialah di beberapa poket, saya menerobos masuk ke dalam slot wayar fret. Memandangkan itu adalah konduktor, pastikan bahawa ia tidak akan memendekkan perkara penting. Ia juga mengurangkan kekuatan bahan yang menahan fret di tempatnya. Reka bentuknya harus diubah suai agar tidak berpotongan dengan slot fret.

Langkah 7: Lubang Akses Pengilangan di Badan Ukulele

Lubang Akses Kilang di Badan Ukulele
Lubang Akses Kilang di Badan Ukulele

Saya menggali lubang akses di badan secara manual. Bahagian yang paling sukar adalah mencari kawasan "paling rata" dari permukaan yang sangat melengkung. Tandakan garis besar dengan pensil dan geser bahan secara beransur-ansur sehingga anda sesuai dengan paparan OLED. Saya memperoleh bezel tembaga yang dimesin dan memasangnya menggunakan pita ikatan VHB 3M.

Oleh kerana kedua-duanya tidak memerlukan ketepatan yang tinggi, lubang pengekod putar dan panel akses jauh lebih mudah dibuat.

Langkah 8: Buat Plat Penutup

Buat Plat Penutup
Buat Plat Penutup
Buat Plat Penutup
Buat Plat Penutup
Buat Plat Penutup
Buat Plat Penutup

Anda juga perlu memasang plat penutup untuk bezel paparan dan panel acess. Panel akses memerlukan lubang (segi empat tepat) untuk penyambung USB (mikro). Cukup gunakan penyambung yang ada di Arduino, kerana tidak banyak pilihan pemasangan panel untuk USB mikro. (walaupun jika saya merancang dari awal, saya akan melihatnya)

Untuk memegang papan di tempatnya, pasangkan pendakap L dari tembaga dan pasangkannya ke bahagian belakang plat akses. Ini membolehkan anda berada pada kedudukan lintang. Untuk mendapatkan kedudukan yang betul, pertama-tama buat papan pemasangan papan wangi (dengan lubang pemasangan) untuk Arduino MICRO dan pasangkan pendakap L ke atasnya dengan menggunakan skru mesin 2-56. Anda kemudian boleh mengubah lokasi untuk menyusun port usb dan menandakan lokasi untuk tanda kurung pada piring dengan tepat. Tanggalkan pendakap dari papan wangi dan pateri di tempatnya. Akhirnya pasangkan pemasangan papan wangi.

Saya menggunakan empat skru kayu tembaga kecil untuk menahan panel akses tembaga di tempatnya.

Pada ketika ini saya mengesyorkan ujian yang sesuai sebelum pemasangan akhir dimulakan. Langkah ini adalah pilihan tetapi disyorkan. Jauh lebih mudah untuk membuat penyesuaian sebelum terpaku.

Langkah 9: Pasang Wayar ke PCB; Sambungkan dan Uji Elektronik

Image
Image
Lekatkan Leher ke Badan Ukulele
Lekatkan Leher ke Badan Ukulele

Jangan pasangkan elektronik secara kekal. Pasang kabel ke PCB, pastikan anda membiarkan cukup banyak jalan keluar dari lubang akses. Ini akhirnya perlu dilekatkan secara kekal pada papan Arduino MICRO (gambar menunjukkan Arduino UNO, yang saya gunakan untuk pengembangan kod)

Langkah 10: Pasangkan Leher ke Badan Ukulele

Pasang leher ke badan Ukulele mengikut arahan yang disertakan dengan kit Ukulele. Terutama perhatikan penjajaran permukaan papan fret ke badan uke.

Langkah 11: Gerudi Lubang Akses untuk Menyalurkan Kabel PCB ke Badan

Lubang Lubang Akses untuk Menyalurkan Kabel PCB ke Badan
Lubang Lubang Akses untuk Menyalurkan Kabel PCB ke Badan

Setelah lem kering, gerudi lubang ~ 1/4 (10mm) pada sudut untuk membolehkan wayar dari PCB masuk ke badan Ukulele. Pastikan tidak merosakkan papan suara.

Anda mungkin perlu membuat poket kecil juga untuk membolehkan ketebalan wayar di bawah papan (atau meletakkan sambungan di bahagian atas dan termasuk lega di papan fret.)

Kesesuaian ujian lain tidak akan menyakitkan pada ketika ini.

Langkah 12: Sejajarkan dan Lekatkan PCB dan Fretboard ke Leher

Sejajarkan dan Lekatkan PCB dan Fretboard ke Leher
Sejajarkan dan Lekatkan PCB dan Fretboard ke Leher

Saya cadangkan berfikir melalui penjepitan (dan mencubanya!) Sebelum melekatkan. Anda mungkin mahu membuat blok yang berbentuk di bahagian bawah leher untuk memberikan permukaan penjepit yang rata. Papan fret lebih besar daripada leher pada ketika ini, jadi anda perlu membiarkannya.

Berhati-hatilah untuk tidak membuat epoksi pada permukaan yang ingin anda selesaikan kemudian. Lebih baik lagi gunakan pelindung pada semua permukaan yang tidak dilekatkan sebelum anda merekatkannya untuk memastikan ia hanya berlaku di tempat yang anda inginkan.

Gunakan epoksi dengan jangka hayat kerja minimum 60 minit … anda memerlukannya semua.

Lekatkan PCB di tempatnya terlebih dahulu, pastikan gam berlebihan tidak keluar ke permukaan pelekapan papan fret. Ini memberikan kaedah untuk meluruskan papan fret ke leher. PCB mempunyai kemasan topeng solder yang halus, jadi saya menyusunnya dengan sedikit kertas pasir untuk memberikan permukaan yang sedikit lebih baik pada epoksi.

Sejajarkan dan lekatkan papan fret ke leher. Berhati-hatilah untuk tidak meninggalkan poket yang kemudian menjadi resonan (buzz!). Berhati-hatilah juga agar tidak terkena gam pada permukaan LED.

Setelah gam kering, anda mungkin ingin memasang wayar dan menguji elektronik sekali lagi. Satu LED buruk akan membuat anda benci hidup. Saya mempunyai satu LED yang buruk (yang pertama!) Pada prototaip dan saya perlu melakukan beberapa kerja kayu kreatif untuk mengakses LED yang rosak dan menambalnya dengan bersih.

Langkah 13: Ratakan Tepi Fretboard ke Leher dan Tambah Kawat Fret

Setelah gam kering, anda boleh mula menyelesaikan bahagian tepi. Saya dengan berhati-hati memotong lebihan bahan fretboard (menggunakan kilang) dan menyelesaikan milimeter terakhir dengan pengamplasan tangan.

Menambah wayar fret boleh dilakukan dengan tukul (dengan muka plastik untuk mengelakkan kahwin). Jangan tukul terlalu keras. Sekiranya anda memadankan wayar fret dengan slot, mereka mesti masuk tanpa banyak kesukaran.

Perkara yang perlu anda perhatikan ialah memecahkan permukaan poket LED yang nipis. Pada prototaip, saya membenarkan beberapa poket LED (berhampiran fret ke-12, di mana ruang semakin ketat) meluas ke slot fret. Itu adalah idea yang tidak baik, kerana itu menimbulkan titik lemah yang mungkin (dan tidak) retak sebaik sahaja wayar fret dimasukkan.

Langkah 14: Sapukan Masking dan Sapukan Finish ke Ukulele

Tutup topeng fretboard (ia tidak selesai) dan kawasan perekatan jambatan dan mulailah menggunakan kemasan.

Semasa menutupi kawasan jambatan, baca arahan dengan kit anda, kemudian periksa panjang skala untuk memastikannya. Kit yang saya gunakan untuk prototaip menggunakan panjang skala yang salah dan dengan itu memberikan dimensi yang salah untuk mencari jambatan (tetapi ia mempunyai nota untuk memeriksa laman web untuk mendapatkan arahan terkini!). Usus saya memberitahu bahawa itu salah, tetapi saya secara tidak sengaja menerima kewibawaan.

Selalu lebih baik untuk memahami MENGAPA anda melakukan sesuatu, daripada mengikuti arahan secara membuta tuli.

Untuk menyelesaikannya, terdapat banyak tutorial dari Luthiers yang mengetahui apa yang mereka lakukan di web, jadi saya cadangkan untuk merujuknya sebelum melangkah ke proses penamat.

Sudah tentu, saya tidak melakukan itu, jadi saya akhirnya menggunakan sealer yang salah, menghasilkan permukaan yang sangat kasar. Jangan buat begitu.

Buat kerja sekolah kamu.

Langkah 15: Sejajarkan dan Pasangkan Jambatan

Sejajarkan dan Pasangkan Jambatan
Sejajarkan dan Pasangkan Jambatan

Langkah ini cukup mudah, tetapi sekali lagi, rancang kaedah penjepit anda dan cubalah terlebih dahulu sebelum menempelkannya. Saya menggunakan gam kayu standard untuk memasang jambatan.

Langkah 16: Pasang Elektronik dan Uji

Pasang Elektronik dan Uji
Pasang Elektronik dan Uji

Sekarang adalah masa untuk menjadikan pendawaian anda cantik. Selain itu, anda tidak mahu ia menjatuhkan badan di dalam badan dan membuat suara berdengung atau lebih buruk lagi tetapi pecah di atas panggung.

Kod Arduino boleh dikemas kini melalui port USB, jadi sebenarnya tidak perlu membongkarnya kecuali anda ingin bermain-main.

Langkah 17: Pasang Tuner dan String Instrument

Image
Image
Memprogram Uke
Memprogram Uke

Anda juga mungkin perlu meratakan fret dan bermain dengan penyediaan sedikit, tetapi mengapa perlu bimbang sekarang, ketika anda sudah hampir ke akhir?

Saya menaikkan penalaan dan menggunakan tali Aquila yang bagus, yang sama sekali tidak membantu bunyi. Oleh itu, ingatlah semasa anda mengeluarkan wang ke dalam projek ukulele …

Langkah 18: Memprogram Uke

Kod Arduino terakhir ada di Github. Terdapat beberapa baris dalam kod untuk menyokong peningkatan masa depan (seperti fungsi metronom dan "slider" untuk paparan (elemen UI yang kelihatan seperti gelangsar)

Kod ini menggunakan Perpustakaan Pengekodan Rotary (Perpustakaan Rotary Encoder Arduino) untuk menangani input pengguna dari Rotary Encoder.

Ia juga menggunakan perpustakaan Adafruit Neopixel dan kod contoh yang terdapat di sini. Mod teater dan pelangi berasal dari contoh yang disediakan di perpustakaan. (lihat strandtest.ino).

Pemacu paparan disediakan oleh sistem 4D dan terdapat di Github di sini.

Terdapat dua fungsi unik yang dilaksanakan untuk projek Ukulele. Yang pertama mengimplementasikan pustaka akord, dan yang kedua memaparkan pesanan teks bergulir menggunakan set watak khusus.

Gambar rajah yang dilampirkan menunjukkan lokasi LED fretboard dan bagaimana ia disambungkan. LED 0 terletak di sudut kanan atas.

Langkah 19: Cara Memaparkan Kord

Cara Memaparkan Kord
Cara Memaparkan Kord

Fungsi displayChord memaparkan kedudukan jari (kedudukan pertama untuk sekarang) untuk setiap kord. Kord yang dipilih oleh pengguna (nota dan kualiti root) disimpan sebagai sepasang indeks. Ini seterusnya digunakan untuk mencari jari untuk setiap akord.

Saya menggunakan notasi "GCEA" untuk menyimpan kord (mis. "A" adalah "2100"). Kord-kord dihitung terlebih dahulu untuk setiap nota akar dan disimpan dalam pemboleh ubah yang sesuai dengan kualiti kord. (jadi, A utama, disimpan di lokasi pertama array "majorChords", sepadan dengan "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 "};

Perhatikan bahawa kerana ini adalah rentetan teks, setiap digit juga dapat mewakili nilai hex untuk memperhitungkan kedudukan fret lebih besar daripada 9. Maksudnya, A dan B akan mewakili LED 10 dan 11. Untuk kord kedudukan pertama, ini bukan masalah).

Rentetan LED disambungkan secara memanjang pada baris 12 (satu oktaf) di sepanjang setiap rentetan (bermula dengan rentetan A), larian 12 seterusnya bermula pada fret pertama rentetan seterusnya (lihat gambarajah pada langkah 18). Ini penting bagi algoritma untuk menentukan lampu mana yang akan dinyalakan untuk kord tertentu. Ini bermaksud bahawa piksel 0 hingga 11 adalah LED rentetan A, 12 hingga 23 adalah LED rentetan E, dan sebagainya. Semasa menguraikan A = "2100" (disimpan sebagai rentetan, ada juga terminator nol "\ n" dalam kod), kami menafsirkannya sebagai: tidak ada piksel pada rentetan A yang menyala, atau pada string E, piksel 0 (fret 1) pada tali C menyala dan piksel 1 (fret 2) pada tali G. Perhatikan bahawa "0" mati, bukan LED pertama. Berdasarkan pendawaian, kami ingin menyalakan LED 24 dan 37. Kod untuk memaparkan kord ditunjukkan di bawah.

untuk (int i = 0; i <4; i ++) {if (int (chord - '0')) {// algoritma untuk menguraikan rentetan kord int ledNumber = int (kord - '0') + (3 - i) * 12 - 1; // lihat perbincangan di atas, (3-i) adalah untuk membalikkan jalur indeks.setPixelColor (ledNumber, 0, 125, 125); // setPixelColor (ledNumber, nilai merah, nilai hijau, nilai biru)}}

Pernyataan if menyemak jika dipimpin mati. Sekiranya tidak, maka mengambil nilai ascii watak, kord , dan tolak nilai ascii untuk '0' untuk menjadikan ledNumber menyala.

strip adalah contoh kelas Adafruit_NeoPixel. Fungsi setPixelColor menetapkan warna untuk piksel yang dikira (tetap pada (0, 125, 125) dalam kes ini.

Langkah 20: Cara Memaparkan Mesej Menatal

Cara Memaparkan Mesej Menatal
Cara Memaparkan Mesej Menatal

Oleh itu, kami mempunyai pelbagai LED 12 x 4 … mengapa tidak menjadikannya memaparkan sesuatu selain daripada corak cahaya yang cukup rawak!

Isu pertama ialah ketinggian paparan (4) agak terhad kerana bilangan tali pada Uke. Penggulungan mendatar kebanyakannya tidak dapat dibaca, tetapi dalam orientasi menegak, kita dapat menyokong 4 x 5 aksara yang berjalan secara menegak.

Menyusun watak sebagai lima baris "menegak" bermaksud dua watak dapat ditampilkan secara serentak yang membenarkan ruang satu baris antara setiap watak.

Kesukarannya adalah bahawa tidak ada set watak 4 x 5 standard. Saya membuat sendiri menggunakan spreadsheet yang dilampirkan. Saya menetapkan setiap baris pada satu nilai hex (4 bit yang mewakili piksel yang dihidupkan atau dimatikan). Kombinasi lima nilai hex membentuk watak (mis. "0" adalah 0x69996).

Nilai untuk setiap watak disimpan dalam array dalam susunan ASCII. Kumpulan watak membuat beberapa kompromi dengan huruf-huruf tertentu, tetapi mayoritas cukup jelas. (coretan di bahagian bawah spreadsheet adalah idea yang saya mainkan kerana kami mempunyai warna sebagai pilihan, kami dapat menambahkan "kedalaman" pada watak dan mungkin mendapat beberapa resolusi tambahan.

Rentetan yang akan dipaparkan terkandung dalam pembolehubah rentetan, pesan.

Penyangga dibuat untuk mewakili paparan watak. Saya rasa saya hanya dapat membuat penyangga besar dengan keseluruhan urutan mesej yang diterjemahkan, terutamanya kerana kebanyakan mesej akan kurang dari 20 aksara. Walau bagaimanapun, saya memilih untuk membuat penyangga tiga watak tetap (18 bait). Hanya dua watak yang sedang ditampilkan secara aktif, dan yang ketiga adalah pandangan ke depan, di mana watak seterusnya dimuat. String LED (anggap ia sebagai register shift besar) dimuat dengan 48 bit untuk tali. Saya membuang sedikit ruang ingatan untuk menjadikan konsep ini lebih mudah. Setiap nibble mendapat lokasi ingatannya sendiri, menggandakan keperluan memori, tetapi tidak banyak berdasarkan ukuran buffer.

Penyangga dimuat dengan watak seterusnya apabila indeks keluaran (penunjuk) sampai ke had watak (outputPointer pada 5, 11, atau 17).

Untuk memuatkan buffer, kita ambil watak pertama dalam "message" sebagai nilai ASCII dan tolak 48 untuk mendapatkan indeks dalam array asciiFont. Nilai pada indeks tersebut disimpan dalam codedChar.

Bahagian pertama mesej yang dipindahkan sesuai dengan LED 47, 35, 23, dan 11 (bahagian bawah paparan). Jadi untuk nombor sifar 0x0F999F, F (kiri) digeser ke dalam pertama, 9 saat dan seterusnya.

Watak seterusnya dimuatkan dengan menutupi setiap menggigit dan mengalihkannya ke kanan. Untuk contoh di atas, algoritma memberikan (0x0F999F & 0xF00000) >> 20, kemudian (0x0F999F & 0x0F0000) >> 16, dll.

indeks int; jika (outputPointer == 17 || outputPointer == 5 || outputPointer == 11) {char displayChar = message.charAt (messagePointer); // ambil watak pertama mesej yang panjangnya dikodkanChar = asciiFont [displayChar - 48]; jika (displayChar == 32) dikodkanChar = 0x000000; messageBuffer [bytePointer + 5] = bait ((dikodkanChar & 0xF00000) >> 20); // tutup semua kecuali nibble terakhir dan alihkannya hingga 20 (dan seterusnya) messageBuffer [bytePointer + 4] = byte ((codedChar & 0x0F0000) >> 16); // ini harus meletakkan satu nibble per memori lokasi memoriBuffer [bytePointer + 3] = byte ((codedChar & 0x00F000) >> 12); // semua enam mewakili pada message messageBuffer [bytePointer + 2] = byte ((codedChar & 0x000F00) >> 8); messageBuffer [bytePointer + 1] = bait ((dikodkanChar & 0x0000F0) >> 4); messageBuffer [bytePointer] = bait ((codedChar & 0x00000F)); jika (bytePointer == 0) {// mengendalikan gelung di sekitar bytePointer bytePointer = 12; } lain {bytePointer - = 6; // kami mengisi dari bawah ke atas; CATATAN: perlu melihat membalikkan ini untuk melihat apakah ia lebih mudah} jika (messagePointer == message.length () - 1) {// menangani gelung di sekitar message messagePointer = 0; } lain {messagePointer + = 1; // beralih ke watak seterusnya}}

Setelah penyangga dimuat, ia menjadi masalah untuk mengesan di mana penunjuk output berada dan memuat rentetan LED dengan 48 bit yang betul (4 saat ini dan 44 sebelumnya). Seperti disebutkan sebelumnya, strip adalah contoh kelas NeoPixel dan setPixelColor menetapkan warna (RGB) setiap piksel. Fungsi show () mengalihkan nilai paparan ke rentetan LED.

// gelung untuk terus mengalihkan penyangga

// ingin menuliskan keseluruhan jalur pada setiap lintasan melalui gelung, hanya lokasi permulaan yang berubah untuk (int baris = 12; baris> 0; baris--) {index = outputPointer + (12-baris); jika (indeks> 17) indeks = outputPointer + (12-baris) -18; // gelung jika lebih besar daripada 17 untuk (lajur int = 4; lajur> 0; lajur--) {strip.setPixelColor (uint16_t (12 * (column-1) + (baris-1)), uint8_t (RedLED * (bitRead) (messageBuffer [index], column-1))), uint8_t (GreenLED * (bitRead (messageBuffer [index], column-1))), uint8_t (BlueLED * (bitRead (messageBuffer [index], kolom-1)))); // di setiap lokasi menyalakan LED jika bit adalah satu}} // outputPointer menunjuk ke bait terendah semasa dalam rentetan paparan jika (outputPointer == 0) outputPointer = 17; outputPointer lain - = 1; strip.show (); }

Langkah 21: Kagumi Dunia dengan Keasyikan Ukulele Anda

Image
Image

Prototaip akhir Ukulele memerlukan sekitar 6 bulan permulaan dan berhenti untuk bermula.

Banyak teknologi baru untuk dipelajari dan mungkin beberapa teori kerja kayu dan muzik untuk dimuat!

Apa yang perlu dilakukan untuk versi seterusnya?

  1. Singkirkan paparan dan pengekod putar. Gantikannya dengan modul Bluetooth yang terpasang pada arduino. Kawal dari jauh menggunakan telefon atau tablet. Semuanya lebih baik dengan Bluetooth.
  2. Kemas kini corak kord dari jauh dalam masa nyata. Sesuatu yang terbaik untuk aplikasi.
  3. Penutup LED. Versi semasa tidak melakukan apa-apa untuk mengelakkan senjata masuk ke lubang LED. Seorang rakan membuat sekumpulan lensa kecil, tetapi saya tidak pernah dapat mengetahui bagaimana cara menjadikannya tetap di tempat dengan betul.
  4. Bahan fretboard alternatif, mungkin sesuatu yang jelas selagi fret memegang.
  5. Lebih banyak lampu! Hilangkan kekangan pada teks dengan menambahkan lebih banyak "baris". Ini benar-benar batasan yang disebabkan oleh ukuran papan fret dan badan LED.

Sekali lagi, lihat pengajar Instructable yang menerangkan set watak yang harus saya buat untuk membenarkan teks menatal.

Terima kasih banyak kerana berjaya sejauh ini! Mahalo!

Disyorkan: