Оглавление:

Digispark и WS2812 Радужное колесо в коробке: 4 шага (с изображениями)
Digispark и WS2812 Радужное колесо в коробке: 4 шага (с изображениями)

Видео: Digispark и WS2812 Радужное колесо в коробке: 4 шага (с изображениями)

Видео: Digispark и WS2812 Радужное колесо в коробке: 4 шага (с изображениями)
Видео: DIY xmas tree WS2812 RGB LED Digispark 🎄 2024, Ноябрь
Anonim
Image
Image
Digispark и WS2812 Радужное колесо в коробке
Digispark и WS2812 Радужное колесо в коробке
Digispark и WS2812 Радужное колесо в коробке
Digispark и WS2812 Радужное колесо в коробке

Этот крошечный проект был сделан вокруг красивой резной деревянной коробки 10x6x5 см, которую я нашла в магазине.

Его лучшая особенность, которая на самом деле не была должным образом зафиксирована камерой, - это освещение яркими, насыщенными цветами сторон резной крышки коробки с деревом.

С другой стороны, имейте в виду, что использование эффекта радуги на полосе узких светодиодов RGB 5050 всегда будет приводить к белому освещению в пределах нескольких сантиметров от светодиодов, поскольку цвет каждого пикселя вскоре смешивается с цветом его соседей. Если вы хотите избежать этого эффекта, вы можете попробовать использовать фокусирующую линзу.

Яркость лампы поддерживается пропорциональной окружающему освещению благодаря LDR: лампа будет светить в условиях дневного света и не будет слишком яркой при использовании в качестве ночника в темноте.

Запасы

Спецификация материалов:

  • одна плата Attiny85 Digispark (клон) с загрузчиком Micronucleus
  • одна штанга 8x WS2812
  • один LDR, используемый для настройки яркости лампы в зависимости от окружающей обстановки
  • один подтягивающий резистор 10 кОм для LDR
  • Микрокабель USB для программирования Digispark и питания лампы после завершения
  • полый деревянный ящик
  • источник питания 5 В⎓ (способный обеспечить не менее 500 мА)

Навыки и инструменты:

  • PlatformIO (работающая на Visual Studio Code) в качестве IDE - любая IDE Arduino выполнит эту работу, хотя
  • паяльник, припой и базовые навыки пайки
  • немного проводки, ножницы
  • немного клея, пинцет
  • немного непрозрачной краски (для покрытия светодиода Digispark и для защиты LDR от воздействия света лампы)

Шаг 1. Digispark и PlatformIO

Digispark (и каждый клон, использующий один и тот же 8-битный микроконтроллер) - это коммутационная плата, построенная на базе AVR Attiny85, способная осуществлять прямую связь по USB благодаря загрузчику Micronucleus. Дополнительную информацию можно найти на его вики:

PlatformIO - это экосистема, которую я использовал для программирования Digispark. Для работы с ним необходимо установить Visual Studio Code

Шаг 2: Схема и проводка

Схема и проводка
Схема и проводка
Схема и проводка
Схема и проводка
Схема и проводка
Схема и проводка

Пайка

  1. подключите три провода к шине WS2812 (земля, вход питания и вход данных)
  2. провод заземления и Vcc к 5V и контакту GND Digispark
  3. припаяйте оставшийся провод к контакту P0 Digispark
  4. припаиваем резистор 10кОм к контактам GND и P2 платы
  5. используйте два провода для подключения LDR к контактам 5V и P2 (я использовал едва видимые эмалированные провода из эстетических соображений)

Шаг 3: Прошивка

Найдите код этого проекта на моем GitHub:

Приятно знать:

  • При работе с PlatformIO необходимо использовать #include.
  • параметры, такие как назначение контактов, количество светодиодов WS2812, скорость радужного колеса и пороги темноты / яркости как для светодиодов, так и для LDR, находятся в начале кода
  • Adafruit Neopixel - это библиотека, используемая для управления светодиодами WS2812.
  • Библиотека RunningMedian используется для повышения стабильности показаний LDR; из-за установленных границ, отображение границ яркости светодиода, это особенно удобно в условиях низкой яркости, когда небольшое колебание может привести к раздражающему мерцанию
  • Вы не найдете попытки заблокировать Attiny85, поэтому проект останется редактируемым.

Некоторые подсказки (также присутствующие в файле README.md на GitHub):

  • Чтобы загрузить код, убедитесь, что у вас есть USB-кабель с подключенными контактами: дешевые кабели для зарядки часто имеют только + 5 В и заземлены.
  • Загрузка из PlatformIO в DigiSpark требует, чтобы вы подключили DigiSpark после компиляции, хотя консоль не предупреждает: «Теперь пора подключить DigiSpark», как это делает Arduino IDE.
  • Быстрое решение проблемы при загрузке в DigiSpark из PlatformIO в MacOS: проблема с PIO 111
  • Дешевые зарядные устройства USB могут давать грязный / шумный выход, из-за чего светодиоды могут странно мерцать, особенно при низкой яркости: убедитесь, что у вас чистый источник 5 В постоянного тока, или добавьте фильтр, добавив конденсатор (или более подходящую схему)

Шаг 4: корпус и окончательная обработка

Корпус и отделка
Корпус и отделка
Корпус и отделка
Корпус и отделка
Корпус и отделка
Корпус и отделка
  • Вырежьте отверстие в выбранной вами коробке для размещения проекта, чтобы подключить USB-кабель. Имейте в виду, что чем больше отверстие вокруг разъема micro USB, тем больше утечки света из светодиодной панели, если только вы не обеспечите непрозрачное уплотнение.
  • Вырежьте отверстие для LDR; убедитесь, что он не направлен в сторону области, которая будет освещена светодиодами, иначе автоматическая регулировка будет замкнута.
  • Выгравируйте внутреннюю поверхность, чтобы освободить место для светодиодной панели, так как вы не должны видеть светодиоды, глядя на лампу.
  • Закройте нижнюю часть LDR непрозрачной средой, чтобы избежать каких-либо помех при измерении яркости окружающей среды, вызванных полосой WS2812.
  • Используйте каплю непрозрачной краски, чтобы замаскировать светодиодный индикатор питания Digispark, чтобы он не светился внутри коробки.
  • Приклейте доску Digispark, светодиодную планку, LDR и все кабели, чтобы внутренняя часть вашей полой коробки не выглядела неопрятной.
  • Предусмотрите USB-кабель с переключателем, чтобы легко включать и выключать лампу

Рекомендуемые: