Оглавление:
- Шаг 1: материалы
- Шаг 2: Настройте Raspberry Pi
- Шаг 3. Начните установку корпуса
- Шаг 4: Подключение Raspberry Pi к релейному модулю
- Шаг 5: Отрежьте и подготовьте удлинители
- Шаг 6: Подключение удлинителей переменного тока
- Шаг 7. Проверьте подключения переменного тока
- Шаг 8: Создание звезды
- Шаг 9: Создание крепления светодиода
- Шаг 10: Создание удлинительного провода для светодиодной звезды
- Шаг 11: Подключите звезду к Pi
- Шаг 12: проверьте светодиодную звезду
- Шаг 13: подключите динамики, соберите верхнюю часть корпуса
- Шаг 14: подключите освещение к дереву
- Шаг 15: Загрузить / создать музыку, программное обеспечение, последовательности…
Видео: Световое шоу на рождественской елке Raspberry Pi: 15 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Обновление: я опубликовал обновленную эволюцию этого Дерева на 2017 год по этому инструктивному
Этот проект предполагает использование Raspberry Pi для питания 8 розеток переменного тока, подключенных к осветительным приборам для рождественской елки. Светильники переменного тока представляют собой простые однотонные пучки огней, но для придания световому шоу большего динамического диапазона имеется также 25 программируемых светодиодных звезд RGB. Одним из преимуществ использования Raspberry Pi вместо контроллера Arduino является то, что я могу выводить звук из Raspberry Pi, чтобы свет был синхронизирован с музыкой (не говоря уже о преимуществе наличия Wi-Fi для удаленной работы с программным обеспечением)..
Шаг 1: материалы
Имейте в виду, что материалы ниже - это то, что я использовал для этого проекта. Во многих случаях могут использоваться альтернативные части / решения.
Вот материалы, которые я использовал для этого проекта:
Для контроллера:
-
Raspberry Pi (я использовал модель B)
- SD Card
- USB-адаптер Wi-Fi
-
8-канальная плата модуля SSR SainSmart на 5 В - Amazon
Я отказался от механических реле, так как будет заметно слышен щелчок переключателя, и мы пошли с SSR. Эта плата рассчитана на 2 AMP на SSR, что достаточно для питания цепочки рождественских огней
- Перемычки - можно дешево найти на Ebay
- Разъем JST SM + розетки - Adafruit
- 32-футовый рулон проволоки (или четыре куска проволоки длиной 8 футов)
- Удлинитель x 8
- Блок распределения питания x 2 - AdaFruit
- Удлинитель
-
Источники питания
- 5 Вольт, 3 А или больше для управления светодиодами и Pi
- 5 Вольт, 1 А или больше для управления модулем SSR
- Вложение
- Динамики
Для звезды:
- 12-миллиметровые светодиоды RGB (25 ниток) - микросхема AdafruitWS2801 в этом продукте позволяет Pi просто подавать импульс на нить один раз, а не непрерывно импульсировать линию, чтобы светодиоды оставались включенными.
- Пластиковый лист АБС для удержания светодиодов на месте - Walmart
- Лист лексана для рассеивания светодиодов - Lowes
- Черная аэрозольная краска
- Белая аэрозольная краска
- Древесина
Для дерева:
- Белые 100 световых нитей x 4
- Белая 50 светлая прядь
- Красный 100 световых нитей x 2
- Зеленая 100 светлая прядь x 2
- 100 синих светлых прядей x 2
Шаг 2: Настройте Raspberry Pi
Перед тем, как погрузиться в разводку, я хотел сначала запустить Pi, чтобы протестировать компоненты при их подключении. Эта настройка была выполнена до установки корпуса и включает в себя Raspberry Pi, подключенный через USB-порт к монитору и клавиатуре. Цель состоит в том, чтобы настроить систему таким образом, чтобы можно было продолжить разработку на Pi в корпусе.
При установке Pi по умолчанию нет библиотек, необходимых для правильного управления светодиодами WS2801 в звезде, поэтому я установил операционную систему AdaFruit Occidentalis на Pi.
После установки Occidnetalis потребовалась небольшая дополнительная настройка:
1) Настройте Pi для загрузки в командной строке (не в графическом интерфейсе пользователя).
2) Настройте беспроводной сетевой интерфейс на Pi, отредактировав / etc / network / interfaces. Обязательно выберите статический IP-адрес, чтобы вы могли войти в систему с известным адресом для работы на Pi.
3) Установите службы Telnet и FTP.
4) Установите Pygame. Библиотека используется в скриптах Python для воспроизведения файлов MP3 / WAV.
Подробные инструкции по установке / настройке можно легко найти через поиск в Интернете. На Pi в Интернете существует множество ресурсов.
После этого я могу отключить любой видеовыход и клавиатуру, потому что с Pi вы можете войти в систему удаленно.
Шаг 3. Начните установку корпуса
Я не буду вдаваться в подробности того, как построить корпус, так как это просто ящик из дерева. Я просверлил держатели диаметром 1,5 дюйма на концах корпуса. Справа - отверстие, через которое выходят все удлинители и звездообразный шнур, а слева - отверстие, через которое проходят удлинитель и аудиовыход.
В первую очередь необходимо установить удлинитель и Raspberry Pi. Для питания Pi я использую тот же трансформатор 5 В для питания звезды и Pi (показан зеленым). Из-за этого у меня есть питание, идущее на клеммную колодку (выделено белым), где 5V разветвляются на звездообразную проводку и на Pi.
Контакт 2 = 5 В
Контакт 6 = Земля
После подключения включите питание, и Pi должен загрузиться и быть доступным через Telnet в соответствии с настройкой на предыдущем шаге.
Шаг 4: Подключение 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
Земля / 0 В = контакт 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: Подключение удлинителей переменного тока
На следующем этапе к выходному концу модуля SSR подключаются 8 удлинителей. Поскольку количество проводов здесь может быть очень легко загромождено, я использовал блок распределения питания и степлер, чтобы попытаться удержать все на месте.
При выключенном питании возьмите отрезанный конец вилки из предыдущего шага и подключите его к удлинителю. Зачистите два других конца и соедините каждый с верхним и нижним блоком распределения питания и закрепите эти два соединения скобами вниз.
Теперь подключите один из отрезанных удлинителей из предыдущего шага. В моем случае у меня есть корпус с отверстием диаметром 1,5 дюйма для выхода всех шнуров, поэтому зеленым цветом выделен один из шнуров, один конец которого подключен к распределительному блоку, а другой - к выходному концу модуля SSR. Чтобы замкнуть схему, нам понадобится гораздо более короткий провод (показан синим), который соединяет другой распределительный блок с модулем SSR. Обрежьте и скрепите, чтобы все было как можно аккуратнее. Скоба не только поддерживает порядок, но и служит разгрузка от натяжения, чтобы любые тяги и тяги при подключении светильников к дереву не выдергивали соединения из компонентов. Само собой разумеется, что при сшивании скоб не допускайте, чтобы скоба пробила провод или изоляцию.
Шаг 7. Проверьте подключения переменного тока
Вместо того, чтобы подключать полные гирлянды рождественских огней, я подключил дешевые ночные светильники за 1 доллар к каждому удлинителю, чтобы протестировать и развить анимацию до того, как елка будет поднята. Я нарисовал светильники, подключенные к шнурам, которые будут управлять цепочками красного, зеленого и синего света.
Запустите ту же тестовую программу, которая использовалась для тестирования модуля SSR, и убедитесь, что каждое соединение горит правильно.
Коробка огней показывала, что каждая струна будет потреблять 0,34 ампера, а для цветных огней я собирался связать две группы вместе, что должно привести к общему потреблению 0,68 ампера. Это значительно ниже номинала SSR, который составляет 75-200 В переменного тока при 2 А, однако я хотел дважды проверить, поскольку предохранитель на модуле SSR припаян к плате, что затрудняет замену.
Шаг 8: Создание звезды
Первым шагом в создании звезды является создание шаблона для печати, который поможет придать форму деревянной рамке и пластику. После масштабирования и печати шаблона до нужного размера я взял кусок дерева размером 4,25 x 0,125 дюйма из ремесленного магазина и измерил расстояние, необходимое для каждой стороны звезды. На самом деле я не скашивал фаски ни на одном из стыков, когда резал их, поэтому для формирования звезды требовалась поддержка, чтобы детали оставались на месте во время склеивания.
Поместив шаблон на рабочую поверхность, я использовал опоры, чтобы удерживать два куска дерева на месте, как показано коричневым на картинке. Когда два края дерева соприкасались, клей был нанесен с обеих сторон шва. Затем, взяв тонкий кусок бальзы, я вырезал треугольник, чтобы соединить две части вместе, и приклеил его на звезду. Причина использования бальзы заключается в том, что как только звезда плотно прилегает друг к другу, я смог легко отшлифовать треугольник, чтобы он соответствовал контуру звезды, показанному на изображении звезды обведенным кружком.
Из-за метода строительства мне приходилось ждать несколько часов на каждом стыке, пока клей высохнет, прежде чем переходить к следующему стыку.
Как только звезда сформировалась полностью, я использую шпаклевку для гипсокартона, чтобы закрыть зазоры, в которых два куска дерева встречались на концах звезды.
Затем я приклеил несколько небольших стопоров вокруг внутренней стороны звезды, чтобы помочь зафиксировать светодиодный блок при вставке, выделенном прямоугольником. Я не верю, что они действительно необходимы, поскольку сила тяжести удерживает светодиодную сборку на месте.
Положив собранную звезду на лист лексана, нарисуйте форму звезды и вырежьте звезду из лексана. После вырезания звезды Lexan убедитесь, что она подходит к деревянной раме, а затем нанесите 2 слоя белой аэрозольной краски на одну сторону Lexan и дайте ей высохнуть в течение 24 часов. Это позволяет рассеивать светодиоды, а также скрывать их от глаз.
Чтобы спрятать колпачок между звездой из лексана и деревянной рамой, я использовал небольшую полоску бальзы толщиной 0,25 дюйма, вырезал ее по форме и «закрыл» рамку так, чтобы бальза закрывала зазор.
Наконец добавил палку / дюбель, чтобы помочь прикрепить звезду к верхушке дерева.
Шаг 9: Создание крепления светодиода
Используя тот же шаблон, чтобы сформировать деревянную звезду, вырежьте лист АБС-пластика нужного размера, но немного меньше, чтобы его можно было вставить внутрь деревянной звезды. Убедитесь, что он хорошо вписывается в деревянную звезду.
Затем, все еще используя шаблон с отверстиями, просверлите 25 отверстий для светодиодов. Светодиоды от AdaFruit имеют силиконовый фланец на внешней стороне, поэтому они идеально подходят для отверстий диаметром 12 мм. На картинке вы можете видеть фланец, и я использовал зеленую линию, чтобы указать, где пластик ABS будет взаимодействовать с фланцем, чтобы удерживать светодиод на месте.
Начните с одного из наконечников и обойдите внешнюю сторону звезды, затем перейдите к внутренним 5 креплениям, чтобы завершить работу. В моей программе положения светодиодов подключены, как показано в цифрах на картинке, причем 1 - это первый светодиод после разъема.
Оберните красный и синий концы кабеля изолентой. Это второстепенные входы для питания, которые мы не будем использовать, и вместо этого используем красно-синее соединение с соединением часов / сигнала по самому кабелю.
Шаг 10: Создание удлинительного провода для светодиодной звезды
Затем создается 8-футовый кабель для прокладки кабеля от ограждения до звезды на вершине дерева.
Отрежьте 4 куска одинаковой длины из 8-футового провода и на одном конце кабельного жгута используйте изоленту или стяжки, чтобы связка оставалась аккуратной. Проделайте это по всей длине пучка из 4 кабелей через каждые пару дюймов.
На обоих концах жгута зачистите провода и припаяйте их к разъемам JST, чтобы один конец провода можно было соединить с корпусом, а другим - со звездой. Обязательно сохраняйте относительное положение проводов в правильном порядке, чтобы при подключении к звездочке соединения синий / зеленый / желтый / красный совпадали на другом конце кабеля. Используйте мультиметр, чтобы проверить кабель, чтобы убедиться, что он подключен правильно.
Шаг 11: Подключите звезду к Pi
Теперь нам нужно создать розетку в корпусе для подключения звездообразного / удлинительного провода.
Красный = 5 Вольт
Синий = Земля
Таким образом, мы можем подключить эти две линии на разъеме JST к клеммной колодке, к которой подключено питание Raspberry Pi.
Два других соединения:
Желтый = Данные = MOSI = Контакт 19
Зеленый = часы = SCLK = контакт 23
Я следил за проводкой из учебника AdaFruit. Зачистите концы двух соединительных кабелей, чтобы их можно было припаять к разъему JST.
Если вы уверены, что проводка будет получать правильные сигналы для светодиодов, вы можете закрепить разъем в корпусе для снятия натяжения, чтобы любое натяжение удлинительного кабеля не вырвало перемычки из Pi.
Шаг 12: проверьте светодиодную звезду
Когда светодиодная звезда подключена к Pi. Запустите простую тестовую программу, чтобы убедиться, что освещение работает правильно. Большая часть моего кода адаптирована из учебного пособия AdaFruit, а также из сообщения на форуме на веб-сайте об адаптации кода учебного пособия для соответствия используемым светодиодам.
В прикрепленном ledtest.py звезда будет медленно превращаться из чисто синей в чисто красную.
Шаг 13: подключите динамики, соберите верхнюю часть корпуса
Здесь нет ничего особенного, просто подключите динамики к аудиосистеме Raspberry Pi и подключите их к удлинителю. Подойдет простой активный динамик с ручкой регулировки громкости.
Что касается верхней части, я хотел иметь возможность заглядывать в корпус, поэтому я прикрепил кусок стекла 8,5 x 11 (из рамки для картины) к крышке и использовал липучку сверху, чтобы при необходимости можно было быстро снять верх. Большая часть корпуса находится под напряжением 110 В переменного тока, поэтому важно, чтобы верхняя часть обеспечивала защиту от кого-либо или чего-либо от случайного контакта.
Шаг 14: подключите освещение к дереву
Я выбрал расположение каналов на рождественской елке, чтобы дать мне максимальную гибкость для создания различных видов движения / эффектов. Прилагаю изображение того, как я разложил освещение для 5 белых прядей. Остальные три канала представляли собой набор из двух 100 световых индикаторов: красный, зеленый, синий.
Конкретный удлинитель, который вы подключаете к каждой нити, не критичен, поскольку на следующем шаге я могу настроить сопоставление между GPIO0-7 и тем, какие источники света находятся на дереве.
Шаг 15: Загрузить / создать музыку, программное обеспечение, последовательности…
В Интернете доступно множество секвенсоров рождественских огней для 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
Файл-секвенсор для Рождественского Сараево от Trans-Siberian Orchestra
LetItGo.txt
Файл секвенсора для Let It Go из мультфильма Disney's Frozen Movie
russian.txt
Файл-секвенсор для "Безумного русского Рождества" от Trans-Siberian Orchestra.
Очевидно, вам придется предоставить свои собственные файлы LetItGo.mp3 и carol.mp3! Просто купите их на Amazon.
ПРИМЕЧАНИЕ. Встроенное видео YouTube ускоряется до 110%, поэтому это может звучать немного странно.
Первый приз в конкурсе Make it Glow!
Рекомендуемые:
Светодиодное световое шоу для одноколесного велосипеда: 5 шагов (с изображениями)
Светодиодное световое шоу на одноколесном велосипеде: Мои дети обожают кататься на одноколесном велосипеде. Однажды родилась идея добавить свет для шоу. Добавление света было бы уже круто, но, вдохновившись другими световыми шоу, свет должен быть синхронизирован с музыкой. Это было настоящее приключение
Музыкальное лазерное световое шоу: 15 шагов (с изображениями)
Музыкальное лазерное световое шоу: Прежде чем я начну, я, вероятно, должен сказать вам, что лазеры вредны для ваших глаз. Не позволяйте лазерному лучу, отражающемуся от неконтролируемого зеркала, попасть вам в глаз. Если вы не верите, что это может произойти, прочтите это: http://laserpointerforums.com/f5
Световое шоу лазерной указки с музыкальным управлением: 7 шагов (с изображениями)
Световое шоу с лазерной указкой, управляемым музыкой: в отличие от зеркала на трюке с сабвуфером, это DIY показывает вам, как создать очень дешевое, управляемое музыкой световое шоу, которое на самом деле визуализирует звук
Персональное злобное лазерное световое шоу: 5 шагов (с изображениями)
Персональное злобное лазерное световое шоу: создайте собственное персональное лазерное световое шоу из повседневных предметов. Щелкните здесь, чтобы получить свою собственную Зеленую лазерную указку Щелкните здесь, чтобы просмотреть форум по лазерной указке Обязательно ознакомьтесь с готовым продуктом в видео в конце! Ознакомьтесь с другими моими инструкциями L
Простое музыкальное световое шоу (lpt Led): 6 шагов (с изображениями)
Простое музыкальное световое шоу (lpt Led): действительно просто & дешевая световая панель, питание и управление с ПК (через порт lpt). Это будет стоить вам примерно 10-20 долларов (у меня был плексиграфический и lpt-кабель бесплатно, поэтому я заплатил всего 3 доллара за светодиодный фонарик и 3 доллара за гайки и болты) = kill