Mục lục:

Digispark & WS2812 Rainbow Wheel trong hộp: 4 bước (có hình ảnh)
Digispark & WS2812 Rainbow Wheel trong hộp: 4 bước (có hình ảnh)

Video: Digispark & WS2812 Rainbow Wheel trong hộp: 4 bước (có hình ảnh)

Video: Digispark & WS2812 Rainbow Wheel trong hộp: 4 bước (có hình ảnh)
Video: Build a Wifi-Enabled Shadow Box Internet Clock with NeoPixel Visualization #adafruit #tutorial 2024, Tháng mười một
Anonim
Image
Image
Digispark & WS2812 Rainbow Wheel in a Box
Digispark & WS2812 Rainbow Wheel in a Box
Digispark & WS2812 Rainbow Wheel in a Box
Digispark & WS2812 Rainbow Wheel in a Box

Dự án nhỏ này đã được thực hiện xung quanh một hộp gỗ 10x6x5cm được chạm khắc độc đáo mà tôi tìm thấy trong một cửa hàng.

Tính năng tốt nhất của nó, điều chưa thực sự được ghi lại trên máy ảnh, là sáng lên với màu sắc tươi sáng, bão hòa, các mặt của nắp hộp được chạm khắc hình cây.

Mặt khác, hãy lưu ý rằng việc sử dụng hiệu ứng cầu vồng trên dải đèn LED RGB 5050 hẹp sẽ luôn dẫn đến ánh sáng trắng trong phạm vi vài cm tính từ đèn LED, vì màu của mỗi pixel sẽ sớm trộn lẫn với màu của các điểm ảnh xung quanh. Nếu bạn muốn tránh hiệu ứng này, bạn có thể thử sử dụng một số thấu kính lấy nét

Độ sáng của đèn được giữ tỷ lệ thuận với ánh sáng xung quanh nhờ LDR: đèn sẽ sáng trong điều kiện ánh sáng ban ngày và không quá sáng khi được sử dụng làm đèn ngủ, trong bóng tối.

Quân nhu

Hóa đơn nguyên vật liệu:

  • một bảng Attiny85 Digispark (bản sao), với bộ nạp khởi động Micronucleus
  • một thanh 8x WS2812
  • một LDR, được sử dụng để điều chỉnh độ sáng của đèn tùy thuộc vào môi trường xung quanh
  • một điện trở kéo lên 10KΩ cho LDR
  • cáp micro USB để lập trình Digispark và cấp nguồn cho đèn sau khi hoàn thành
  • một hộp gỗ rỗng
  • nguồn điện 5V⎓ (có khả năng cung cấp không nhỏ hơn 500mA)

Kỹ năng và công cụ:

  • PlatformIO (chạy trên Visual Studio Code) làm IDE - bất kỳ IDE Arduino nào cũng sẽ thực hiện công việc
  • mỏ hàn, một số dây hàn và các kỹ năng hàn cơ bản
  • một số dây, kéo
  • một số keo, nhíp
  • một số sơn mờ (để che đèn LED Digispark và để bảo vệ LDR khỏi bị ảnh hưởng bởi ánh sáng đèn)

Bước 1: Digispark và PlatformIO

Digispark (và mọi bản sao liên quan đến cùng một bộ vi điều khiển 8 bit) là một bảng đột phá được xây dựng xung quanh AVR Attiny85, có khả năng giao tiếp USB đơn giản nhờ bộ nạp khởi động Micronucleus. Vui lòng tìm thêm thông tin trên wiki của nó:

PlatformIO là hệ sinh thái tôi đã sử dụng để lập trình Digispark. Để làm việc với nó, bạn phải cài đặt Visual Studio Code

Bước 2: Sơ đồ và đấu dây

Sơ đồ và hệ thống dây điện
Sơ đồ và hệ thống dây điện
Sơ đồ và hệ thống dây điện
Sơ đồ và hệ thống dây điện
Sơ đồ và hệ thống dây điện
Sơ đồ và hệ thống dây điện

Hàn

  1. kết nối ba dây với thanh WS2812 (nối đất, đầu vào nguồn và đầu vào dữ liệu)
  2. dây nối đất và Vcc đến chân 5V và GND của Digispark
  3. hàn dây còn lại vào chân P0 của Digispark
  4. hàn điện trở 10KΩ vào các chân GND và P2 của bảng
  5. sử dụng hai dây để kết nối LDR với chân 5V và P2 (tôi sử dụng dây tráng men hầu như không nhìn thấy vì lý do thẩm mỹ)

Bước 3: Phần mềm cơ sở

Tìm mã cho dự án này trên GitHub của tôi:

Rất vui được biết:

  • #include phải được sử dụng khi làm việc với PlatformIO
  • các thông số, như chỉ định của chân, số lượng đèn LED WS2812, tốc độ bánh xe cầu vồng và ngưỡng tối / sáng cho cả đèn LED và LDR đều ở đầu mã
  • Adafruit Neopixel là thư viện được sử dụng để điều khiển đèn LED WS2812
  • Thư viện RunningMedian được sử dụng để làm cho các bài đọc LDR ổn định hơn; do các ranh giới được thiết lập, ánh xạ ranh giới độ sáng của đèn LED, điều này đặc biệt tốt trong điều kiện độ sáng thấp, nơi một sự dao động nhỏ có thể dẫn đến nhấp nháy khó chịu
  • Bạn sẽ không tìm thấy bất kỳ nỗ lực nào để khóa Attiny85, vì vậy dự án sẽ vẫn có thể chỉnh sửa

Một số gợi ý (cũng xuất hiện trong tệp README.md trên GitHub):

  • Để tải mã lên, hãy đảm bảo có cáp USB với mọi chân có dây: cáp sạc giá rẻ thường chỉ có + 5V và có dây nối đất
  • Việc tải lên từ PlatformIO lên DigiSpark cần bạn cắm DigiSpark sau khi biên dịch, mặc dù bảng điều khiển không cảnh báo "bây giờ đã đến lúc cắm DigiSpark của bạn", như Arduino IDE đã làm.
  • Khắc phục sự cố nhanh chóng khi tải lên DigiSpark từ PlatformIO trên MacOS: PIO issue 111
  • Bộ sạc USB giá rẻ có thể cung cấp đầu ra bẩn / nhiễu, có thể làm cho đèn LED nhấp nháy kỳ lạ, đặc biệt là ở độ sáng thấp: hãy đảm bảo có nguồn 5VDC sạch hoặc lọc thêm tụ điện (hoặc một mạch phù hợp hơn)

Bước 4: Chạm vào vỏ & hoàn thiện

Cảm ứng vỏ & hoàn thiện
Cảm ứng vỏ & hoàn thiện
Cảm ứng vỏ & hoàn thiện
Cảm ứng vỏ & hoàn thiện
Cảm ứng vỏ & hoàn thiện
Cảm ứng vỏ & hoàn thiện
  • Khắc một lỗ trên hộp bạn chọn để lưu trữ dự án, để cắm cáp USB của bạn. Lưu ý rằng lỗ xung quanh đầu nối micro USB càng lớn thì ánh sáng từ thanh đèn LED của bạn càng bị rò rỉ, trừ khi bạn không cung cấp một số bịt mờ.
  • Khắc phục lỗ hổng cho LDR; đảm bảo rằng nó không hướng về phía khu vực sẽ được chiếu sáng bởi đèn LED, nếu không điều chỉnh tự động sẽ rơi vào một vòng lặp
  • Khắc bề mặt bên trong để tạo khoảng trống cho thanh đèn LED, vì bạn không muốn trực tiếp nhìn thấy đèn LED khi nhìn vào đèn của mình
  • Bịt kín bằng một phương tiện không trong suốt ở dưới cùng của LDR, để tránh bất kỳ sự can thiệp nào vào độ sáng của môi trường cảm biến gây ra bởi thanh WS2812
  • Sử dụng một giọt sơn mờ đục để che đi đèn led công suất Digispark, tránh để nó chiếu vào bên trong hộp
  • Keo dán bảng Digispark, thanh LED, LDR và mọi dây cáp để tránh nội thất hộp rỗng của bạn trông rối mắt
  • Biết trước cáp USB có công tắc, để dễ dàng bật và tắt đèn

Đề xuất: