Đồ chơi fidget ANO LED (ANO LED fidget toy)
Bộ file 3D cho đồ chơi fidget dạng xoay dùng rotary encoder ANO, vòng LED 16 bóng, Adafruit Feather (RP2040 hoặc ESP32-S2/S3) và pin 400 mAh. Có các bản STL cho case, ngàm LED và tuỳ chọn nút nguồn.
Mô tả
Cập nhật (27 tháng 1, 2024):
- Thêm một phiên bản đáy vỏ (case bottom) dành riêng cho Feather RP2040, có khoét chỗ cho nút nguồn, và khoảng cách lỗ cho phần sau của ngàm (mount) hơi khác một chút.
- Bổ sung một phiên bản vỏ cho Feather ESP32-S2/S3 có khoét chỗ cho nút nguồn.
- Thêm một phiên bản ngàm/đế LED (LED mount/platform) có hình học để giữ nút nguồn cố định.
- Chỉnh lại hình học của phần lưới (grid) và nắp trên (case top) để kéo dài phần lắp ma sát (friction fit) của nắp trên thêm 1mm.
Tổng quan
Một món đồ chơi “fidget” dùng rotary encoder, lấy cảm hứng từ dự án này. Dùng cụm ANO directional navigation và rotary encoder (kèm breakout board), một vòng LED 16 LEDs, một Feather microcontroller, và pin 400 mAh. Cụm điều khiển ANO được bắt lên nắp (lid) bằng vít và ê-cu, còn nắp thì lắp vào đáy vỏ theo kiểu lắp ma sát.
Feather khuyến nghị:
Bản build khuyến nghị là dùng Feather RP2040 có nút nguồn. Bạn ghé https://adafruit-playground.com/u/squid_jpg/pages/custom-ano-fidget-firmware để xem bài hướng dẫn về firmware CircuitPython tuỳ biến, thiết kế cho thiết bị có công tắc nguồn. Firmware có nhiều chế độ fidget và một biến thể của trò chơi điện tử Simon phổ biến.
Nếu dùng Feather ESP32-S2/S3, bản build này cũng có thể kiêm luôn remote điều khiển qua WiFi.
Các phần in 3D
Bạn cần in tổng cộng 4 phần. In phần nào sẽ tuỳ Feather bạn chọn và/hoặc bạn có dùng công tắc để bật/tắt nguồn hay không.
- Đáy vỏ (Case bottom):
- Feather RP2040:
- rotary-fidget-toy-case-bottom-power-button-rp2040.stl
- Feather ESP32S2/S3:
- Có nút nguồn: rotary-fidget-toy-case-bottom-power-button.stl
- Không có nút nguồn: rotary-fidget-toy-case-bottom.stl
- Feather RP2040:
- Ngàm/đế LED (LED Mount/Platform)
- Có nút nguồn: rotary-fidget-toy-led-ring-platform-power-button.stl
- Không có nút nguồn: rotary-fidget-toy-led-ring-platform.stl
- Lưới LED (LED Grid)
- rotary-fidget-toy-led-ring-grid.stl
- Nắp trên (Case top):
- rotary-fidget-toy-case-top.stl
Thiết lập in (Print settings)
- Vật liệu: PLA
- Chiều cao lớp (Layer height): 0.2mm
- Mình dùng filament trắng và đen cho phần nắp trên, và filament đen cho các phần còn lại. Khi slice phần nắp trên/lid, in phần chính màu trắng, rồi đổi filament sang màu đen sau mốc 2.0 mm.
Supports:
- LED Grid: Để ra kết quả tốt nhất, lật ngược lại và dùng supports khi slice.
- Case bottom: Bạn có thể sẽ cần supports do phần đáy bo tròn.
- Các phần còn lại có thể in không cần supports.
Ghi chú:
- Nếu dùng công tắc nguồn, nối một đầu công tắc vào chân EN của Feather, đầu còn lại vào GND. Khi gạt về “off”, bộ ổn áp 3v3 sẽ tắt nguồn, kéo theo mọi thứ đang cấp từ đó. Bạn nên cấp nguồn cho vòng LED qua chân 3v3 để LED cũng tắt luôn khi ngắt nguồn.
- Cách làm đơn giản nhất là dùng công tắc nguồn. Tuy nhiên, nếu bạn dùng Feather ESP32-S2 hoặc -S3, bạn có thể bỏ công tắc vật lý và dùng chế độ deep sleep (đánh thức bằng bất kỳ nút nào). Để đạt mức tiêu thụ điện thấp nhất có thể (không cần thêm phần cứng) mà vẫn cho phép dùng thiết bị I2C (ví dụ như bộ monitor pin tích hợp), cần cấp nguồn cho vòng LED bằng cổng Stemma QT của Feather, với chân data của LED nối vào một GPIO không phải I2C trên Feather. Sau đó, trước khi vào deep sleep, nguồn cấp cho cổng này nên được tắt bằng code, để cắt điện LED. Hướng dẫn/BOM cho dây cáp nằm ở mục Minimal Power Consumption during deep sleep bên dưới. Nếu bạn quyết định dùng công tắc vật lý thì không cần làm mấy bước này, vì chỉ cần bật/tắt thiết bị bằng công tắc là được.
- Có kèm một phiên bản “blank” của case bottom không có hình học để bắt mount hay khoét cổng USB, giúp bạn dễ remix để dùng microcontroller của riêng bạn.
- Trong bộ file 3D có kèm một model tuỳ biến của vòng LED trong BOM.
BOM:
- Bo Adafruit Feather. Mình đã test tới giờ với:
- Vòng 16-LED (nhớ chọn loại vòng “16-bit”!)
- ANO Directional Navigation and Scroll Wheel Rotary Encoder
- ANO Breakout PCB
- Pin LiPo 400 mAh (có thể vẫn còn chỗ cho pin lớn hơn nếu bạn muốn, nhưng phải tự thử). Nếu bạn mua pin không phải từ Adafruit, NHỚ KIỂM TRA ĐÚNG CỰC (POLARITY) KHỚP VỚI ĐẦU CẮM TRÊN FEATHER!
- Nút on/off
- 4 2.5M heat sink insets (ép vào các lỗ trên phần hình học bắt Feather)
- 4 vít nylon 2.5M dài 6mm (để bắt Feather vào phần mount)
- 4 vít nylon 2.5M, dài ít nhất 8mm (để bắt ANO breakout vào case top)
- 4 ê-cu nylon 2.5M
Minimal power consumption during deep sleep (chỉ ESP32-S2/S3)
Để tiêu thụ điện thấp nhất khi ESP32 deep sleep, bạn cần làm một dây patch chuyển từ cáp Stemma QT 4-pin + GPIO của Feather sang đầu cắm male 3-pin, và hàn một đầu cắm female 3-pin lên vòng LED. Cách này cũng giúp bạn cắm/rút vòng LED dễ hơn, thậm chí thay vòng LED về sau nếu cần. Lưu ý là mình hàn dây silicone vào dây PVC của đầu connector để chống gãy do kéo (strain relief). Làm vậy dây bền hơn, ít bị đứt khi bạn nhét vào trong vỏ. Bạn sẽ cần:
- Cáp Stemma QT/4-pin JST SH (hoặc bất kỳ cáp nào có ít nhất 1 đầu female connector)
- Cặp connector JST PH 3-pin male và female
- Một ít dây silicone, 26-28 AWG là ổn vì không tải nhiều dòng. Bạn cần 2 đoạn đỏ, 2 đoạn đen, và 2 đoạn vàng (hoặc xanh lá, xanh dương tuỳ), cắt mỗi đoạn khoảng 3-4 cm.
- Ống co nhiệt (heat shrink tubing)
Lắp và hàn các connector:
- Làm dây adapter connector cho Feather
- Cẩn thận cắt/rút dây xanh dương và vàng ra khỏi đầu female Stemma QT 4-pin.
- Cắt bỏ hai dây đỏ và đen còn lại trên cáp Stemma QT, chừa lại khoảng 3-4 cm dây dính với đầu connector.
- Tuốt khoảng 2-3 mm lớp vỏ cách điện của dây đỏ/đen Stemma QT, và tuốt 2-3 mm ở một đầu của một sợi dây silicone đỏ và một sợi dây silicone đen.
- Hàn dây đỏ và đen từ đầu connector 4-pin vào các đoạn dây silicone đỏ và đen tương ứng.
- Cắt 2 đoạn ống co nhiệt dài khoảng 1 cm, luồn vào các mối hàn vừa hàn xong, rồi khò để co lại và cách điện.
- Cắt và hàn một đầu của dây silicone màu vàng vào GPIO nào trên Feather mà bạn muốn dùng để điều khiển vòng LED.
- Cắt thêm 3 đoạn ống co nhiệt (mỗi đoạn khoảng 1 cm) và luồn vào: hai đoạn cho dây silicone đỏ và đen đang nối với đầu 4-pin, và đoạn còn lại cho dây vàng đang nối vào Feather GPIO.
- Cắt bỏ dây trên đầu JST 3-pin male, chừa lại khoảng 3-4 cm dây dính với đầu connector.
- Tuốt và hàn dây của đầu 3-pin với các dây silicone gắn với microcontroller: hàn đỏ với đỏ, đen với đen, vàng với vàng.
- Trượt các đoạn ống co nhiệt đã luồn ở bước 7 vào che mối hàn rồi khò để cách điện.
- Cắm đầu Stemma QT 4-pin vào cổng Stemma QT trên Feather.
- Làm dây connector cho vòng LED
- Tuốt khoảng 2-3 mm lớp vỏ cách điện ở một đầu của các đoạn dây silicone đỏ, đen và vàng còn lại.
- Hàn dây silicone đỏ vào chân 5V trên vòng LED, dây silicone đen vào chân GND, và dây vàng vào chân DI.
- Tuốt 2-3 mm lớp vỏ cách điện ở đầu còn lại của các dây silicone vừa hàn lên vòng LED.
- Cắt bỏ dây trên đầu JST 3-pin female, chừa lại khoảng 3-4 cm dây dính với đầu connector, và tuốt khoảng 2-3mm lớp vỏ cách điện của từng dây.
- Cắt 3 đoạn ống co nhiệt, mỗi đoạn khoảng 1 cm, và luồn từng đoạn vào các dây đã hàn lên vòng LED.
- Hàn từng dây từ đầu connector 3-pin vào các dây của vòng LED.
- Trượt ống co nhiệt ở bước 5 vào che mối hàn rồi khò để cách điện.
Cuối cùng, bạn cắm đầu JST 3-pin female từ vòng LED vào đầu JST 3-pin male gắn với Feather, và vòng LED sẽ được cấp nguồn 3.3v từ cổng Stemma QT. Nguồn của cổng Stemma có thể bật/tắt bằng code.
Giấy phép
File mô hình
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!