Русский
Русский
English
Статистика
Реклама

Потолок

Перевод Делаем звёздное небо на потолке при помощи оптоволокна и Arduino

02.07.2020 10:04:35 | Автор: admin




Хотите увидеть кусочек галактики у себя на потолке? Как это сделать рассказано ниже.

Несколько лет я мечтал о том, чтобы выполнить этот проект, и вот он, наконец, готов. На его реализацию ушло приличное время, но итоговый результат получился настолько замечательным, что оно того стоило.

Немного о самом проекте. Я старался делать всё своими руками по-максимуму, что дало мне полную творческую свободу. В итоге у меня есть созвездия северного полушария, контроль над звёздными скоплениями при помощи пульта д/у (яркость и цвет), реакция на музыку, контроль подсветки, и, что самое важное возможность изменить всё, что угодно.

В качестве платформы для всего этого я выбрал Arduino, поскольку знаком с его программированием. За реагирование на музыку отвечал чип MSQ7EQ в интернете полно его описаний. Для связи я использовал завалявшийся у меня NRF24L01. Для управления большим количеством светодиодов хорошо подошёл контроллер сервоприводов PCA9685. Если вам хочется сделать что-то попроще и подешевле, вы можете поискать на Amazon готовые наборы, но если вам интересно делать всё самому, как мне тогда вам потребуются следующие навыки:
Знакомство с программированием Arduino.
Опыт разработки электрических схем и пайки.
Работа с переменным током.

Многие спрашивают у меня стоимость всего проекта. Довольно сложно дать конкретную цифру, поскольку я потратил много материалов, и всё зависит от того, какую часть вы решите делать самостоятельно, от размера проекта и т.п., однако, я думаю, что он может уложиться в вилку от нескольких сотен до тысячи долларов. Я работал над ним по выходным, и на всё про всё у меня ушло порядка года.

Шаг 1: планирование






Для начала нужно решить, покупать электронную часть или делать самому. Для изготовления схем требуется разбираться в Arduino и основах электроники, и кроме того, есть шанс где-то накосячить. На Amazon и в других магазинах можно найти множество наборов по фразе Fiber Optic Star Ceiling Kit, так что вариантов тут масса. Но если вам нужна полная творческая свобода и контроль, тогда лучше всё делать самому.

Определившись с электроникой, стоит подумать о структуре потолка, размере звёздной карты и количестве звёзд. Я выбрал вариант с обычным потолком из гипсокартона. У меня низкий потолок, и было достаточно сложно устанавливать оптоволокно, поэтому я остановился на относительно небольшом количестве звёзд, 1200 шт, однако результат всё равно получился потрясающим.

Теперь по выбору звёздного рисунка. Я живу в северном полушарии, поэтому выбрал ту часть неба, что здесь видна. Множество приложений демонстрирует рисунки созвездий я использовал Celestia (как в этой инструкции по изготовлению собственного звёздного неба). Естественно, никто не заставляет делать рисунок звёздного неба реалистичным и в верном масштабе тут у вас полная творческая свобода, а в интернете можно найти кучу идей.

Шаг 2: материалы


Теперь, когда всё распланировано, можно заказывать материалы.

Материалы для самого потолка я перечислять не буду, тут всё зависит от используемой системы и других факторов. Я использовал потолок от Knauf. То же касается и инструментов большая их часть понадобится вам только для установки потолка. Для установки самих звёзд и электроники требуется не так уж много см. список. Много чего я купил в местных магазинах, а остальное заказал на AliExpress так дешевле, а качество обычно приемлемое.

Для звёзд и электроники потребуются:
Блок питания для светодиодных полос, мощность зависит от длины. В интернете можно найти ресурсы, помогающие подобрать БП для светодиодов. В моём случае у меня был импульсный БП на 12 В, 30 А, 350 Вт для ленты длиной 15 м. При этом ленты требуют по 14,4 Вт/м, поэтому у меня был хороший запас.
БП для светодиодов на 3 Вт. Зависит от количества светодиодов, а в моём случае это был БП на 5 В, 7 А, 35 Вт для 15 светодиодов и Arduino. Если вы выберете стандартные RGB светодиоды 5 мм, тогда можно взять БП попроще, однако звёзды будут уже не такими яркими.
RGB светодиоды на 3 В с общим анодом и радиатором (или обычные 5 мм светодиоды, если вам не нужна большая яркость). Один светодиод управляет одним скоплением звёзд, поэтому количество зависит от того, сколькими звёздами нужно управлять отдельно.
Светодиодная ленты 12 В.
Оптоволокно. Леска не подойдёт. Количество зависит от количества звёзд, размера потолка, местоположения управляющей схемы. Я для усиления эффекта использовал волокна разной толщины.
Платы PCA9685. С одной платы можно управлять 5-ю RGB светодиодами.
Arduino Uno/Mega 2.
NRF24L01 2.
USB-кабель для питания Arduino.
Логические транзисторы IRL540N. Количество зависит от количества полосок светодиодов. 1 шт на один цвет одной полоски. Ограничение длины полоски 5 м. Если нужно больше, используйте дополнительные полоски. Также существуют варианты соединения полосок в одну длинную смотрите в гугле.
Транзисторы 2N2222 (или другие n-p-n). На каждые 3 Вт одного цвета светодиодов нужно по транзистору. В моём случае это было 153.
Резисторы. 2 Вт 10 Ом / 2 Вт 6,8 Ом / 2 Вт 6,8 Ом для R, G и B на каждый светодиод 3 Вт соответственно. 5 притягивающих резисторов на 10 кОм, каждый по 0,25 Вт.
Конденсаторы на 10 мкФ для развязки NRF24L01.
Алюминиевая пластина для фиксации и охлаждения 3 Вт светодиодов.
Платы для схем.
Макетные платы для тестирования.
Шурупчики, фанера, клейкая лента и всё такое, что есть в любой мастерской.
Куча проводов разной толщины. Для ШИМ-сигналов можно использовать тонкие провода для прототипирования, но для светодиодных полосок и 3 Вт светодиодов толщину проводов нужно считать в зависимости от расстояния от схемы до светодиодов.

Для пульта д/у и спектрального анализатора:
MSGEQ7 1
Резисторы 1 470 / 1 180k / 1 33k .
Конденсаторы:1 33 пФ / 1 0.01 мкФ / 1 0.1 мкФ.
Термопаста для процессоров.
ИК пульт д/у и фотодиод для приёмника
Куча тонких проводов.
Небольшая макетная плата. Я использовал Proto Shield.
Небольшой корпус для Arduino. Я сделал корпус при помощи лазерной резки.
Другие компоненты, относящиеся к основной схеме. Их количество указано в списке компонентов основной схемы.

Инструменты для установки и пайки:
Прозрачный клей, не растворяющий оптоволокно. Я использовал простой канцелярский.
Оборудование для пайки.
Мультиметр не будет лишним.
Отвёртка.
Пассатижи.
Шило или что-то похожее для проделывания отверстий в потолке. Толщина совпадает с толщиной оптоволокна.

Шаг 3: установка потолка




Детально установку расписывать не буду в сети есть куча материалов по установке навесного потолка, а я не эксперт в этом вопросе. Такой подход сложнее обычного решения со звёздной панелью, которое выбирает большинство людей. Но зато у меня получился качественный подвесной потолок, который днём смотрится абсолютно нормально.

Специально для обслуживания электроники я сделал лючок в самой малозаметной части потолка.

На этом шаге делается шпатлёвка и грунтовка, а покраска уже после установки оптоволокна.

Шаг 4: установка оптоволокна














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

Соображения:
Рекомендую приклеивать оптоволокно в отверстиях, чтобы оно не выпадало. Клей должен быть прозрачным и не реагировать с оптоволокном. Я использовал простой канцелярский.
Сверлить ничего не надо, отверстия можно проделать простым шилом, совпадающим по диаметру с оптоволокном.
Для разметки точного местоположения звёзд я использовал только рулетку. Не на 100% точно, но нормально. Для печати карты звёздного неба потолок был великоват.

Шаг 5: окончание отделки потолка покраска



Мы красили прямо по оптоволокну, поэтому когда оно не светится, его не видно. Всё выглядит как обычный потолок. После двух слоёв краски яркость оптоволокна осталась почти такой же.

Шаг 6: пробная схема










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

Моя тестовая версия это одна-две платы PCA9685, NRF24L01 и блоки питания, соединённые с Arduino. Всё можно делать на макетных платах. То же касается и схемы пульта д/у натыкали всё на макетку, и проверили, что всё работает. Я бы также посоветовал припаять несколько 3 Вт светодиодов для проверки.

Шаг 7: код для Arduino




Библиотеки и другие полезные ссылки я собрал в разделе полезная информация. Объяснения по работе кода содержатся в комментариях к нему.

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

В коде содержится довольно сложная функция для мигания светодиодами. Для улучшения внешнего вида я использовал обучающий материал, где описано, как сделать дышащее мигание: sean.voisen.org/blog/2011/10/breathing-led-with-arduino

Человеческий глаз не воспринимает яркость света линейно, поэтому простое линейное увеличение яркости выглядит ненатурально.

Код приёмника

Код передатчика

Шаг 8: подключение проводов и светодиодных полосок



















Время финального подключения! Если всё проверено и всё работает, подключение должно пройти без особых проблем просто пайка кучи одинаковых комплектующих. Для удобства обслуживания всей схемы я сделал коробку из фанеры по размеру технического лючка поэтому при необходимости я могу просто вынуть всю схему из потолка. Оптоволокно я провёл по пластиковым сантехническим трубам, размер которых примерно совпадает с 3 Вт светодиодами, а потом просверлил отверстия того же диаметра в фанере и вставил их туда. Таким образом я легко могу отсоединять оптоволокно от светодиодов по необходимости.

Светодиодные полоски предлагаю крепить на алюминиевых пластинах для охлаждения, поскольку они сильно греются.

Шаг 9: отладка и тонкая подстройка




Допустим, вы проверили схему, но после того, как установили её, она не работает или что-то ещё не работает, как надо. Тогда проблема, скорее всего, в пайке если в тестовой сборке всё работало, то и в финальной тоже должно. Надеюсь, что это не ваш случай, однако в качестве примера я приведу одну из проблем, с которыми столкнулся сам.

Когда я понижал яркость светодиодов до минимума, полоски могли перестать работать или начать мигать. Потратив огромное количество времени на исследования и отладку, я обнаружил, что проблема была в медленном переключении IRL540, а решение в простом понижении частоты ШИМ до 50 Гц. Проблема почти решилась, и мигание осталось только на самых низких величинах однако это не имеет значения, поскольку я их не использую. Проблема вернулась, когда я решил снять ролик об этом потолке, поскольку такую небольшую частоту хорошо видно на камерах это всё равно, что снимать телевизор. Для решения этой проблемы я собрал на макетной плате небольшую схему, использовав транзисторы 2N2222 вместо IRL540, просто для съёмки видео.

Теперь, когда всё на месте и работает, можно заняться тонкой подстройкой яркости звёзд, реагированием на музыку, режимами затухания и всем остальным.

Шаг 10: полезная информация и ссылки


MSGEQ7


www.sparkfun.com/datasheets/Components/General/MSGEQ7.pdf

www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html

rheingoldheavy.com/msgeq7-arduino-tutorial-01-getting-started

www.instructables.com/id/How-to-build-your-own-LED-Color-Organ-Arduino-MSGE

Nrf24L01


arduinoinfo.mywikis.net/wiki/Nrf24L01-2.4GHz-HowTo

PCA9685


learn.adafruit.com/16-channel-pwm-servo-driver/overview

github.com/adafruit/Adafruit-PWM-Servo-Driver-Library

ИК пульт д/у


github.com/z3t0/Arduino-IRremote

Шаг 11: идеи для развития


Было бы классно разработать мобильное приложение для управления потолком, возможно, используя OpenHAB на Raspberry Pi, поскольку PCA9685 управлять через RPi довольно легко.

А если использовать OpenHab или его альтернативу, то звёздный потолок легко можно соединить с системой умного дома.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru