Съдържание:

Digispark & WS2812 Rainbow Wheel в кутия: 4 стъпки (със снимки)
Digispark & WS2812 Rainbow Wheel в кутия: 4 стъпки (със снимки)

Видео: Digispark & WS2812 Rainbow Wheel в кутия: 4 стъпки (със снимки)

Видео: Digispark & WS2812 Rainbow Wheel в кутия: 4 стъпки (със снимки)
Видео: Rainbow wheel (8x WS2812, DigiSpark, NeoPixel) 2024, Юли
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

Този малък проект е направен около добре издълбана дървена кутия 10x6x5cm, която намерих в магазин.

Най-добрата му характеристика, която всъщност не е заснета правилно от камерата, е да светне с ярки, наситени цветове, страните на дърворезбения капак на кутията.

От друга страна, имайте предвид, че използването на ефект на дъга върху лента от тесни RGB 5050 светодиоди винаги ще доведе до белезникаво осветяване на няколко сантиметра от светодиодите, тъй като цветът на всеки пиксел скоро се смесва със съседите. Ако искате да избегнете този ефект, можете да опитате да използвате фокусиращ обектив

Яркостта на лампата се поддържа пропорционална на околната светлина благодарение на LDR: лампата ще свети при дневна светлина и няма да бъде прекалено ярка, когато се използва като нощна светлина, на тъмно.

Консумативи

Сметка на материалите:

  • една дъска Attiny85 Digispark (клониране) със своя Micronucleus буутлоудър
  • един 8x WS2812 бар
  • един LDR, използван за настройка на яркостта на лампата в зависимост от околната среда
  • един 10KΩ издърпващ се резистор за LDR
  • USB микро кабел за програмиране на Digispark и за захранване на лампата след като е свършена
  • куха дървена кутия
  • източник на захранване 5V⎓ (способен да осигури не по -малко от 500mA)

Умения и инструменти:

  • PlatformIO (работи на Visual Studio Code) като IDE - всяка Arduino IDE ще свърши работа
  • поялник, малко поялник и основни умения за запояване
  • малко окабеляване, ножици
  • малко лепило, пинсета
  • малко непрозрачна боя (за покриване на Digispark LED и за защита на 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. запоявайте 10KΩ резистор към GND и P2 щифтове на платката
  5. използвайте два проводника за свързване на LDR към 5V и P2 щифтове (използвах едва видими емайлирани проводници от естетически причини)

Стъпка 3: Фърмуер

Намерете кода за този проект на моя GitHub:

Добре е да знам:

  • #include трябва да се използва по време на работа с PlatformIO
  • параметрите, като разпределение на щифтове, брой светодиоди WS2812, скорост на колелото на дъгата и тъмни/ярки прагове както за светодиоди, така и за LDR са в началото на кода
  • Adafruit Neopixel е библиотеката, използвана за управление на светодиодите WS2812
  • Библиотеката RunningMedian се използва, за да направи LDR показанията по -стабилни; поради зададените граници, картографиране на границите на яркостта на LED, това е особено приятно при условия на ниска яркост, където малка колебание може да доведе до досадно трептене
  • Няма да намерите опит за заключване на Attiny85, така че проектът ще остане редактируем

Някои съвети (появяват се и във файла README.md на GitHub):

  • За да качите кода, не забравяйте да имате USB кабел с всеки свързан щифт: евтините кабели за зареждане често имат само +5V и заземени кабели
  • Качването от PlatformIO в DigiSpark трябва да включите DigiSpark след компилиране, въпреки че конзолата не предупреждава „сега е време да включите вашия DigiSpark“, както прави Arduino IDE.
  • Бързо отстраняване на проблем при качване в DigiSpark от PlatformIO на MacOS: Проблем PIO 111
  • Евтините USB зарядни устройства могат да осигурят мръсен/шумен изход, което може да накара светодиодите да примигват странно, особено при ниска яркост: уверете се, че имате чист 5VDC източник или да филтрирате, като добавите кондензатор (или по -подходяща верига)

Стъпка 4: Корпус и довършителни работи

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

Препоръчано: