Mục lục:

Cách xây dựng một cây đàn Ukulele phát sáng !: 21 bước
Cách xây dựng một cây đàn Ukulele phát sáng !: 21 bước

Video: Cách xây dựng một cây đàn Ukulele phát sáng !: 21 bước

Video: Cách xây dựng một cây đàn Ukulele phát sáng !: 21 bước
Video: [Hướng dẫn Ukulele] CƠ BẢN-CHI TIẾT cho người mới bắt đầu - BÀI 1 2024, Tháng bảy
Anonim
Image
Image
Lên kế hoạch
Lên kế hoạch

Tôi chơi đàn Ukulele. Kinda tầm thường (nếu đó là một từ) nên tôi nghĩ, "nếu bạn thực sự muốn gây ấn tượng với các quý cô, bạn cần có một phương tiện để đánh lạc hướng họ khỏi thảm họa đang diễn ra trên sân khấu." Do đó "Light-up Ukulele" ra đời.

Dự án này sử dụng một bộ Concert Ukulele và thêm một đèn LED điều khiển Arduino ở mỗi vị trí dây và phím đàn. Nó cũng bổ sung một màn hình OLED lạ mắt và giao diện người dùng dựa trên bộ mã hóa quay để chọn chế độ và cường độ của chuỗi LED.

Các tính năng phần cứng của uke đã hoàn thành:

  1. Arduino MICRO để giao tiếp với chuỗi LED, thiết bị hiển thị và đầu vào.
  2. 48 đèn LED đủ màu có thể lập trình riêng
  3. Màn hình OLED
  4. Một bộ mã hóa quay cho đầu vào của người dùng
  5. Giao diện USB cho nguồn bên ngoài và lập trình Arduino

Phần mềm uke có:

  1. Các chế độ điều khiển ánh sáng cơ bản chạy đèn LED thông qua các bước của chúng
  2. Một chế độ rạp hát tiện lợi (rất tiện dụng cho các buổi biểu diễn!)
  3. Điều khiển cường độ LED
  4. Thư viện hợp âm đầy đủ của tất cả các hợp âm Ukulele ở vị trí đầu tiên (giá trị và ký tự hợp âm)
  5. Khả năng hiển thị văn bản đang chạy (theo chiều dọc) bằng cách sử dụng bộ ký tự 4 x 6 pixel duy nhất

Hướng dẫn này mô tả nguyên mẫu đã hoàn thành. Câu chuyện phát triển đầy đủ có sẵn TẠI ĐÂY, bao gồm một số sai lầm giáo dục (đau đớn) và một bài học quý giá về lý do tại sao bạn PHẢI hoàn thành thiết kế đầu tiên của mình để hoàn thành (bất kể mọi thứ xấu xí đến mức nào). Bạn không bao giờ biết tất cả những điều bạn thực sự không biết cho đến khi bạn đi đến cuối cùng (và sau đó bạn vẫn không biết!), Nhưng bạn đã khá hơn rất nhiều và thông minh hơn rất nhiều cho thiết kế tiếp theo.

Tôi đã xây dựng nguyên mẫu xung quanh bộ đàn Ukulele Grizzly Concert. Bắt đầu với một bộ dụng cụ giúp giảm bớt nỗi lo về phần thân của đàn uke (tốt, hầu hết) và loại bỏ hầu hết các công việc kiểu thợ làm đàn thực sự. Những bộ dụng cụ này khá đầy đủ và không đắt tiền trong một kế hoạch lớn của mọi thứ (và ít đau đớn hơn vì bạn sẽ mắc sai lầm).

Bước 1: Lập kế hoạch

Lên kế hoạch
Lên kế hoạch

Cần đàn (hoặc bảng ngón tay) trong một số bộ dụng cụ đã có các phím đàn đi kèm. Đó là tốt / xấu. Thật tuyệt vời khi tiết kiệm thời gian, nhưng về việc đặt ra một mẫu khoan và giữ nó ở vị trí trong khi phay, thì hơi khó. Sau khi phá hủy cái được cung cấp trong bộ, tôi đã chọn (tốt, tôi không có lựa chọn nào khác ngoài việc mua một bộ khác) để mua một cần đàn mới.

Khi thiết kế phím đàn, chúng ta cần tính toán tăng độ dày cần thiết để nhúng PCB và các đèn LED (và đừng quên các thành phần thụ động), nhưng không quá nhiều để các đèn LED ở quá xa bề mặt phím đàn.

Bảng mạch in LED (PCB) được thiết kế như một bảng 2 lớp đơn giản. Điều này giúp ích rất nhiều cho việc lắp ráp dây LED bằng tay và cung cấp một số độ bền cơ học (đó là sợi thủy tinh và epoxy) cho cổ đàn Ukulele. Tôi đã bắt đầu bố cục trong Eagle, nhưng cuối cùng lại sử dụng Altium Designer do giới hạn về kích thước bảng. Các tệp sơ đồ Altium và PCB có ở đây.

Bộ cần đàn chỉ dày 0,125 inch. Vì vậy, giả sử PCB dày 0,062 inch và cho phép thêm 0,062 inch cho đèn LED, có nghĩa là chúng ta sẽ phải cắt bỏ rất nhiều (như tất cả) của phím đàn. Để bù đắp, chúng tôi có thể cắt một phần các túi cho đèn LED trong phím đàn bằng một túi tương ứng ở cổ cho PCB hoặc chúng tôi có thể thay thế toàn bộ phím đàn (tùy chọn tôi đã đi kèm) bằng một phiên bản dày hơn từ Luther Mercantile International (LMII), là 0,25 inch để bắt đầu.

NHƯNG, hãy nhớ rằng bạn sẽ vẫn phải gia công phần cổ đàn để bù đắp cho sự gia tăng độ dày của phím đàn. Ưu điểm khác mà bạn nhận được là tính thẩm mỹ, vì PCB hiện được nhúng hoàn toàn vào bên trong cần đàn, giúp các cạnh dễ hoàn thiện hơn (và trông đẹp hơn nhiều!) Và đơn giản hóa việc phay cổ.

Nội dung kỹ thuật (bỏ qua nếu bạn muốn):

Nhân tiện, điều này không thực sự làm giảm độ cứng của cổ. Vật liệu PCB cứng hơn nhiều so với gỗ cần đàn ban đầu (Mô-đun Mahogany: 10,6 GPa so với mô-đun FR4: 24 GPa), cộng với việc chúng tôi đang chế tạo một cây đàn Ukulele, không có một lượng căng dây quá lớn có thể làm biến dạng (xoắn hoặc làm cong) cổ.

Một cân nhắc rất thú vị (mà có lẽ tôi vẫn nên tính toán) là điều gì xảy ra với nhiệt độ. Nói chung đối với gỗ, song song với thớ, hệ số giãn nở nhiệt là khoảng 3 x 10 ^ -6 / K và đối với FR4 là 14 × 10 ^ −6 / K. Vì vậy, có một sự khác biệt khá lớn. Mối quan tâm là căng thẳng được tạo ra ở cổ khi nhiệt độ thay đổi, do đó làm mất điều chỉnh dây. Đó là thứ có thể được bù đắp bằng cách áp dụng một lớp tương tự ở phía đối diện của trục trung hòa hoặc bằng cách đặt FR4 càng gần trục trung tính càng tốt. Nhưng điều đó sẽ được để lại cho 2.0… Một cái gì đó để mô hình hóa và đánh giá.

Các thiết bị điện tử được đặt trong phần thân của uke. Các lỗ được cắt ở thành bên (không phải bảng âm thanh!) Của UKE để nhường chỗ cho màn hình và bộ mã hóa quay, cùng với một tấm truy cập để giữ Arduino Micro và cung cấp quyền truy cập vào giao diện USB. Vị trí và thiết kế tấm / ngàm truy cập có thể được cải thiện để làm cho kết nối USB xuất hiện ở một vị trí thuận tiện hơn, nhưng như hiện tại, nó không tệ như vậy, vì nó không gây cản trở khi bạn đang chơi.

Sơ lược các bước như sau:

  1. Thu thập tài liệu
  2. Nhận các công cụ bạn cần
  3. Cắt cổ để phù hợp với cần đàn dày hơn
  4. Phay cần đàn để tạo các lỗ ở các vị trí cần thiết và để tạo các túi cho bảng và đèn LED
  5. Lấy và cấu tạo PCB giữ các đèn LED
  6. Các lỗ tiếp cận đục trên thân Ukulele cho màn hình OLED, bộ mã hóa Rotary và bảng điều khiển truy cập
  7. Làm tấm bìa
  8. Gắn dây vào PCB; kết nối và kiểm tra thiết bị điện tử
  9. Gắn cổ vào thân đàn Ukulele
  10. Khoan một chốt truy cập để luồn dây PCB vào thân máy
  11. Căn chỉnh và dán PCB và phím đàn vào cổ đàn
  12. Cân bằng các cạnh cần đàn vào cổ đàn (loại bỏ phần thừa)
  13. Cài đặt các dây phím đàn
  14. Áp dụng mặt nạ và sơn hoàn thiện cho đàn Ukulele
  15. Căn chỉnh và gắn cầu
  16. Cài đặt thiết bị điện tử và kiểm tra.
  17. Cài đặt bộ chỉnh và lên dây cho nhạc cụ
  18. Lập trình bộ điều khiển Uke
  19. Kinh ngạc thế giới với sự tuyệt vời của Ukulele của bạn!

Bước 2: Thu thập vật liệu

Danh sách tài liệu của chúng tôi trông như thế này:

  1. Bộ đàn ukulele - Tôi đã sử dụng bộ đàn Ukulele Grizzly Concert (Grizzly Uke Kit tại Amazon), nhưng có vẻ như nó đã bị ngừng sản xuất. Zimo tạo ra một mô hình tương tự (Zimo Uke Kit @ Amazon) có vẻ như nó sẽ thực hiện được công việc
  2. Cần đàn ukulele, có rãnh sẵn (LMII Uke Fingerboards). Họ sẽ sắp xếp phím đàn theo quy mô của bạn, điều này giúp tiết kiệm một đống rắc rối
  3. Epoxy - để dán cần đàn vào cổ đàn. Tôi đã chọn epoxy vì nó tương thích với vật liệu PCB. Hãy tìm kiếm thứ gì đó với thời gian làm việc ít nhất 60 phút. KHÔNG sử dụng loại 5 phút, bạn cần thời gian để điều chỉnh
  4. Dây băn khoăn - cũng có sẵn từ LMII
  5. Các tệp PCB - Altium tùy chỉnh có ở đây. Tôi đã chọn vật liệu loại FR4 bình thường. Bảng Flex (polyimide) sẽ là một sự thay thế thú vị (nếu đắt hơn), vì chúng có thể mỏng hơn nhiều
  6. 48x Đèn LED Neopixel (SK6812). Có sẵn từ Adafruit và Digikey
  7. 48x 0,1uF 0402 mũ - lớn hơn có thể chấp nhận được, nhưng bạn phải xem vị trí
  8. Dây móc - có ít nhất 4 đến 6 màu để tránh nhầm lẫn, tôi sử dụng chủ yếu là dây 28 gauge. Xem sự sụt giảm DC trên các kết nối nguồn LED (cả VCC và GROUND… dòng điện đó phải quay trở lại nguồn!)
  9. Bộ mã hóa quay - PEC16-4220F-S0024
  10. Núm vặn bằng gỗ lạ mắt - dành cho bộ mã hóa quay (tôi nhận được từ LMII)
  11. Màn hình OLED - từ hệ thống 4D Màn hình OLED
  12. Pin USB bên ngoài - rẻ hơn mọi lúc, ngoài ra bạn có thể mang theo phụ tùng!
  13. Arduino MICRO
  14. Tấm đồng thau - để làm tấm để giữ arduino và khung bezel cho màn hình
  15. Các vật tư tiêu hao khác bao gồm: giấy nhám, lớp hoàn thiện uretan, que kem, dây cao su, chất hàn, chất trợ dung, bàn chải, băng dính hai mặt (tôi thích băng UHC của 3M) và vít gỗ nhỏ bằng đồng (cho tấm)
  16. Các cải tiến tùy chọn của Ukulele - bộ chỉnh tốt hơn, dây tốt hơn, đai ốc và yên tốt hơn, khảm nếu bạn muốn thể hiện kỹ năng chơi đàn của mình)

Bước 3: Nhận các công cụ bạn cần

Không sớm thì muộn, bạn sẽ cần phải có hoặc có quyền truy cập vào những thứ này:

Danh sách công cụ của chúng tôi bao gồm:

  1. Máy phay - CNC được ưu tiên, nhưng bạn thậm chí có thể có được nhờ một bộ định tuyến và rất nhiều may mắn. Tôi đã sử dụng một bộ định tuyến / nhà máy CNC kết hợp
  2. Các bit bộ định tuyến - ưu tiên cacbua. Các bit bộ định tuyến được chọn trên các nhà máy cuối vì chúng tôi đang gia công gỗ, không phải kim loại
  3. Kẹp - rất nhiều. Chủ yếu cần thiết để giữ các bộ phận trong khi dán
  4. Sắt hàn - đầu nhỏ để hàn gắn bề mặt
  5. Kính hiển vi hoặc kính lúp - bạn có thể thử hàn chỉ bằng mắt mình, nhưng tôi không khuyên bạn nên dùng nó, tối thiểu 10 lần
  6. Nhíp (để đưa các bộ phận vào đúng vị trí)
  7. Các công cụ đáng tiếc (xem các công cụ thích hợp trên LMII ở đây, nhưng tôi đã sử dụng những gì tôi có ở nhà và làm; búa, giũa và máy cắt)
  8. Các loại dụng cụ cầm tay như đục gỗ, tua vít, đòn mềm hoặc búa da bò (dùng để mài), v.v.
  9. Chất mài mòn - các loại giấy nhám khác nhau

Các công cụ phần mềm của chúng tôi bao gồm (một số là tùy chọn tùy thuộc vào ngân sách / sự khéo léo của bạn):

  1. Phần mềm Arduino
  2. Mã nguồn Ukulele (https://github.com/conrad26/Ukulele)
  3. Gói bố trí PCB - Tôi đã sử dụng Altium vì phiên bản miễn phí của Eagle không hỗ trợ kích thước bảng mà tôi muốn. Altium là một gói bố cục đầy đủ tính năng và không thực sự nằm trong phạm vi giá của người yêu thích. Tôi đã bao gồm các tệp Gerber trên trang web của mình cho nguyên mẫu, nhưng những tệp này chắc chắn cần được cập nhật
  4. Phần mềm tạo mô hình 3D - Tôi đã sử dụng SolidWorks, nhưng một phần mềm thay thế miễn phí là FreeCAD (https://www.freecadweb.org/)
  5. Phần mềm CAM - như FeatureCAM của Autodesk để tạo tệp NC mill.

Sự kết hợp giữa xuất tệp bước 3D từ Altium cùng với mô hình 3D của phím đàn giúp loại bỏ nhiều khó khăn trong việc đảm bảo mọi thứ đều thẳng hàng, nhưng đó không phải là một yêu cầu. Bố cục cẩn thận sẽ đạt được kết quả tương tự.

Bây giờ chúng ta biết mình muốn làm gì và cần làm gì, hãy chế tạo một cây đàn Ukulele.

Bước 4: Phay cổ đàn để cố định phím đàn dày hơn

Cắt cổ đàn để tăng độ chính xác của phím đàn dày hơn
Cắt cổ đàn để tăng độ chính xác của phím đàn dày hơn

Trước khi phay, lưu ý rằng PHẢI duy trì độ phẳng bề mặt lắp phím đàn ban đầu, nếu không bạn sẽ có một phím đàn xoắn, dẫn đến tất cả các loại vấn đề với việc cân bằng phím đàn.

Chỉ cần không đến đó, hãy dành thời gian của bạn và cẩn thận và chặt chẽ kẹp cổ và kiểm tra sự liên kết với bit bộ định tuyến trên toàn bộ cổ trước khi cắt. Thời gian ở đây sẽ giúp bạn tiết kiệm được nhiều đau buồn sau này.

Một lý do khiến tôi chọn phím đàn dày hơn phủ một lớp phủ ở cổ là diện tích bề mặt gắn (dán) tăng lên. Một lý do khác là nó đơn giản hóa việc phay cổ. Bạn chỉ cần buzz cắt toàn bộ bề mặt theo chiều cao cần thiết.

Bước 5: Lấy và chế tạo PCB Giữ các đèn LED

Lấy và cấu tạo PCB Giữ đèn LED
Lấy và cấu tạo PCB Giữ đèn LED
Lấy và cấu tạo PCB Giữ đèn LED
Lấy và cấu tạo PCB Giữ đèn LED

Tôi tự tay hàn toàn bộ lắp ráp. Các gói đèn LED đặc biệt dễ nóng chảy, vì vậy hãy cẩn thận để tránh làm hỏng chúng. Tôi khuyên bạn nên đeo dây đeo tĩnh, vì dây phụ thuộc vào mọi đèn LED hoạt động.

Thiết kế phím đàn dựa trên đèn LED WS2812B. Tôi quyết định chỉ làm quãng tám đầu tiên của phím đàn (48 đèn LED !!). Mỗi đèn LED có thể được coi là một bit trong thanh ghi dịch chuyển. Thanh ghi dịch chuyển có tốc độ 800 kHz. Tôi đã sử dụng thư viện Adafruit (xem phần lập trình) để thiết lập và chạy mọi thứ một cách nhanh chóng.

Tôi bắt đầu thiết kế bằng Eagle, nhưng kích thước bảng bị giới hạn ở mức 4 x 5 inch, vì vậy tôi phải (hoặc chính xác hơn, tôi đã chọn) chuyển sang Altium. Tôi sử dụng Altium tại nơi làm việc, vì vậy trên thực tế, nó giúp mọi thứ nhanh hơn với tôi. Dự án Altium, các tệp sơ đồ và pcb (và các phần thư viện) có trên trang web của tôi. Tấm ván có dạng hình thang và dài khoảng 10 inch. Tôi nghĩ rằng tôi nên cố gắng nén phác thảo thêm một chút (lần quay tiếp theo!) Việc lắp ráp không tệ, nhưng nếu bạn có đủ khả năng, tôi thực sự khuyên bạn nên sử dụng một chiếc mỏ hàn tốt (JBC Solnding Irons) và một kính hiển vi tốt. Ừ, tôi hư hỏng và không, tôi không có những thứ đó trong phòng thí nghiệm ở nhà. Tôi rẻ.

Tôi đã có bảng được làm ở Sunstone. 129 đô la cho hai bảng. Đảm bảo một tuần có lượt. Tuy nhiên, đừng lo lắng về việc vận chuyển. Tôi đã không nhận thấy rằng tôi đã sử dụng UPS nối đất và tôi đã phải đợi thêm một tuần để các bo mạch của tôi đến nơi. Tổng thời gian lắp ráp khoảng 2 giờ (98 bộ phận).

Bước 6: Cối phím đàn

Image
Image
Lỗ tiếp cận Mill trong thân đàn Ukulele
Lỗ tiếp cận Mill trong thân đàn Ukulele

Chúng ta cần mài cần đàn để tạo lỗ ở những vị trí cần thiết và tạo các hốc cho bảng và đèn LED.

Tôi đã tạo mô hình 3D của phím đàn hoàn chỉnh trong Solidworks và tạo quy trình phay CNC bằng FeatureCAM.

Phần dưới cùng của phím đàn (gần lỗ thoát âm nhất) sẽ cần được làm mỏng hơn để giải thích sự thay đổi về độ cao giữa cổ và thân đàn. Chắc chắn có giá trị thử nghiệm lắp nhiều lần để chắc chắn rằng đó là một sự vừa khít hợp lý.

Nhìn lại, lẽ ra tôi nên cắt bỏ những phần không sử dụng của cần đàn để làm cho nó vừa vặn với cối xay hơn (chiếc máy nghiền giá rẻ của tôi chỉ có hành trình trục X 12 ). Thứ tự hoạt động nên được thiết lập để điều chỉnh độ dày của cần đàn trước các túi phay, điều này sẽ dẫn đến ít vỡ giữa các túi hơn.

Thực hiện các điều chỉnh thủ công nếu cần để thêm không gian cho hệ thống dây điện. Một điều quan trọng cần lưu ý là trong một số túi, tôi đã đột nhập vào khe mà dây phím đàn sẽ đi qua. Vì đó là một chất dẫn điện, hãy đảm bảo rằng nó không làm ngắn bất cứ thứ gì quan trọng. Nó cũng làm giảm độ bền của vật liệu giữ phím đàn tại chỗ. Thiết kế nên được sửa đổi để không bao giờ giao nhau với rãnh phím đàn.

Bước 7: Lỗ tiếp cận cối xay trong thân đàn Ukulele

Lỗ tiếp cận Mill trong thân đàn Ukulele
Lỗ tiếp cận Mill trong thân đàn Ukulele

Tôi tự đục lỗ tiếp cận trên thân. Phần khó nhất là tìm vùng "phẳng nhất" của bề mặt rất cong. Đánh dấu đường viền bằng bút chì và dần dần nghiền nhỏ vật liệu cho đến khi bạn có được một màn hình vừa khít với màn hình OLED. Tôi đã có được một khung bezel bằng đồng được gia công và gắn nó bằng băng dính 3M VHB.

Vì không yêu cầu độ chính xác cao nên việc tạo bộ mã hóa quay và các lỗ trên bảng điều khiển truy cập dễ dàng hơn nhiều.

Bước 8: Làm tấm bìa

Làm tấm bìa
Làm tấm bìa
Làm tấm bìa
Làm tấm bìa
Làm tấm bìa
Làm tấm bìa

Bạn cũng cần phải mài các tấm che cho khung bezel màn hình và bảng điều khiển acess. Bảng điều khiển truy cập cần có một lỗ (hình chữ nhật) cho đầu nối USB (micro). Chỉ cần sử dụng đầu nối hiện có trên Arduino, vì không có nhiều tùy chọn gắn bảng cho micro USB. (mặc dù nếu tôi đang thiết kế từ đầu, thì tôi sẽ cho một trong những cái này xem)

Để giữ bảng đúng vị trí, thời trang L ngoặc bằng đồng thau và hàn chúng vào mặt sau của tấm tiếp cận. Điều này cho phép bạn định vị một số vĩ độ. Để đặt đúng vị trí, trước tiên hãy tạo một bảng gắn bảng điều khiển perfboard (có lỗ gắn) cho Arduino MICRO và gắn các giá đỡ L vào nó bằng cách sử dụng 2-56 vít máy. Sau đó, bạn có thể điều chỉnh vị trí để xếp hàng cổng usb và đánh dấu chính xác vị trí cho các giá đỡ trên đĩa. Tháo các giá đỡ khỏi bảng đục lỗ và hàn chúng vào vị trí. Cuối cùng là lắp ráp perfboard.

Tôi đã sử dụng bốn vít gỗ nhỏ bằng đồng thau để giữ bảng điều khiển bằng đồng vào vị trí.

Tại thời điểm này, tôi khuyên bạn nên kiểm tra sự phù hợp trước khi bắt đầu lắp ráp cuối cùng. Bước này là tùy chọn nhưng được khuyến nghị. Điều chỉnh trước khi dán dễ dàng hơn nhiều.

Bước 9: Gắn dây vào PCB; Kết nối và kiểm tra thiết bị điện tử

Image
Image
Gắn Cổ đàn vào Thân đàn Ukulele
Gắn Cổ đàn vào Thân đàn Ukulele

Chưa gắn vĩnh viễn các thiết bị điện tử. Gắn dây vào PCB, đảm bảo bạn đủ độ chùng để thoát ra khỏi lỗ truy cập. Những thứ này cuối cùng cần được gắn vĩnh viễn vào bảng Arduino MICRO (các bức ảnh cho thấy Arduino UNO, mà tôi đã sử dụng để phát triển mã)

Bước 10: Gắn Cổ đàn vào Thân đàn Ukulele

Gắn cần đàn vào thân đàn Ukulele theo hướng dẫn kèm theo bộ sản phẩm đàn Ukulele. Đặc biệt chú ý sự căn chỉnh của mặt phím đàn với thân đàn uke.

Bước 11: Khoan một lỗ truy cập để luồn dây PCB vào thân máy

Khoan một lỗ truy cập để luồn dây PCB vào thân máy
Khoan một lỗ truy cập để luồn dây PCB vào thân máy

Sau khi keo khô, hãy khoan một góc ~ 1/4 (10mm) một lỗ để cho các dây từ PCB đi vào thân đàn Ukulele. Đảm bảo không làm hỏng thùng đàn.

Bạn cũng có thể cần phải tạo một túi nhỏ để cho phép độ dày của dây dưới bảng (hoặc tùy chọn đặt các kết nối ở trên cùng và bao gồm phần trợ lực trong cần đàn.)

Một thử nghiệm khác sẽ không phù hợp vào thời điểm này.

Bước 12: Căn chỉnh và dán PCB và phím đàn vào cổ đàn

Căn chỉnh và dán PCB và phím đàn vào cổ đàn
Căn chỉnh và dán PCB và phím đàn vào cổ đàn

Tôi khuyên bạn nên suy nghĩ về cách kẹp (và thử nó!) Trước khi dán. Bạn có thể muốn tạo hình khối ở mặt dưới của cổ để tạo cho bạn một bề mặt kẹp phẳng. Cần đàn lớn hơn cổ đàn vào thời điểm này, vì vậy bạn cần cho phép điều đó.

Hãy hết sức cẩn thận để không để epoxy dính trên bất kỳ bề mặt nào mà bạn muốn hoàn thiện sau này. Tốt hơn hết hãy áp dụng mặt nạ cho tất cả các bề mặt không dán trước khi bạn dán keo để đảm bảo rằng nó chỉ đi đúng nơi bạn dự định.

Sử dụng epoxy với thời gian làm việc tối thiểu là 60 phút… bạn sẽ cần tất cả.

Dán PCB vào vị trí trước, đảm bảo keo thừa không chảy ra bề mặt dán cần đàn. Điều này cung cấp một phương pháp để căn chỉnh phím đàn cho phù hợp với cổ đàn. PCB có lớp hoàn thiện mặt nạ hàn mịn, vì vậy tôi đã làm thô nó bằng một chút giấy nhám để tạo cho lớp sơn epoxy hoàn thiện bề mặt được cải thiện một chút.

Căn chỉnh và dán cần đàn vào cổ đàn. Hãy cẩn thận để không để lại túi mà sau này có thể trở nên vang (buzz!). Ngoài ra, hãy cẩn thận để không bị dính keo trên bề mặt đèn LED.

Sau khi keo khô, bạn có thể nối dây và kiểm tra thiết bị điện tử một lần nữa. Một đèn LED tồi sẽ khiến bạn chán ghét cuộc sống. Tôi có một đèn LED không tốt (chiếc đầu tiên!) Trên nguyên mẫu và tôi phải thực hiện một số tác phẩm đồ gỗ sáng tạo để tiếp cận đèn LED bị lỗi và vá nó sạch sẽ.

Bước 13: Cân bằng các cạnh của phím đàn đến cổ và thêm dây phím đàn

Khi keo khô, bạn có thể bắt đầu hoàn thiện các cạnh. Tôi cẩn thận cắt bỏ vật liệu cần đàn thừa (sử dụng máy nghiền) và hoàn thành từng milimet cuối cùng bằng cách chà nhám bằng tay.

Việc thêm dây cần đàn có thể thực hiện đơn giản bằng búa (có mặt nhựa để tránh bị mòn). Chỉ cần đừng búa quá mạnh. Nếu bạn đã khớp dây phím đàn với các khe cắm, chúng sẽ đi vào mà không gặp nhiều khó khăn.

Điều bạn cần để ý là phá vỡ bề mặt mỏng của hốc đèn LED. Trên nguyên mẫu, tôi cho phép một số túi đèn LED (gần phím đàn thứ 12, nơi không gian bị chật hẹp) mở rộng vào khe phím đàn. Đó là một ý tưởng tồi, vì điều đó tạo ra một điểm yếu có thể (và đã) bị nứt khi dây phím đàn được lắp vào.

Bước 14: Đắp mặt nạ và phủ lớp hoàn thiện cho đàn Ukulele

Mặt nạ phím đàn (nó không được hoàn thiện) và khu vực dán cầu và bắt đầu sơn hoàn thiện.

Khi che khu vực cầu, hãy đọc hướng dẫn với bộ dụng cụ của bạn, sau đó kiểm tra kỹ chiều dài thang đo để chắc chắn. Bộ dụng cụ tôi sử dụng cho nguyên mẫu đã sử dụng sai chiều dài tỷ lệ và do đó cung cấp sai kích thước để định vị cây cầu (nhưng nó có ghi chú để kiểm tra trang web để biết hướng dẫn mới nhất!). Ruột của tôi bảo tôi điều đó là sai, nhưng tôi đã mù quáng chấp nhận quyền hành.

Luôn luôn tốt hơn để hiểu TẠI SAO bạn đang làm điều gì đó, thay vì làm theo hướng dẫn một cách mù quáng.

Về phần hoàn thiện, có rất nhiều hướng dẫn từ các Luthiers biết họ đang làm gì trên web, vì vậy tôi khuyên bạn nên tham khảo ý kiến của họ trước khi bắt đầu quá trình hoàn thiện.

Tất nhiên, tôi đã không làm điều đó, vì vậy tôi đã sử dụng sai chất bịt kín, dẫn đến bề mặt rất sần sùi. Đừng làm vậy.

Làm bài tập về nhà đi.

Bước 15: Căn chỉnh và gắn cầu

Căn chỉnh và gắn cầu
Căn chỉnh và gắn cầu

Bước này khá đơn giản, nhưng một lần nữa, hãy vạch ra phương pháp kẹp và thử trước trước khi dán. Tôi đã sử dụng một loại keo dán gỗ tiêu chuẩn để gắn cây cầu.

Bước 16: Cài đặt Điện tử và Kiểm tra

Cài đặt Điện tử và Kiểm tra
Cài đặt Điện tử và Kiểm tra

Bây giờ là lúc để làm cho hệ thống dây điện của bạn trở nên đẹp đẽ. Thêm vào đó, bạn không muốn nó bay xung quanh bên trong cơ thể và tạo ra tiếng ồn ào hoặc tệ hơn là bị vỡ trên sân khấu.

Mã Arduino có thể được cập nhật thông qua cổng USB, vì vậy thực sự không cần phải tách nó ra trừ khi bạn muốn mày mò.

Bước 17: Cài đặt Bộ dò và xâu chuỗi nhạc cụ

Image
Image
Lập trình Uke
Lập trình Uke

Bạn cũng có thể sẽ cần phải điều chỉnh các phím đàn và chơi với thiết lập một chút, nhưng tại sao phải lo lắng bây giờ, khi bạn đã gần kết thúc?

Tôi đã nâng cấp bộ chỉnh và sử dụng dây Aquila đẹp, không giúp ích gì cho âm thanh. Vì vậy, hãy ghi nhớ điều đó khi bạn đang đổ tiền vào một dự án đàn ukulele…

Bước 18: Lập trình Uke

Mã Arduino cuối cùng có trên Github. Có một số dòng trong mã để hỗ trợ các cải tiến trong tương lai (như chức năng máy đếm nhịp và "thanh trượt" cho màn hình (một phần tử giao diện người dùng trông giống như một thanh trượt)

Mã này sử dụng Thư viện mã hóa quay (Rotary Encoder Arduino Library) để xử lý đầu vào của người dùng từ Bộ mã hóa quay.

Nó cũng sử dụng thư viện Adafruit Neopixel và mã ví dụ nằm ở đây. Chế độ rạp hát và cầu vồng được lấy từ các ví dụ được cung cấp cùng với thư viện. (xem strandtest.ino).

Trình điều khiển hiển thị được cung cấp bởi hệ thống 4D và được tìm thấy trên Github tại đây.

Có hai chức năng duy nhất được thực hiện cho dự án Ukulele. Đầu tiên cài đặt thư viện hợp âm và thứ hai hiển thị thông báo văn bản cuộn bằng cách sử dụng bộ ký tự tùy chỉnh.

Sơ đồ đính kèm cho thấy các vị trí LED của phím đàn và cách chúng được kết nối. LED 0 nằm ở góc trên bên phải.

Bước 19: Cách hiển thị một hợp âm

Cách hiển thị một hợp âm
Cách hiển thị một hợp âm

Chức năng displayChord hiển thị các vị trí ngón tay (chỉ vị trí đầu tiên hiện tại) cho mỗi hợp âm. Các hợp âm do người dùng chọn (nốt gốc và chất lượng) được lưu trữ dưới dạng một cặp chỉ số. Đến lượt nó, chúng được sử dụng để tra cứu các ngón cho mỗi hợp âm.

Tôi đã sử dụng ký hiệu "GCEA" để lưu trữ các hợp âm (ví dụ: "A" là "2100"). Các hợp âm được tính toán trước cho mỗi nốt gốc và được lưu trữ trong một biến số tương ứng với chất lượng của hợp âm. (vì vậy, một Major, được lưu trữ ở vị trí đầu tiên của mảng "majorChords", tương ứng với "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 "};

Lưu ý rằng vì đây là một chuỗi văn bản nên mỗi chữ số cũng có thể đại diện cho một giá trị hex để tính cho các vị trí phím đàn lớn hơn 9. Nghĩa là, A và B sẽ đại diện cho các đèn LED 10 và 11. Đối với các hợp âm ở vị trí đầu tiên, đây không phải là vấn đề).

Chuỗi LED được nối theo chiều dọc theo chiều dài hàng 12 (một quãng tám) dọc theo mỗi chuỗi (bắt đầu bằng chuỗi A), lần chạy tiếp theo của 12 bắt đầu từ phím đàn đầu tiên của chuỗi tiếp theo (xem sơ đồ ở bước 18). Điều này quan trọng đối với thuật toán để xác định đèn nào sẽ bật cho một hợp âm nhất định. Điều đó có nghĩa là các pixel từ 0 đến 11 là đèn LED chuỗi A, 12 đến 23 là đèn LED chuỗi E, v.v. Khi phân tích cú pháp A = "2100" (được lưu trữ dưới dạng một chuỗi, cũng có một dấu chấm hết "\ n" trong mã), chúng tôi giải thích nó là: không có pixel nào trên chuỗi A được sáng, cũng như trên chuỗi E, pixel 0 (phím 1) trên chuỗi C sáng và pixel 1 (phím 2) trên dây G. Lưu ý rằng số "0" tắt, không phải đèn LED đầu tiên. Dựa trên hệ thống dây, chúng ta muốn làm sáng các đèn LED 24 và 37. Mã để hiển thị một hợp âm được hiển thị bên dưới.

for (int i = 0; i <4; i ++) {if (int (chord - '0')) {// thuật toán phân tích chuỗi hợp âm int ledNumber = int (chord - '0') + (3 - i) * 12 - 1; // xem thảo luận ở trên, (3-i) là để đảo ngược chỉ mục dải.setPixelColor (ledNumber, 0, 125, 125); // setPixelColor (ledNumber, giá trị đỏ, giá trị xanh lục, giá trị xanh lam)}}

Câu lệnh if kiểm tra xem đã tắt hay chưa. Nếu không phải thì nó lấy giá trị ascii của ký tự, hợp âm và trừ giá trị ascii cho '0' để làm cho ledNumber sáng lên.

dải là một thể hiện của lớp Adafruit_NeoPixel. Hàm setPixelColor đặt màu cho pixel được tính toán (cố định ở (0, 125, 125) trong trường hợp này.

Bước 20: Cách hiển thị thông báo cuộn

Cách hiển thị thông báo cuộn
Cách hiển thị thông báo cuộn

Vì vậy, chúng tôi có một dãy đèn LED 12 x 4… tại sao không làm cho nó hiển thị thứ gì đó khác ngoài các mẫu ánh sáng khá ngẫu nhiên!

Vấn đề đầu tiên là chiều cao hiển thị (4) khá hạn chế do số lượng chuỗi trên Uke. Cuộn theo chiều ngang hầu như không đọc được, nhưng theo hướng dọc, chúng tôi có thể hỗ trợ các ký tự 4 x 5 chạy theo chiều dọc.

Tổ chức các ký tự thành năm hàng "dọc" có nghĩa là hai ký tự có thể được hiển thị đồng thời, cho phép khoảng cách một dòng giữa mỗi ký tự.

Khó khăn là không có bộ ký tự 4 x 5 tiêu chuẩn. Tôi đã thực hiện của riêng tôi bằng cách sử dụng bảng tính đính kèm. Tôi đã gán mỗi hàng cho một giá trị hex duy nhất (4 bit đại diện cho pixel nào đang bật hoặc tắt). Sự kết hợp của năm giá trị hex tạo thành một ký tự (ví dụ: "0" là 0x69996).

Các giá trị cho mỗi ký tự được lưu trữ trong một mảng theo thứ tự ASCII. Bộ ký tự tạo ra một số thỏa hiệp với một số chữ cái nhất định, nhưng phần lớn là rõ ràng hợp lý. (những nét vẽ nguệch ngoạc ở cuối bảng tính là ý tưởng mà tôi đang chơi vì chúng tôi có màu sắc như một tùy chọn, chúng tôi có thể thêm "chiều sâu" cho nhân vật và có thể có được một số độ phân giải bổ sung.

Chuỗi được hiển thị được chứa trong biến chuỗi, thông báo.

Một bộ đệm được tạo ra để đại diện cho việc hiển thị ký tự. Tôi đoán tôi có thể chỉ cần tạo một bộ đệm lớn với toàn bộ chuỗi tin nhắn đã dịch, đặc biệt là vì hầu hết các tin nhắn sẽ có ít hơn 20 ký tự hoặc lâu hơn. Tuy nhiên, thay vào đó, tôi đã chọn tạo một bộ đệm ba ký tự (18 byte) cố định. Chỉ có hai trong số các ký tự đang được hiển thị và ký tự thứ ba là nhìn về phía trước, nơi ký tự tiếp theo được tải. Chuỗi LED (coi nó như một thanh ghi dịch chuyển lớn) được tải với 48 bit cho chuỗi. Tôi đã lãng phí một số không gian bộ nhớ để làm cho điều này dễ dàng hơn để hình thành khái niệm. Mỗi nibble có vị trí bộ nhớ riêng, tăng gấp đôi yêu cầu bộ nhớ, nhưng kích thước bộ đệm không lớn.

Bộ đệm được tải với ký tự tiếp theo khi chỉ mục đầu ra (con trỏ) đến ranh giới ký tự (outputPointer tại 5, 11 hoặc 17).

Để tải bộ đệm, chúng tôi lấy ký tự đầu tiên trong "message" làm giá trị ASCII và trừ 48 để lấy chỉ số trong mảng asciiFont. Giá trị tại chỉ mục đó được lưu trữ trong codedChar.

Phần đầu tiên của thông báo chuyển ra tương ứng với các đèn LED 47, 35, 23 và 11 (dưới cùng của màn hình). Vì vậy, đối với số không 0x0F999F, F (bên trái) được dịch chuyển trong giây đầu tiên, 9 giây, v.v.

Ký tự tiếp theo được tải bằng cách che mỗi nibble và chuyển nó sang bên phải. Đối với ví dụ trên, thuật toán đưa ra (0x0F999F & 0xF00000) >> 20, sau đó (0x0F999F & 0x0F0000) >> 16, v.v.

chỉ mục int; if (outputPointer == 17 || outputPointer == 5 || outputPointer == 11) {char displayChar = message.charAt (messagePointer); // lấy ký tự đầu tiên của thông báo long codedChar = asciiFont [displayChar - 48]; if (displayChar == 32) codedChar = 0x000000; messageBuffer [bytePointer + 5] = byte ((codedChar & 0xF00000) >> 20); // che tất cả trừ nibble cuối cùng và dịch chuyển nó qua 20 (và hơn thế nữa) messageBuffer [bytePointer + 4] = byte ((codedChar & 0x0F0000) >> 16); // điều này sẽ đặt một nibble cho mỗi vị trí bộ nhớ messageBuffer [bytePointer + 3] = byte ((codedChar & 0x00F000) >> 12); // cả sáu đại diện trên ký tự messageBuffer [bytePointer + 2] = byte ((codedChar & 0x000F00) >> 8); messageBuffer [bytePointer + 1] = byte ((codedChar & 0x0000F0) >> 4); messageBuffer [bytePointer] = byte ((codedChar & 0x00000F)); if (bytePointer == 0) {// xử lý vòng lặp trên bytePointer bytePointer = 12; } else {bytePointer - = 6; // chúng ta đang điền từ dưới lên; LƯU Ý: cần xem xét việc đảo ngược điều này để xem nó có làm cho nó dễ dàng hơn không} if (messagePointer == message.length () - 1) {// xử lý vòng lặp xung quanh thông báo messagePointer = 0; } else {messagePointer + = 1; // chuyển sang ký tự tiếp theo}}

Sau khi bộ đệm được tải, vấn đề theo dõi con trỏ đầu ra đang ở đâu và tải chuỗi LED với 48 bit chính xác (4 hiện tại và 44 trước đó). Như đã đề cập trước đây, dải là một thể hiện của lớp NeoPixel và setPixelColor đặt màu (RGB) của mỗi pixel. Hàm show () chuyển các giá trị hiển thị thành chuỗi LED.

// vòng lặp để liên tục thay đổi bộ đệm

// muốn viết ra toàn bộ dải trên mỗi lần đi qua vòng lặp, chỉ vị trí bắt đầu thay đổi for (int row = 12; row> 0; row--) {index = outputPointer + (12-row); if (index> 17) index = outputPointer + (12-row) -18; // vòng lặp nếu lớn hơn 17 for (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)))); // tại mỗi vị trí đèn LED sáng lên nếu bit là một}} // outputPointer trỏ đến byte thấp nhất hiện tại trong chuỗi hiển thị if (outputPointer == 0) outputPointer = 17; else outputPointer - = 1; dải.show (); }

Bước 21: Kinh ngạc thế giới với sự tuyệt vời của đàn Ukulele

Image
Image

Nguyên mẫu Ukulele cuối cùng mất khoảng 6 tháng bắt đầu và dừng lại để hoàn thành.

Rất nhiều công nghệ mới để tìm hiểu và có thể là một số lý thuyết về chế biến gỗ và âm nhạc để khởi động!

Làm gì cho phiên bản tiếp theo?

  1. Loại bỏ màn hình hiển thị và bộ mã hóa quay. Thay thế chúng bằng một mô-đun Bluetooth được gắn vào arduino. Điều khiển từ xa bằng điện thoại hoặc máy tính bảng. Mọi thứ đều tốt hơn với Bluetooth.
  2. Cập nhật từ xa các mẫu hợp âm trong thời gian thực. Một cái gì đó tốt nhất còn lại cho ứng dụng.
  3. Vỏ đèn LED. Phiên bản hiện tại không làm gì để ngăn gunk lọt vào các lỗ LED. Một người bạn đã tạo ra một loạt các ống kính nhỏ, nhưng tôi không bao giờ tìm ra cách để đặt chúng đúng vị trí.
  4. Vật liệu phím đàn thay thế, có thể là thứ gì đó rõ ràng miễn là các phím đàn giữ được.
  5. Thêm đèn! Loại bỏ ràng buộc đối với văn bản bằng cách thêm nhiều "hàng" hơn. Đây thực sự là một hạn chế gây ra bởi kích thước của phím đàn và thân đèn LED.

Một lần nữa, hãy xem hướng dẫn đi kèm có thể mô tả bộ ký tự mà tôi phải tạo để cho phép cuộn văn bản.

Cảm ơn rất nhiều vì đã làm cho nó đến nay! Mahalo!

Đề xuất: