Съдържание:

Горски пожар: 7 стъпки
Горски пожар: 7 стъпки

Видео: Горски пожар: 7 стъпки

Видео: Горски пожар: 7 стъпки
Видео: #73. Горят два садовых дома. Пожар - горе / Two garden houses are burning. Fire - grief 2024, Юли
Anonim
Image
Image

Този проект е вдъхновен от мистичния горски пожар в Game of Thrones, зеленикава течност, която при запалване избухва в зелени пламъци. Проектът се фокусира върху използването на RGB SMD5050 LED ленти за персонализирани цветови ефекти. Три стъклени предмета са оборудвани с лента от по шест RGB светодиода всеки. Arduino Uno създава огън като трептящ модел за светлините. RGB светодиодите са необходими за създаване на градиентен цветен модел от тъмнозелено до ярко зелено чак до най -ярко бяло. Един прост зелен светодиод не е достатъчен, той се нуждае от червените и сините компоненти, за да създаде ярко бяло. Като бонус, този хардуер може да произвежда всякакви други цветове. Стъклените предмети са необходими за пречупване на светлината и прикриване на действителния източник на светлина, т.е. малките, много технически изглеждащи RGB SMD5050 LED ленти.

Идеята може да бъде разширена до колкото искате обекти и каквито динамични цветни аромати искате. Тази инструкция описва как изпълних настройка с три стъклени обекта със следните цветови схеми. Схемата за горски пожар се вижда във въвеждащото видео. Останалите схеми се виждат във видео на страницата Стъпка 6 на тази инструкция.

  • Горски пожар. Игра на тронове вдъхнови огъня като зрелище.
  • Атрактор за еднорог. Спектакъл, който избледнява през цветовете на дъгата.
  • Мигайте. Случайна промяна на цвета в две различни скорости.
  • Избледняване. Плавна смяна на произволни цветове в две различни скорости.
  • Живи цветове. Оцветете обектите си със светлина, тихо трептяща около един специфичен цвят.
  • Свещи. Накарайте вашите светодиоди да имитират естествен пламък на свещ.

Конфигурацията

В основната настройка преминавате през шестте цветови схеми с едно щракване на бутон. Двойното щракване ще премине в рамките на една цветова схема от една настройка към друга, ако е приложимо. Цветните настройки могат да се добавят чрез редактиране на програмата Arduino.

В бъдеща разширена версия бутонът се заменя с платка ESP8266, която ще взаимодейства с уеб страница, която ще контролира цветовите схеми. Уеб страницата от своя страна може да се управлява с браузър на мобилно устройство. Това дава много повече разнообразие в коригирането на нещата:

  • задайте скоростта и посоката на промяна
  • задайте цвета на трептящите свещи
  • задайте яркостта и наситеността на цветовете

Тази инструкция се фокусира върху основната настройка, която включва само бутон като потребителски интерфейс.

Стъпка 1: Какво ви трябва

От какво имаш нужда
От какво имаш нужда
От какво имаш нужда
От какво имаш нужда
  • Евтина RGB LED лента, която можете да нарежете на по -къси ленти
  • Захранващ блок, за предпочитане 12 V 1.5 A нещо, което идва с RGB LED лентата
  • Arduino UNO или подобен
  • Две ULN2803AP IC: s
  • Просто натискане на бутон
  • План на Perma-Proto
  • Тел
  • Кутия за електроника
  • Някои стъклени предмети ще бъдат осветени от RGB LED ленти
  • Инструменти (машина за сваляне на тел, поялник, спойка …)

Светодиодната лента

Купих евтина LED лента, която се състои от около 90 RGB SMD светодиода. Малка единица задвижва светодиодите, променяйки цвета им. Устройството е с дистанционно управление и лентата може да променя цветовете по различни начини. Но цялата лента има същия цвят. Забавното е, че можете да изрежете лентата на малки ленти, съдържащи само три rgb светодиода във всяка лента. Всяка лента, без значение колко е дълга, трябва да се захранва с 12 V. Всяка секция от три rgb светодиода има свой собствен набор от резистори, които се грижат за спада на напрежението на светодиодите. Трябва само да осигурите 12 V и достатъчно ампери, добре, милиампери. За този проект използвам три ленти от led лентата, по 6 единици във всяка, и 12 V 1.0 A захранващ блок. Устройството за управление и дистанционното управление не са необходими.

ULN2803AP

Един светодиод се нуждае само от малко ток. Обикновено можете да запалите светодиод директно от щифт за данни на Arduino, стига да имате резистор, който пада на извода за данни 5 V до около 3 V за светодиода. Но един RGB SMD5050 светодиод се състои от три светодиода, червен, гренен и син. И за този проект използвам ленти от 6 RGB SMD5050 светодиода. Един щифт за данни на Arduino Uno контролира 6 светодиода. Само това би изпекло пина за данни, ако силата за запалване на светодиодите ще дойде от щифта за данни. Но ще има девет такива пина за данни и това със сигурност ще бъде твърде много за Arduino. Ето защо ULN2803AP започва. ULN2803AP е интегриран чип с 8 дарлингтънски транзистора. Имам нужда от 9, така че просто използвам два чипа ULN2803AP. Това ме оставя със 7 резервни транзистора, ако искам да разширя проекта, за да кажа пет обекта.

Един единствен светодиод в RGB SMD5050 LED извлича 20 mA. Шест от тях биха означавали 120 mA. Един щифт (един дарлингтънов транзистор) в ULN2803 може да потъне 500 mA. Но целият чип може да издържи максимум 1,44 W топлина, генерирана от тока. 120 mA произвежда 0,144 W. Поставям пет линии на един от чиповете ULN2803 и четири линии на другия. Това ще бъде 0,72 W на един чип и 0,58 W на другия чип. Така че трябва да съм добре. Използването на всичките 8 линии на ULN2803 с по 120 mA на всеки ще загрее чипа с 1,2 W. Той ще се нагрее, но все пак ще го понесе.

Просто обяснено, RGB SMD LED лентата получава 12 V от източника на захранване. От LED лентата, токът от всеки от трите цветни светодиода отива към собствения си щифт в ULN2803AP и по -нататък към GND. Веригата е затворена и светодиодът светва. Но ULN2803AP се включва/изключва от 5 V сигнали за данни от Arduino. Тези сигнали ще изтеглят само няколко милиампера от Arduino.

Стъклени предмети и LED ленти

Имах тези странни стъклени предмети, предназначени за лампи за чай. Изрязах плочи от брезови трупи, за да стоят върху тях и да има с какво да залепят LED лентите. Направих няколко гънки в лентите, за да ги превърна в пръстени, където отделните LED модули са обърнати нагоре. Внимавайте с гънките, за да не отрежете линиите.

Стъпка 2: Инструкции за потребителя

Устройството ще има прост потребителски интерфейс. Включва се чрез включване на източника на захранване в контакта и започва с първата цветова схема, която е Wildfire. Изключва се чрез изключване. Щракването на бутон ще премине към следващата цветова схема. Двойното щракване ще премине през подсхемите на всяка цветова схема. Ще внедря следните цветови схеми:

  1. Горски пожар. Игра на тронове вдъхнови огън като зрелище, където зелени пламъци преминават от единия стъклен предмет към другия. Този ефект ще изглежда най -ефектно, когато стъклените предмети са поставени вертикално един към друг. Три различни подсхеми са реализирани с различно темпо на пламъците.
  2. Атрактор за еднорог. Спектакъл, който избледнява през цветовете на дъгата. Избледняването става по ротационен начин, като всеки цвят се движи от един стъклен предмет към следващия. Подсхемите ще имат различни скорости на избледняване.
  3. Мигайте. Случайна промяна на цвета в две различни скорости. Подсхемите ще имат различни палитри (само напълно наситени цветове, наполовина наситени цветове, цветове само от половината от цветовия кръг)
  4. Избледняване. Плавна смяна на произволни цветове в две различни скорости. Подобни подсцеми, както в #3.
  5. Живи цветове. Оцветете обектите си със светлина, тихо трептяща около един специфичен цвят. Подсхемите ще зададат цветовете на червено, оранжево, жълто, зелено, синьо, индиго или лилаво. Трептенето се случва в 10 -градусов сектор около избрания цвят. Трите стъклени обекта имат същия избран цвят, но всеки обект има своя собствена произволно променяща се честота на трептене, за да придаде на целия комплект жив жив цвят.
  6. Свещи. Накарайте вашите светодиоди да имитират естествен пламък на свещ. Три подсхеми:

    1. "възможно най -спокойно"
    2. "отворен прозорец някъде"
    3. „беше тъмна и бурна нощ“

Стъпка 3: Няколко думи за RGB цветовете

В този раздел обсъждам моето виждане за цветовото пространство RGB. Можете доста добре да пропуснете този раздел. Просто давам известна информация защо се отнасям към цветовете на RGB светодиодите така, както го правя.

Така че RGB LED има само червена, зелена и синя светлина. Смесването им ще създаде всички цветове, които човешкото око може да разпознае (почти). Количеството на всяка част - червена, зелена или синя - обикновено се определя в цифров свят с число от 0 до 255. Напълно наситен цвят се нуждае един от цветовите компоненти да е нула и един цветен компонент да бъде 255. В този случай смисъл имаме само 1530 различни напълно наситени цветове в нашия дигитален свят.

Един от начините за моделиране на RGB пространството е куб. Един връх на куба е черен. От този връх можем да пътуваме по червения, синия или зеления ръб. Всяка точка в куба е цвят, дефиниран от неговите червени, зелени и сини координати. Пътувайки до най -далечния връх от черния връх, стигаме до белия връх. Фокусирайки се върху шестте върха, с изключение на черния и белия, можем да образуваме път, който пресича всичките шест върха, като следваме ръбовете. Всеки ръб има 256 точки или цветове. Всеки връх се споделя от два ръба, така че общият брой точки е 6 * 255 = 1530. Следването на този път обхожда всички 1530 напълно наситени цвята в цветовия спектър. Или дъгата. Върховете представляват цветовете червено, жълто, зелено, циан, синьо и пурпурно.

Всяка друга точка в куба представлява цвят, който не е напълно наситен.

  • Или точката е вътре в куба, което означава, че всички червени, зелени и сини координати се различават от нулата. Помислете за диагонала от черния връх до белия връх като линията на всички сиви нюанси. И всички "не напълно наситени цветове" вътре в куба избледняват от пълно насищане на ръба към този диагонал на "нулева наситеност".
  • Или точката лежи върху една от трите равнинни повърхности на куба, докосващи черния връх. Такъв цвят може да се счита за напълно наситен, но потъмнял. Колкото повече го затъмнявате, толкова повече той губи възприеманата си наситеност на цветовете.

Вместо пътеката с шест ръба около куба, описваща всички напълно наситени цветове, можем да поставим тези 1530 цвята в кръг, където имаме 255 различни цвята в 60 -градусов сектор - например при избледняване от червено до жълто, като добавим зелено към него. Преминаването през всички цветове в цветовия кръг е като плъзгане на три цветни контролера, един на свой ред, докато другите два са в противоположни далеч повечето позиции. Тъй като ще използвам цветовия кръг или спектъра на дъгата в някои от цветовите схеми, ще дефинирам цвят (нюанса) като точка в кръга, използвайки собствената си скала 1530:

1530 мащаб стандартен 360 мащаб

========== ================ червено 0 0 оранжево 128 30 жълто 256 60 зелено 512 120 тюркоазено 768 180 синьо 1024 240 индиго 1152 270 лилаво 1280 300 розово 1408 330

Тази скала 1530 опростява преобразуването на цветовете на дъгата в стойности за RGB светодиодите.

Защо 255 цвята във всеки раздел? Защо не 256? Е, 256 -ият цвят на един сектор е първият цвят на следващия сектор. Не можете да преброите този цвят два пъти.

И все пак няколко думи за PWM

Типичният светодиод е проектиран да свети ярко при дадено напрежение. Намаляването на това напрежение може да намали яркостта, но самият светодиод не е проектиран да се затъмнява само чрез падане на напрежението. При половин напрежение може дори да не се включи изобщо. Вместо това затъмняването се постига чрез превключване между пълно напрежение и нулево напрежение. Колкото по -бързо е превключването, толкова по -малко трептене може да разпознае човешкото око. Ако светодиодът е наполовина включен и половината от изключен, човешкото око възприема светлината така, сякаш свети с половината ефект от напълно ярък светодиод. Регулирането на съотношението между времето на пълен ефект и времето на нулев ефект е това, което затъмнява един светодиод. Това е ШИМ или широчинно -импулсна модулация.

Евтината RGB SMD LED лента, която купих за този проект, включва устройство, което се грижи за ШИМ. В този проект вместо това създавам ШИМ с Arduino UNO. Цветовото пространство RGB, както обикновено се реализира на компютърен екран, е теоретична структура, където човек си представя всеки цветен канал, притежаващ стойност от 0 до 255 и яркостта на канала линейно следва стойността. Графичната карта на компютъра може да компенсира всяко съкращение от това линейно очакване, което действителните светодиоди могат да имат. Независимо дали SMD светодиодите, използвани в този проект, следват линейно използваните стойности на PWM, не е в обхвата на този проект. ШИМ стойност 255 създава най -ярката светлина. Но стойност 128 може да не е яркост, възприемана като половината от яркостта на 255. А 192 може да не се възприема като яркост точно в средата на 255 и 128.

Стъпка 4: Схемите

Схемите
Схемите

Тук представям схемите на електрониката. Снимката показва как изглежда връзката ми. Запоявал съм чиповете, проводниците и копчето на пермо прото платка. Досега компонентите са просто свързани с проводниците, но оставям на вас да проектирате как да ги поставите в хубава кутия и как да изтеглите проводниците към LED лентите. Ако откриете 4 -жичен плосък кабел, използвайте го, защото една LED лента се нуждае от 4 проводника. Имах само 3 жичен плосък кабел, така че имах нужда от допълнителен проводник, което го направи малко грозен.

Стъпка 5: Кодът

Кодът е написан за Arduino Uno. Uno има само 6 PWM пина, но имам нужда от 9 от тях. Затова използвам специална PWM библиотека, написана от Брет Хагман. Това трябва да бъде инсталирано във вашата Arduino IDE.

wildfire.ino е основният файл на проекта, включва функциите setup () и loop (), както и някои други общи функции за всички схеми.

wildfire.h е общият заглавен файл.

Различните файлове на схеми могат да бъдат поставени като отделни раздели в проекта.

Стъпка 6: В действие

Image
Image

Стъпка 7: По -нататъшно развитие

  • Заменете интерфейса с един бутон с ESP8266, за да разрешите безжичен контакт с телефон с Android, където потребителският интерфейс е уеб страница за управление на схемите.
  • В лентата остават около 70 RGB SMD светодиода, които да се използват. Това са 24 ленти с по 3 във всяка. Още 24 канала се нуждаят от нов подход. Ще са му необходими Arduino Mega 2560 и още няколко ULN2803AP чипа, алтернативно две 16 -канални серво платки, които често се използват за светодиоди.
  • Неизползвани са и дистанционното управление за оригиналната LED лента, както и нейният приемник. Все още не съм отворил приемника, но може би може да се използва по някакъв начин. Човек може да позволи на Arduino да отвлече логиката му и да го накара да достави цифрови данни на Arduino, за да контролира светлинното шоу.

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