Съдържание:

Светлинно шоу на коледна елха Raspberry Pi: 15 стъпки (със снимки)
Светлинно шоу на коледна елха Raspberry Pi: 15 стъпки (със снимки)

Видео: Светлинно шоу на коледна елха Raspberry Pi: 15 стъпки (със снимки)

Видео: Светлинно шоу на коледна елха Raspberry Pi: 15 стъпки (със снимки)
Видео: BRINGING. ODESSA MAMA. FEBRUARY 18. Lard recipe. KNIVES OVERVIEW 2024, Ноември
Anonim
Image
Image

Актуализация: Публикувах актуализирана еволюция на това дърво за 2017 г. на този инструкционен

Този проект включва използването на Raspberry Pi за задвижване на 8 контакта за променлив ток, които са свързани към светлинни комплекти за коледно дърво. Променливотоковите светлини са прости едноцветни нишки, но за да се даде по -динамичен обхват на светлинното шоу, има и 25 програмируема RGB LED звезда. Едно от предимствата на използването на Raspberry Pi вместо на Arduino контролер е, че мога да изгоня звука от Raspberry Pi, за да осветявам светлините с музика (да не говорим за ползата от WiFi връзка за работа по софтуера от разстояние).

Стъпка 1: Материали

Материали
Материали

Имайте предвид, че материалите по -долу са това, което използвах за този проект. В много случаи могат да се използват алтернативни части/разтвори.

Ето материалите, които използвах за този проект:

За контролера:

  1. Raspberry Pi (B модел е това, което използвах)

    • SD карта
    • USB Wi -Fi адаптер
  2. SainSmart 8 -канален 5V SSR модулен съвет - Amazon

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

  3. Кабелни проводници - Могат да се намерят евтино в Ebay
  4. JST SM щепсел + кутии - Adafruit
  5. 32 фута ролка тел (или четири 8 фута парчета тел)
  6. Удължител x 8
  7. Блок за разпределение на захранването x 2 - AdaFruit
  8. Разклонител
  9. Захранващи устройства

    • 5 волта, 3 ампера или повече за задвижване на светодиоди и Pi
    • 5 волта, 1 усилвател или повече за задвижване на SSR модул
  10. Корпус
  11. Говорители

За звездата:

  1. 12 мм RGB светодиоди (нишка от 25) - чипът AdafruitWS2801 в този продукт позволява на Pi просто да трябва да пулсира веднъж, а не непрекъснато да пулсира линията, за да поддържа светодиодите осветени.
  2. Пластмасов лист ABS за задържане на светодиоди на място - Walmart
  3. Лист Lexan за дифузни светодиоди - Ниски
  4. Черна спрей боя
  5. Бяла спрей боя
  6. дърво

За дървото:

  1. Бяла 100 светла нишка x 4
  2. Бяла 50 светла нишка
  3. Червена 100 светла нишка x 2
  4. Зелена 100 светла нишка x 2
  5. Сини 100 светли нишки x 2

Стъпка 2: Настройте Raspberry Pi

Преди да се потопя в окабеляването, исках първо да пусна Pi и да работи, за да тествам компонентите, докато са свързани. Тази настройка е направена преди настройката на корпуса и включва Raspberry Pi, свързан чрез USB захранване към монитор и клавиатура. Целта е системата да бъде конфигурирана така, че развитието да може да продължи на Pi в заграждението.

Инсталацията Pi по подразбиране няма библиотеките, необходими за правилното задвижване на светодиодите WS2801 в звездата, затова инсталирах операционната система Occidentalis на AdaFruit на Pi.

След инсталирането на Occidnetalis беше включена малко допълнителна настройка:

1) Конфигурирайте Pi да се зарежда в командния ред (не в GUI интерфейса)

2) Настройте безжичния мрежов интерфейс на Pi, като редактирате/etc/network/interfaces. Уверете се, че сте избрали статичен IP адрес, за да можете да влезете в известен адрес, за да работите върху Pi

3) Инсталирайте Telnet и FTP услуги.

4) Инсталирайте Pygame. Библиотеката се използва в скриптовете на python за възпроизвеждане на MP3/WAV файлове

Подробни инструкции за инсталиране/настройка могат да бъдат намерени лесно чрез търсене в Интернет. В интернет онлайн има много ресурси.

След този момент мога да изключа всеки видео изход и клавиатура, защото Pi може да бъде, че можете да влезете дистанционно.

Стъпка 3: Започнете настройването на корпуса

Започнете настройването на корпуса
Започнете настройването на корпуса

Няма да навлизам в подробности за това как да построя заграждението, тъй като това е просто кутия от дърво. Пробих диагонали с диаметър 1,5 в краищата на корпуса. Отдясно е дупката, където всички удължители и звезден кабел изтичат, а отляво е дупката, където се захранват лентата за захранване и аудио изхода.

Първите компоненти за монтиране са разклонителят и Raspberry Pi. За захранване на Pi използвам същия 5V трансформатор за захранване на звездата и Pi (показан в зелено). Поради това имам захранване към клемен блок (подчертан в бяло), където 5V се разклонява към звездното окабеляване и към Pi

ПИН 2 = 5V

Пин 6 = Заземяване

След като се свържете, включете захранването и Pi трябва да се зареди и да бъде достъпен чрез Telnet като настройка в предишната стъпка.

Стъпка 4: Свързване на Raspberry Pi към релейния модул

Свързване на Raspberry Pi към релейния модул
Свързване на Raspberry Pi към релейния модул

С изключване на захранването (захранвания и Pi), свържете 5 волта към долните два външни конектора на източника на захранване. Карах това със специално захранване от 5 волта, прикрепено към разклонителя. Това е така, че Pi няма цялото натоварване за задвижване на релето (опасението е, че са включени 8 релета едновременно) и вместо това може просто да управлява транзистор, за да включи външно захранване към релето.

Сега определете местоположението на GPIO0 чрез GPIO7 на Raspberry Pi. На моя B-модел това е:

GPIO0 = Пин 11

GPIO1 = Пин 12

GPIO2 = ПИН 13

GPIO3 = ПИН 15

GPIO4 = ПИН 16

GPIO5 = ПИН 18

GPIO6 = ПИН 22

GPIO7 = Пин 7

Заземяване/0V = щифт 6, щифт 9, щифт 14, щифт 20, щифт 25

Тъй като връзката на SSR модула се завинтва в стълбове, отрязах всеки джъмпер до правилния размер въз основа на това как разпределих компонентите. Свържете всички 8 входни канала, както и земята от Pi към платката. Иглените клещи помагат за правилно поставяне на джъмперите в заглавието Pi.

Всеки канал има светодиод на SSR модула, който ще светне, когато GPIO отиде високо на Pi. Изпълнете проста програма за тестване, за да проверите всички връзки, прикрепени като test.py, където всеки GPIO0-7 е настроен високо за две секунди.

Стъпка 5: Изрежете и подгответе удължителите

Изрежете и подгответе удължителите
Изрежете и подгответе удължителите

На всеки удължителен кабел отрежете края на щепсела, оставяйки максималната налична дължина до края на кабела, тъй като евентуално ще трябва да стигне до върха на дървото. На кабела разделете краищата на проводника, като отрежете тънкото парче пластмаса, като държите двата проводника заедно. Сега отстранете краищата, така че около 1/4 жица да бъде открита за винта на съединителите.

Използвайте маркер Sharpie на всеки край на гнездото, за да напишете числата от 1 до 8, за да можете лесно да определите кой гнездо отива към кой канал на SSR модула.

Ще имаме нужда и от един щепсел, както и от допълнителен проводник за следващата стъпка, така че или да канибализираме 9 -ти удължителен кабел, или да оставим малко допълнително място на 8 -те удължителни кабела, когато отрязваме края на щепсела.

Стъпка 6: Свързване на удължителните кабели за променлив ток

Свързване на AC удължителни кабели
Свързване на AC удължителни кабели
Свързване на AC удължителни кабели
Свързване на AC удължителни кабели

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

При изключено захранване, извадете края на щепсела от предишната стъпка и го включете към захранващия кабел. Отделете другите два края и свържете всеки към горния и долния блок за разпределение на захранването и закопчайте тези две връзки надолу.

Сега свържете един от нарязаните удължители от предишната стъпка. В моя случай имам корпус с отвор с диаметър 1,5 , за да изтичат всички кабели, така че подчертан в зелено е един от кабелите с единия край, свързан към разпределителния блок, а другият към изходния край на модула SSR. За да завършим веригата, се нуждаем от много по -къс проводник (показан в синьо), който свързва другия разпределителен блок към SSR модула. Подстригване и телбод, за да поддържа всичко възможно най -спретнато. Телбодът не само поддържа нещата чисти, но и служи облекчаване на напрежението, така че всяко дърпане и дърпане при свързване на светлините към дървото няма да издърпа връзките от компонентите. Излишно е да казвам, че при телбод няма телбодът да пробие проводника или изолацията.

Стъпка 7: Тествайте свързващите устройства за променлив ток

Тествайте свързващите устройства за променлив ток
Тествайте свързващите устройства за променлив ток
Тествайте свързващите устройства за променлив ток
Тествайте свързващите устройства за променлив ток

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

Стартирайте същата тестова програма, използвана за тестване на SSR модула и се уверете, че всяка връзка свети правилно.

Кутията със светлини показваше, че всяка струна ще извлича 0,34 ампера, а за цветните светлини щях да нанижа два комплекта заедно, което трябва да доведе до общо теглене от 0,68 ампера. Това е доста под рейтинга на SSR, който е 75 - 200 VAC при 2 ампера, но аз исках да проверя отново, тъй като предпазителят на SSR модула е запоен към платката, което затруднява подмяната.

Стъпка 8: Създаване на звездата

Създаване на звездата
Създаване на звездата
Създаване на звездата
Създаване на звездата
Създаване на звездата
Създаване на звездата
Създаване на звездата
Създаване на звездата

Първата стъпка в създаването на звездата е да се направи шаблон за печат, който да помогне за оформянето на дървената рамка и пластмасата. След мащабиране и отпечатване на шаблона с подходящ размер взех парче дърво 4.25 "x 0.125" от занаятчийския магазин и измерих разстоянието, необходимо за всяка страна на звездата. Аз всъщност не скосих нито една от фугите, когато ги режех, така че оформянето на звездата изискваше опора, за да поддържа парчетата на място, докато лепи.

Поставяйки шаблона върху работната повърхност, използвах опори, за да задържа двете парчета дърво на място, както е показано в кафяво на снимката. При докосване на двата ръба на дървото, от двете страни на фугата се нанася лепило. След това взех тънко парче балса, изрязах триъгълник, за да оправя двете парчета заедно и го залепих върху звездата. Причината за използването на балса е, че след като звездата е плътно заедно, успях лесно да шлайфам триъгълника надолу, за да съответства на контура на звездата, показан в кръг в образа на звездата.

Поради метода на изграждане трябваше да изчакам няколко часа на всяко съединение, за да изсъхне лепилото, преди да премина към следващото съединение.

След като цялата звезда се формира, използвам шпакловка за гипсокартон, за да покрия пролуките, където две парчета дърво се срещнаха по върховете на звездата.

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

Поставете сглобената звезда върху листа Lexan, проследете формата на звездата и изрежете звездата от Lexan. След като изрежете звездата на Lexan, проверете дали тя се вписва в дървената рамка и след това нанесете 2 слоя бяла спрей боя върху едната страна на Lexan и оставете да изсъхне за 24 часа. Това позволява светодиодите да бъдат разпръснати, както и да ги скрият от погледа.

За да скрия капачката между звездата Lexan и дървената рамка, използвах малка ивица от балса от 0,25 "и я нарязах, за да оформя и" затворя "рамката, така че балсата да покрива празнината.

Накрая добави пръчка/дюбел, за да прикрепиш звездата към върха на дървото.

Стъпка 9: Създайте LED монтаж

Създайте LED монтаж
Създайте LED монтаж
Създайте LED монтаж
Създайте LED монтаж

Използвайки същия шаблон за оформяне на дървената звезда, изрежете ABS пластмасовия лист по размер, но малко по -малък, за да можете да вмъкнете вътре в дървената звезда. Изпробвайте дали се вписва добре в дървената звезда.

След това все още използвайте шаблона с места за отвори, пробийте 25 -те LED отвора. Светодиодите от AdaFruit имат силиконов фланец от външната страна, така че се монтират перфектно в отвори, пробити на 12 мм. На снимката можете да видите фланеца и аз използвах зелена линия, за да посоча къде ABS пластмасата ще захване фланеца, за да задържи светодиода на място.

Започнете с един от съветите и заобиколете външната страна на звездата, след това преминете към вътрешните 5 стойки, за да завършите парчето. В моята програма имам LED позиции, свързани, както е показано на фигурата в цифри, като 1 е първият светодиод след конектора.

Нанесете малко електрическа лента върху червените и сините краища на кабела. Те са вторични входове за захранване, които няма да използваме, а вместо това използваме червената/синята връзка с часовника/сигналната връзка през самия кабел.

Стъпка 10: Създаване на удължителен проводник за LED звездата

Създаване на удължителен проводник за LED звездата
Създаване на удължителен проводник за LED звездата
Създаване на удължителен проводник за LED звездата
Създаване на удължителен проводник за LED звездата

Следва създаването на 8 -футов кабел, който да преминава от корпуса до звездата в горната част на дървото.

Изрежете 4 парчета с еднаква дължина от 8 фута тел и в единия край на кабелния сноп използвайте или електрическа лента, или цип, за да поддържате снопа заедно и чист. Правете това по цялата дължина на снопа от 4 кабела на всеки няколко инча.

От двата края на снопа отстранете проводниците и запоявайте към JST конекторите, така че проводникът да може да свърже единия край към корпуса, а другия към звездата. Уверете се, че поддържате относителното положение на проводниците в правилния ред, така че когато са включени в звездата, сините/зелените/жълтите/червените връзки съвпадат в другия край на кабела. Използвайте мултицет, за да проверите кабела, за да се уверите, че е свързан правилно.

Стъпка 11: Свържете звездата към Pi

Свържете звездата към Pi
Свържете звездата към Pi

Сега трябва да създадем приемник в кутията, към който да се включи звездата/удължителния кабел.

Червено = 5 волта

Синьо = Земя

Така че можем да свържем тези две линии на JST конектора към клемния блок, към който е свързано захранването на Raspberry Pi.

Другите две връзки са:

Жълто = Данни = MOSI = Пин 19

Зелено = Часовник = SCLK = Пин 23

Следвах окабеляването от урока на AdaFruit. Така че отстранете краищата на два джъмпер кабела, така че да могат да бъдат запоени към JST конектора.

След като сте сигурни, че окабеляването ще получи правилните сигнали към светодиодите, можете да закрепите конектора в кутията за облекчаване на напрежението, така че всяко придърпване на удължителния кабел да не изтръгне джъмперите от Pi.

Стъпка 12: Тествайте LED звездата

Тествайте LED звездата
Тествайте LED звездата
Тествайте LED звездата
Тествайте LED звездата

С LED звездата, свързана към Pi. Стартирайте проста програма за тестване, за да проверите дали осветлението работи правилно. Голяма част от кода ми е адаптиран от урока AdaFruit, както и от публикация във форума на уебсайта за адаптиране на кода на урока, за да пасне на светодиодите, които използваме.

Приложеният ledtest.py ще накара звездата бавно да се превърне от чисто синьо в чисто червено.

Стъпка 13: Свържете високоговорителите, изградете горна част на корпуса

Свържете високоговорителите, изградете плот на корпуса
Свържете високоговорителите, изградете плот на корпуса

Нищо особено тук, просто свържете високоговорителите към аудиото от Raspberry Pi и ги включете в захранващата лента. Един прост захранван високоговорител с копче за регулиране на силата на звука ще работи.

За горната част исках да мога да погледна в кутията, затова монтирах парче стъкло 8,5 x 11 (от рамка за картина) към капака и използвах велкро отгоре, за да мога бързо да премахна горната част, ако е необходимо. Голяма част от корпуса е изложена на 110 VAC, така че е важно горната част да осигури защита от никого или нещо от случайно осъществяване на контакт.

Стъпка 14: Свържете осветлението към дървото

Свържете осветлението към дървото
Свържете осветлението към дървото

Избрах оформлението на каналите на коледното дърво, за да ми даде максимална гъвкавост за генериране на различни видове движение/ефекти. Приложена е снимка на това как поставих осветлението за 5 -те бели нишки. Останалите три канала бяха набор от две 100 светлинни светлини: червено, зелено, синьо.

Конкретният удължителен кабел, който включвате във всяка нишка, не е критичен, тъй като в следващата стъпка мога да персонализирам картографирането между GPIO0-7 и какви светлини са на дървото.

Стъпка 15: Заредете/създайте музика, софтуер, последователности…

Image
Image

Има многобройни коледни светлинни секвенсори, достъпни онлайн за Raspberry Pi, но аз кодирах един прост от нулата. Всички последователности бяха генерирани чрез подреждане на тайминг на бийтове/мерки в Audacity (аудио редактор) към конкретни команди към моя секвенсор.

rxmas.py

Тази програма ще избира произволно статично оформление за дървото всяка минута. Този скрипт работи при стартиране на Raspberry Pi (чрез задача cron) като поведение по подразбиране при включване на устройството.

xmas.py

Това е програма за секвенсор, която приема файл за последователност и MP3 като входове

setup.txt

В предишната стъпка предоставих оформлението, което използвах за всеки логически канал. Този файл картографира всеки действителен GPIO0-7 към логическия канал. Така че в setup.txt, който съм прикрепил, удължителният кабел на GPIO0 управлява логически канал 8 (син), GPIO1 управлява логически канал 6 (червен) и т.н.

test.mp3 / test.txt

Това е прост пример за преброяване на аудио от числа от 1 до 8 с осветяване на еквивалентни светлинни струни

Така че, за да извикаме този пример:

./xmas.py test.txt test.mp3

carol.txt

Файлът на секвенсора за Коледа в Сараево от Транссибирски оркестър

LetItGo.txt

Файлът на секвенсора за Let It Go от Frozen Movie на Disney

russian.txt

Файлът на секвенсора за "Коледа на луд руснак" от Транссибирския оркестър

Очевидно ще трябва да предоставите свои собствени LetItGo.mp3 и carol.mp3 файлове! Просто ги закупете от Amazon.

ЗАБЕЛЕЖКА: Вграденото видео в YouTube е ускорено до 110% скорост, така че може да звучи малко странно

Направете го светещ!
Направете го светещ!

Първа награда в Make it Glow!

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