Jump to content
  • Sign Up
  • Language

Archived

This topic is now archived and is closed to further replies.

Recommended Posts

ColorPlay
Adalight – это светодиодный комплект из категории «сделай сам». При помощи него,  вы сможете добавить к вашему монитору, телевизору или домашнему кинотеатру потрясающие световые эффекты изменяющиеся в реальном времени в зависимости от общего фона воспроизводимого изображения. Вдохновением для идеи стали LCD телевизоры Philips.
 

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

Программное обеспечение является кросс-платформенным с открытым исходным кодом, и совместимо с самыми популярными операционными системами, такими как Windows, Mac и Linux. Технически подкованные люди, могут внести свои собственные изменения и дополнения к нему, например поддержку больших дисплеев, поддержку нескольких мониторов или телевизоров, или же иные дополнительные новые функции.

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

 

Основные компоненты проекта.

Для реализации этого проекта вам понадобятся:

  • Digital RGB LED Pixels WS2801 (Цифровые точечные светодиоды RGB)
Цифровые точечные светодиоды RGB.jpg

Это цифровые точечные светодиоды, которые и будут создавать фоновое свечение. Под управлением программного обеспечения, можно изменять цвет и яркость каждого светодиода (пикселя) с изменением в реальном времени (анимация).

Стандартная цепочка светодиодов состоит из 25 штук отдельных светодиодов. Ее длинны и количества пикселей (светодиодов) хватит для реализации фоновой подсветки монитора или телевизора с диагональю до 27 дюймов (70см).

  • Контроллер Arduino Uno 
Контроллер Arduino Uno купить.jpg

Это микроконтроллер,  который связывает программное обеспечение на компьютере со светодиодными огнями посредством порта USB.

  • Программное обеспечение «Processing»
Программное обеспечение Processing.jpg

Это программное обеспечение является средой для написания программного исходного  кода  для разработчиков мультимедийных приложений. Работает одинаково хорошо на операционных системах Windows, Mac и Linux. Если вы ранее никогда не занимались программированием, то ничего страшного. Мы предоставим вам первоначальный исходный код, который нужно будет просто установить и все заработает.

  • Дополнительные материалы
блок питания для светодиодов с выходом 5 Вольт.jpg

В дополнение к вышеперечисленному, вам понадобится блок питания для светодиодов с выходом 5 Вольт постоянного тока мощностью 10A, специальный переходник для подсоединения светодиодов к блоку питания, кабель USB для подключения контроллера к компьютеру. 

Необходимое программное обеспечение.

Вам необходимо загрузить три установочных пакета:

  • Arduino IDE (Integrated Development Environment) 
ссылка на программу: http://arduino.cc/en/Main/Software
На сайте Arduino выберете установочный пакет,  подходящий для вашей операционной системы и скачайте его. Для правильной установки программы на ваш компьютер внимательно прочитайте руководство по установке, доступное по ссылке: http://arduino.cc/en/Guide/HomePage
  • Processing IDE 

Скачайте и установите программную среду для создания исходного кода. Рекомендации по установке программы написаны в первом разделе руководства доступного по ссылке: http://processing.org/learning/gettingstarted/

  • Adalight ZIP 
Скачайте архив с исходными кодами Adalight. Распакуйте его и переместите необходимые файлы в требуемые папки на вашем компьютере. Показано на рисунке ниже:
Adalight.png

Описание общего процесса работы с компонентами:

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

подсветка телевизора_монитора.jpgподсветка телевизора_монитора 2.jpgподсветка телевизора_монитора 3.jpgподсветка телевизора_монитора 4.jpgподсветка телевизора_монитора 5.jpgподсветка телевизора_монитора 6.jpg

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

Электрическое соединение всех компонентов.

Подсветка ambilight.jpgПодсветка ambilight 2.jpgПодсветка ambilight 3.jpg

Для начала, необходимо подключить светодиоды к контроллеру и блоку питания. Обратите внимание, что цепочка светодиодов имеет вход и выход. Входом считается разъем без дополнительных проводов для питания (тип «папа»), на выходном штекере присутствует два отдельно выведенных провода для подключения внешнего источника питания (тип «мама»). К контроллеру светодиоды подключаются входным разъемом, это важно. Если требуется удлинить кабель, то вы можете использовать удлиняющие провода с игольчатыми наконечниками (размер наконечника подбирается по разъему). Красный (плюсовой) провод к контроллеру не подключается, он используется для питания светодиодов и будет подключен к блоку питания 5 Вольт с конца цепочки светодиодов. Если же вы не хотите использовать отдельные провода, то можно приобрести специальный штекер, опять же,  не забудьте отрезать от него плюсовой провод. 

Подключите три провода с входа светодиодной цепочки к цифровому выходу на следующие контакты контроллера Arduino UNO: Синий провод подключается к контакту с маркировкой «GND». Зеленый провод подключается к контакту №13 (SPI синхронизация), желтый к контакту №11 (SPI данные). Красный провод не подключается.

Теперь с другого выходного конца цепочки, подключите питание от блока питания на красный и синий провод.

В итоге у вас должна получиться вот такая схема:

интерактивная подсветка.png

Соответственно, контроллер подключается к компьютеру при помощи кабеля USB.

Затем загрузите все необходимое программное обеспечение, установите его согласно инструкциям и можете приступать к программированию контроллера Arduino Uno и настройке программного обеспечения.

Порядок программирования подробно описан в оригинале инструкции по адресу: 

https://learn.adafruit.com/adalight-diy-ambient-tv-lighting?view=all#running-the-software

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

Помните, что предложан вариант с минимальным набором светодиодов и функций. Проявляйте фантазию, расширяйте возможности системы, увеличивайте количество светодиодов и количество мониторов и у вас получаться замечательные индивидуальные проекты. Система очень хорошо масштабируется и при должном техническом навыке у вас не возникнет проблем с реализацией ваших проектов! Дерзайте!

Полная инструкция доступна по адресу: https://learn.adafruit.com/adalight-diy-ambient-tv-lighting?view=all#

Share this post


Link to post
Share on other sites
_MW_

130-дюймовый проекционный экран с подсветкой Ambilight

Подсветка Ambilight.jpgПодсветка Ambilight_2.jpgПодсветка Ambilight_3.jpg

Шаг 1: Что потребуется?

Подсветка Ambilight_4.jpgПодсветка Ambilight_5.jpgПодсветка Ambilight_6.jpgПодсветка Ambilight_7.jpgПодсветка Ambilight_8.jpg

Для экрана:

Материал для экрана: Была выбрана свето не пропускающая белая ткань для проекционных экранов. С ее видами можно ознакомиться на сайте carlofet.com.  Благодаря ее свойствам, она может быть хорошо натянута на основание.
Рамка для экрана: Алюминиевый профиль и различные фасонные элементы для его сборки, в основном это уголки 90 градусов.
Полиуретановые трубки: Они будут использоваться для фиксации экрана на раме. Дальше будет показано, как это сделать, а сама идея была позаимствована с этого видео


Для светодиодной подсветки Ambilight:

Светодиодная лента WS2812B - это индивидуально адресуемые светодиоды RGB, была куплена на aliexpress
Микроконтроллер Teensy2 и плата Octo 2811 –они будут управлять светодиодами. Многие используют Arduino для запуска библиотек Ambilight, но если вам надо управлять большим количеством светодиодов, то микроконтроллер Teensy 3.2 лучше с точки зрения производительности.
Источник питания (выход 5V): Надо подобрать соответствующий источник питания по мощности, в зависимости от общей длины светодиодных полосок. В данном случае, используется 260 светодиодов, и мощности блока питания 100 Вт более чем достаточно. Светодиоды WS2812B потребляют около 0,3 Ватт на один светодиод.


Шаг 2: Изготовление каркаса рамы

Подсветка Ambilight_9.jpgПодсветка Ambilight_10.jpgПодсветка Ambilight_11.jpgПодсветка Ambilight_12.jpg

Используя соединительные фасонные элементы (уголки, планки и т.д.) и «Т» - образные гайки с болтами, надо собрать каркас рамы экрана. Этот шаг очень прост и не должен вызвать у вас каких-либо затруднений. Только имейте в виду, что прорезь в алюминиевом профиле должна получиться с наружного торца.

Каркас можно сделать и из дерева, но обычно оно меняет свой размер в зависимости от влажности и веса, в отличие от профилей. Поэтому рекомендуется использовать алюминиевый профиль.

Шаг 3: Растяжка и фиксация ткани на экране с помощью полиуретановых трубок

Подсветка Ambilight_13.jpgПодсветка Ambilight_14.jpgПодсветка Ambilight_15.jpgПодсветка Ambilight_16.jpgПодсветка Ambilight_17.jpgПодсветка Ambilight_18.jpgПодсветка Ambilight_19.jpg

Растяните вашу ткань над поверхностью рамы. Затем нарежьте небольшие отрезки полиуретановой трубки. Перед покупкой трубок, правильно подберите их диаметр, они должны плотно входить в прорезь алюминиевого профиля, в данном случае идеально подошли трубки диаметром 10 мм.

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

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

Этот шаг отнимает много времени и требует большой аккуратности, так как от него зависит конечный результат.

Шаг 4: Тестирование полотна

Подсветка Ambilight_20.jpgПодсветка Ambilight_21.jpgПодсветка Ambilight_22.jpgПодсветка Ambilight_23.jpg

Этот шаг является не обязательным, но лучше его выполнить. Дело в том, что при проверке была обнаружена небольшая деформация рамы, и для того чтобы это исправить пришлось добавить два усилителя из профиля с обратной стороны. К счастью этого помогло решить проблему. Вот почему рекомендуется выполнить этот шаг, возможно у вас тоже все окажется не очень ровным.

Шаг 5: Создайте LED макет, и прикрепите его!

Подсветка Ambilight_24.jpgПодсветка Ambilight_25.jpgПодсветка Ambilight_26.jpgПодсветка Ambilight_27.jpgПодсветка Ambilight_28.jpgПодсветка Ambilight_29.jpg

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

Посчитав падение напряжения и скорости передачи сигнала данных, было решено разделить длинную светодиодную ленту на четыре отдельных группы (полоски). Таким образом, получились группы по 65 светодиодов (260/4). Если одна группа будет содержать большое количество светодиодов, то будет заметна замедленная реакция в работе подсветки Ambilight или же будет заметно мерцание светодиодов.

Если вы используете плату Octo WS2811, то вы можете разделить до 8 групп. Чем меньше светодиодов в одной группе, тем лучше, но при этом появляются проблемы связанные с увеличением количества проводов.

Для упрощения подключения, линия питания подключаются параллельно сразу к двум группам 1-3 и 2-4 соответственно. Линия данных подключается отдельно к каждой группе.

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

Шаг 6: Подключение

Подсветка Ambilight_30.jpgПодсветка Ambilight_31.jpgПодсветка Ambilight_32.jpgПодсветка Ambilight_33.jpgПодсветка Ambilight_34.jpgПодсветка Ambilight_35.jpg

Линия данных (и GND) светодиодных полос подключены к плате Octo WS2811 через сетевой кабель шестой категории CAT 6.

Этот сетевой кабель имеет 4 группы витых пар. Каждая группа имеет цветной и белый провод. Линия данных на светодиоды подключается к цветному проводу, а линия GND к белому проводу. Более подробную информацию по подключению проводки к адаптеру Octo WS2811 вы можете на сайте https://www.pjrc.com/store/octo28_adaptor.html

В данном случае подключается четыре группы светодиодов, поэтому потребовался только один сетевой кабель. Если вы будете подключать больше групп (но не более 8), то вам потребуется два сетевых кабеля. Адаптер OctoWS2811 имеет два порта, так что с помощью микроконтроллера Teensy 3.2. можно управлять всего 8 группами светодиодов.

Для подключения светодиодных лент рекомендуется использовать быстросъемные разъемы типа «мама» и «папа».

Затем вам нужно будет подключить питание +5V к светодиодам от вашего блока питания, и аккуратно проложить провода к светодиодным лентам, а также проложить провод для подключения блока питания к розетке 220V.  Не используйте слишком тонкие провода, светодиоды потребляют довольно большой ток.

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

При помощи двусторонней липкой ленты, с обратной стороны экрана, посередине был закреплен блок питания и микроконтроллер. Для надежности был добавлен крепеж из винтов и гаек.

Шаг 7: Установка экрана

Подсветка Ambilight_35.jpgПодсветка Ambilight_36.jpgПодсветка Ambilight_37.jpgПодсветка Ambilight_38.jpgПодсветка Ambilight_39.jpgПодсветка Ambilight_40.jpg

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

После чего можно подключить ваш экран к розетке и компьютеру.

Шаг 8: Загрузить  код "Adalight", установить программу "Ambibox" и наслаждаться!

Подсветка Ambilight_41.jpgПодсветка Ambilight_42.jpgПодсветка Ambilight_43.jpgПодсветка Ambilight_44.jpgПодсветка Ambilight_45.jpg

 

Загрузите программный код Adalight в микроконтроллер, установите программное обеспечение Ambibox на компьютер, подключите микроконтроллер к компьютеру через порт USB, и после выполнения всех настроек можете наслаждаться вашим творением.

Программный код для микроконтроллера доступен по адресу: https://github.com/adafruit/Adalight

Программное обеспечение для компьютера Ambibox, можно скачать по ссылке: http://www.ambibox.ru/

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

В данном проекте использовался самодельный проектор с разрешением 1920 х 1200. Если вам интересно, то можете ознакомиться с инструкцией по его изготовлению: http://bumhee34.tumblr.com/post/95531456737/2nd-diy-fhd-projector-with-200w-led

Источник:  instructables

Share this post


Link to post
Share on other sites
Woody_MC

недостаток данной системы в том, что работает она только при отображении видео с ПК, другие источники "прогонять" через ПК очень накладно.

 

Share this post


Link to post
Share on other sites

  • Similar Content

    • ws2812
      By ws2812
      Программируемые светящиеся очки RGB Shades
      Светящиеся очки RGB Shades – это яркие, модернизируемые, светодиодные очки которые могут изменять цвет «линз» со стороны окружающих людей. Они являются новейшим решением в области портативных, носимых светодиодных технологий. Если вам нужен потрясающий, модный аксессуар без дополнительных проблем по написанию программного кода, то это именно то, что вам нужно! В микроконтроллер уже загружены ослепительные световые эффекты, вам остается только собрать готовый аксессуар.

      Что такое светодиодные очки RGB Shades?
      Это модный молодежный аксессуар, выполненный в виде солнцезащитных очков с программируемыми световыми эффектами, отображаемые на передней панели, которая содержит 68 полноцветных пикселей. Светодиоды могут отображать различные цвета, путем смешивания уровней яркости красного, зеленого и синего света. Хотя светодиоды и очень яркие снаружи, они практически не видны изнутри, можно увидеть только оттенки света. Программируемый микроконтроллер (Arduino-совместимый) зажигает каждый пиксель отдельно с определенным цветом, что позволяет отобразить широкий диапазон красочной анимации.

      Открытая аппаратная платформа
      Основываясь на успехе программного обеспечения с открытым исходным кодом, все большее число разработчиков аппаратной части выпускают свои проекты под либеральными лицензиями. Идея заключается в том, что совместное использование вашей работы, а также поощрение других к совместному использованию, может сделать продукт более распространенным, что позволяет его поддерживать, модернизировать и улучшать дизайн. Так что, если вы когда-нибудь захотите заглянуть “под капот” ваших новых светодиодных очков, для вас будут доступны проектные файлы OSHW после окончания проекта на Kickstarter.
      Планы по развитию проекта
      Сделать дополнительный белый цвет оправы
      В предстоящем серийном производстве, светодиодные очки предположительно будут иметь гладкую черную форму, но когда этот момент настанет, покупателям будет предложен опрос, по результатам которого возможно будет добавлен белый цвет оформления. На данный момент, очки имеют зеленый цвет PCB-платы. Создать ультра обтекаемый интегрированный микроконтроллер
      В настоящее время, конструкция очков имеет отдельный микроконтроллер, который крепится болтами к правой душке очков RGB Shades. Если проект будет пользоваться большим спросом, что позволит собрать денежные средства, будет приобретен персональный USB Vendor ID (16-битный идентификатор, однозначно определяющий USB устройство). Это позволит уменьшить количество чипов, а также интегрировать управляющую электронику прямо внутрь правой душки очков. Она будет упрощена до минимального размера и веса, а также, возможно будет иметь гораздо более изящный вид. Поскольку микроконтроллер будет не съемным, левая душка очков будет оставлена пустой для возможности модернизации очков самими владельцами. Но даже если всего этого не случится, все равно планируется выполнить упрощение платы управления до минимально возможных размеров, насколько это позволяет конструкция. Как работают светящиеся очки RGB Shades?
      Каждый пиксель, который используются в проекте, содержит небольшой чип, который принимает входящие команды, устанавливает цвет светодиода, и передает команды следующему пикселю. Передняя панель представляет собой печатную плату, которая объединяет все светодиоды в одной зигзагообразной строке. Для определения физического местоположения светодиодов на печатной плате, используется специально составленная программная карта.
      Программа хранится внутри микроконтроллера на базе чипа Atmel ATmega328, расположенного на другой печатной плате. Эта плата управления имеет интерфейс USB для загрузки новых программ, выключатель питания и две кнопки для взаимодействия с программой. Микроконтроллер и исходный код совместим с популярным открытым исходным кодом кроссплатформенной среды программирования Arduino. Это означает, что вы можете написать или загрузить программы с компьютеров под управлением ОС Windows, Mac OSX и Linux, используя бесплатное программное обеспечение. А также, вы будете иметь доступ к огромному сообществу экспертов Arduino, книг, и примеров, если захотите узнать, как писать свои собственные программы.

      Обеспечение питания
      Питание (5 вольт) подается либо через разъем USB, либо через припаянные провода. Хоть светодиодные очки RGB Shades очень яркие, иногда они потребляют совсем немного энергии. Лучшим решением для питания схемы было использовать литий-ионный аккумулятор USB, поскольку многие люди уже имеют их в наличии. Они просты в использовании и имеют большую энергоемкость, рекомендуется использовать аккумуляторы, которые могут обеспечить номинальный ток минимум 1000 мА и обладают емкостью как минимум 2000mAh. В обычных условиях, такого аккумулятора хватит на 2-3 часа непрерывной работы, после чего его надо будет зарядить. В данный момент, на рынке существуют аккумуляторные сборки, которые обладают гораздо большей емкостью при сравнительно небольших размерах.

      Почему не используется максимальная яркость?
      Каждый пиксель светодиодных очков RGB Shades содержит три светодиода (по одному каждого цвета). Это 204 светодиода! Если бы они все работали на максимальной яркости, потребовалось бы обеспечить номинальный ток около 3,6 ампера на 5 вольт ... или 18 Вт мощности. В качестве грубого сравнения, можно привести светодиодную лампу, которая потребляет всего 6 Вт и при этом светится, как старая лампа накаливания мощностью 40 Ватт. Носить эти светодиодные очки при максимальной яркости, равносильно тому, что носить на лице две лампочки по 60 Ватт! Светодиоды смогут осветить, целую комнату, при этом они будут выделять очень много тепла и быстро сажать аккумулятор. Поэтому используется только 1/5 их возможной яркости, но они по-прежнему светятся очень ярко на близком расстоянии, и особенно в темном помещении. Некоторые поклонники даже просили уменьшить яркость еще больше! Если вы самостоятельно подправите программный код и включите светодиоды на полную яркость, будьте предельно осторожны, так как это может привести к неисправности аккумуляторной батареи и даже ее возгоранию!
      Возможности модернизации
      Вы можете писать собственные программные коды для очков с помощью программы Arduino IDE или добавлять в схему различные типы датчиков для взаимодействия с внешним миром. Вот пример видео, показывающего, как можно добавить в схему очков аудио датчик для взаимодействия со звуками или музыкой (для просмотра перейдите на отметку времени 5:45):
      Процесс проектирования и создания прототипа
      Первая попытка создания прототипа светодиодных очков RGB Shades состоялась примерно в марте 2013 года, но тогда получилось создать только одноцветные очки LED Matrix Shades (использовался другой тип светодиодов), но параллельно продолжались эксперименты со светодиодами WS2811. Конструкция прототипа была создана примерно через день в программе Eagle CAD. Через неделю были готовы печатные платы и распаяны все компоненты. У очков не было собственного микроконтроллера, поэтому для тестирования они были подключены к контроллеру Arduino, но оказалось, что его довольно неудобно носить с собой. Петли для установки ушек были напечатаны на 3D-принтере, смотрелись отлично, но это значительно замедляло производство. Тем не менее, первый прототип RGB очков имел ошеломляющий успех, что подвигло всю команду на дальнейшую работу по усовершенствованию аксессуара.
      Первый прототип RGB Shades с петлями, напечатанными на 3D-принтере:

      Тем не менее, потребовалось некоторое время, чтобы продолжить развитие проекта. Команда была занята работой над одноцветными светодиодными очками LED Matrix Shades, переездом офиса, и рядом других проектов. В апреле 2014 года была возобновлена работа над этим проектом. Команда хотела показать второй прототип очков RGB Shades на выставке Maker Faire в городе Сан-Франциско, но для этого необходимо было сделать ре-дизайн печатной платы, так как светодиоды WS2811, используемые в первом прототипе уже устарели, и их надо было заменить на WS2812B.

      Печать петель на 3D-принтере, была узким местом производства. После долгих рассуждений, пришла новая гениальная идея по созданию петель. Печатные платы изготавливаются машинами под высокоточным компьютерным управлением. Почему бы не создать набор петель, которые сочетаются друг с другом, как головоломка, и изготавливать их в виде тех же PCB деталей? В результате появился второй прототип с шарнирными частями, которые могли производиться быстро и в любом объеме!

      Новые петли оказались на удивление крепкими, и даже отлично складывались вместе! К ним также были добавлены некоторые компоненты крепежа из нержавеющей стали - винты, гайки и шайбы. Поскольку вся конструкция была смоделирована в программе 3D CAD, отсутствовали ошибки с размерами или зазорами в подвижных частях.

      Также была разработана индивидуальная плата микроконтроллера, которая устанавливается на душку очков. Отличительной особенностью является то, что она не припаивается к оправе очков RGB Shades. Для подключения используются небольшие пружинные контакты, расположенные под платой контроллера, поэтому, для соединения требуется закрутить только два крепежных винта. Это дало возможность создавать дополнительные платы с контроллерами, которые имеют дополнительные функции или другие типы процессоров.
      Варианты комплектов поставки:
      Первоначальный вариант (EARLY ACCESS): Количество комплектов ограниченно! Он очень похож на текущий рабочий прототип, но все же отличается от обновленного дизайна. Эти ранние версии очков полностью функциональны и работают также замечательно. Этот вариант предлагается как в собранном виде, так и в виде набора деталей для самостоятельной сборки, которая требует немного пайки.

      Вариант для собственных экспериментов (HACKER EDITION): Светодиодные очки RGB Shades основаны на популярных светодиодах WS2812B, которые имеют большие возможности для настройки и использования. Если вы хотите, чтобы ваша система работала под управлением ваших собственных решений, то вы можете выбрать этот комплект, в котором содержится только массив светодиодов, набор каркасных частей и крепеж.

      Каркасный вариант (BARE BONES EDITION): В этом комплекте содержаться только каркасные PCB-детали и крепежные элементы, позволяющие собрать каркас светодиодных очков RGB Shades. В комплекте отсутствует какая-либо электроника, включая светодиоды и микроконтроллер. Этот комплект рассчитан на собственноручный выбор элементов и самостоятельную разработку программного обеспечения.

      Вариант в виде готового продукта Этот вариант предполагает поставку готовых светодиодных очков RGB Shades в окончательном, завершенном варианте в будущем. Предполагается, что они будут доступны как в собранном виде, так и в виде комплекта деталей для самостоятельной сборки. Возможно, будут доступны варианты с разной окраской.
      Купить программируемые светодиодные очки RGB Shades: macetech
      Источник: kickstarter
    • ColorPlay
      By ColorPlay
      Светодиодный баннер на контроллере Raspberry  Pi
      Изготовления простого светодиодного экрана, в данном случае светодиодного баннера, можно наглядно увидеть в этом видео:
      В качестве светодиодов была использована управляемая светодиодная лента, с RGB светодиодами и драйверами LPD8806. под управлением контроллера Adafruit Raspberry  Pi

      Схема изготовления led баннера довольно проста, и под силу каждому начинающему. За основу был взят обычный штендер, обычно используются в рекламных щитах.  На него при помощи пластиковых хомутов были закреплены светодиодные ленты, помещенные в прозрачные пластиковые трубки. Соответственно было подведено питание от отдельного блока питания,  и все они были подключены к линии данных и линии синхронизации к контроллеру Raspberry  Pi.
      Контроллер заранее запрограммирован в соответствии с количеством используемых светодиодов, изображение и анимация загружаются в него отдельно с компьютера через порт USB. Такой светодиодный баннер легко масштабируется, что позволяет его сделать совершенно разных размеров (есть только аппаратные ограничения контроллера).
      Как видите, реализация светодиодной рекламы очень проста и не требует больших усилий!
    • ColorPlay
      By ColorPlay
      Сервопривод + программируемая светодиодная лента NeoPixel   Проблема совместимости библиотек светодиодов NeoPixel  и сервоприводов.
      Однопоточный протокол управления, используемый NeoPixels, требует очень устойчивого соединения со скоростью передачи данных до 800 килобит в секунду. В нем допускается не большой процент ошибок, но он очень мал. Каждый бит должен быть передан с точно контролируемой скоростью. Библиотека Adafruit NeoPixel обрабатывает все эти сигналы в фоновом режиме, тщательно рассчитывая время каждой команды машинного кода. Для каждого пикселя есть 24 команды:

      Между тем, Arduino, как правило, в небольшие отрезки времени обрабатывает прерывание, т.е. выполняет определенные события и ситуации, которые должны быть обработаны немедленно. Вы, как правило, не замечаете этого, но прерывания все же обрабатываются в фоновом режиме. В это время ваш основной машинный код останавливается, вызывается подпрограмма обслуживания прерывания, и после возобновляется выполнение вашего основного кода, с того места в котором он был прерван. Прерывания помогают работать функциям Arduino’s delay() и millis(), а также функции Serial.read(), и другим всевозможным вещам.

      Тут-то вся и проблема. Даже очень короткий и простой способ обработки прерывания будет нарушать работу деликатной синхронизации NeoPixel. Таким образом, библиотека NeoPixel временно отключает обработку всех прерываний при записи данных в полоску светодиодов, а затем вновь позволяет им работать, когда закончит запись.
      Такие совпадения редко являются проблемой. Вы, возможно заметили, что функции millis() и micros() простаивают в эскизах (sketches) NeoPixel (отсчет времени останавливается, когда происходит запись на полосу светодиодов), что, как правило, притормаживает сервопривод.
      Возникает вопрос, что сервоприводы также имеют очень специфические требования по времени их синхронизации, и библиотека Arduino сервопривода использует прерывания для достижения этой цели. Таким образом, каждый раз, библиотека NeoPixel выключается прерывания, даже на мгновение, сервоприводы будут простаивать, и соответственно их положение в итоге будет не предсказуемо. Как грустно!

      Одним из способов решения этой проблемы является использование других особенностей AVR микроконтроллеров на ядре Arduino для управления сервоприводами без использования прерываний, как мы объясним на следующей странице. Это сложная тема, но очень полезная вещь, чтобы узнать о таком тонком нюансе. Если дальнейшее объяснение технически сложное  для вашего текущего уровня квалификации, или если вы хотите просто использовать нашу библиотеку, а это нормально, то можете пропустить технические аспекты.
      Есть аппаратные обходные пути, которые гораздо более гибкие. Наш 16-канальный 12-битный ШИМ Servo Driver (в двух секционных форматах) разгружает задачу серво управления при помощи чипа специального назначения. Так NeoPixels не может вмешиваться в работу сервопривода. Эти платы могут быть объединены "стек" для управления десятками (потенциально даже сотнями) сервоприводов! Для сложных проектов, которые, вероятно могут возникнуть. 
      Общие сведения о AVR Peripherals

      В обычном компьютере, под словом «периферийные» устройства, мы обычно подразумеваем себе такие вещи как принтер, сканер, USB диски и прочее.
      В отношении микроконтроллера, это же слово имеет несколько иной смысл. Периферийным устройством микроконтроллера, является небольшой кремниевый чип, выделенный из микропроцессора CPU (часть микроконтроллера, которая на самом деле обрабатывает машинный код), на который возложены специфические задачи, выполняемые независимо от процессора. 
      Некоторые из периферийных устройств микроконтроллера AVR в Arduino включают в себя аналого-цифровой порт (используемый функцией analogRead() ), последовательный порт UART (связь с компьютером, как и при использовании последовательного, обеспечивает связь с библиотекой и при передачу кода в чип), порт SPI (Serial Peripheral Interface иногда используется для SD карты и для сопряжения между прочими устройствами) и порт I2C (другой способ связи между чипами, поддерживаемый библиотекой Wire).
      Из интересующих нас в данный момент периферийных устройств, является Таймер / счетчик, который точно измеряет временные интервалы, которые могут быть использованы для широтно-импульсной модуляции (ШИМ, иногда используется для управления яркостью светодиодов или звука). ШИМ выход из таймера / счетчика периферийного устройства может быть использован для управления сервоприводами без участия прерываний процессора. NeoPixels и сервоприводы могут сосуществовать! Это не все цветочки, хотя ... есть некоторые серьезные ограничения ... мы рассмотрим их позже.
      Специальный материал.
      Непосредственное управление периферийными устройствами очень отличается от обычного программирования Arduino. По этой причине, большинство команд аккуратно запаковано в специальных библиотеках (или же в самой библиотеке ядра Arduino, которая сама обрабатывает большинство часто используемых функций, таких как digitalWrite() или analogRead() ).
      Разработка кода на этом уровне, человек начинает со спецификации к микроконтроллеру  ... массивного документа, в котором подробно расписан каждый последний бит и измеримый атрибут чипа. Эти данные опубликованы (и, как правило, их можно свободно загрузить с интернет сайта производителей чипов). Эти технические описания являются уникальными для каждого конкретного чипа и его разновидностей. Например:
      «ATmega 328P Datasheet»   (Arduino Uno, Adafruit Pro Trinket, etc.). 34.3 MB.
      http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf
      «ATmega 32U4 Datasheet» (Arduino Leonardo & Micro, Adafruit FLORA, etc.). 7.5 MB.
      http://www.atmel.com/Images/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf
      «ATmega 2560 Datasheet» (Arduino Mega). 8.4 MB.
      http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf
      «ATtiny85 Datasheet» (Adafruit Trinket & Gemma). 3.8 MB.
      http://www.atmel.com/Images/Atmel-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-ATtiny85_Datasheet.pdf 
      Да, это действительно 650 страниц технической информации. К счастью, вы не должны читать все это. Но с этим надо ознакомиться!
      Периферийное управления включает в себя доступ к регистрам специальных функций чипа, нескольким десятков адресов памяти, которые могут быть прочитаны, письменные или модифицированные, или как переменные. Но каждый байт ... часто отдельные биты внутри каждого байта ... сложные аспекты управления конкретных периферийных устройств.
      Как и переменные, регистры специального назначения называются по имени ... это все было определены в файле заголовка, который автоматически включен в программный код.
      Например, чип ATmega328P в Arduino Uno и Adafruit Pro Trinket имеет три таймера/счетчика единиц (таймер/счетчик 0, 1 и 2 - каждый имеет свой собственный раздел в файле заголовке). Использование частоты 16 МГц процессора (часы), как временную базу, каждый может отсчитывать интервалы где-то между 1 и 256 временного такта, но таймер/счетчик 1 представляет особый интерес, потому что это 16-разрядный счетчик ... он может считать в любом диапазоне от 1 до 65536 такта, обеспечивая много дополнительных возможностей для этой задачи. Подраздел "Register Desription" описания деталей, дает техническое описание каждого из регистров специального назначения, связанных с таймером/счетчиком.

      На рисунке выше показано описание специальной функции с именем регистра TCCR1A и отдельных битов контроля. Всем этим контрольным битам тоже присвоены имена, каждому из которых соответствует одно битное число от 0 до 7, их надо помнить, при написании кода, либо использовать макрос _BV (бит) или (1 << бит) при определении битов регистра; несколько битов может быть добавлено (+) или соединены через логическое ИЛИ OR(|) вместе. Обычно должны быть настроены несколько регистров,  чтобы получить полезные функции.
      Вот несколько строк из нашей библиотеки сервопривода (которую можно будет скачать  далее), показывающие, как это выглядит:
      TCCR1A = _BV(WGM11);                                                         // Mode 14 (fast PWM)
      TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS11);     // 1:8 prescale
      ICR1   = F_CPU / 8 / 50;                                                           // ~50 Hz (~20 ms)
      Едва ли похоже на код Arduino, не так ли? Если вы когда-либо создавали программный код, вы наверное использовали "Buh?". Скорее всего, это прямой доступ к регистрам специального назначения.
      Вы должны будете прочитать соответствующие разделы спецификации, чтобы полностью понять, что происходит и почему, но в основном: первые две строки - это установка специальной функции регистров TCCR1A и TCCR1B, чтобы настроить режим генерации сигнала таймера/счетчика 1 (в "fast PWM " (быстрая ШИМ) в данном случае),  и установить делитель – на "тик" время - вперед счетчика каждые 8 тактов процессора,  вместо каждого цикла. Следующая строка (ICR1) устанавливает верхний лимит счетчика/таймера (после которого он перезапускается с нуля) и, таким образом, общее время ШИМ. Немного математики, здесь присутствуют такие переменные: частота процессора в Гц (F_CPU)и частота импульса сервопривода (50 Гц). Чтобы определить это значение ... на Arduino частота процессора 16МГц, то вычисление выглядело бы следующим образом  16,000,000 ÷ 8 ÷ 50 = 40000 тиков на один цикл ШИМ.
      В других частях кода,  есть строки, подобные этим:
      TCCR1A ^= _BV(COM1A1);
      OCR1A   = pos;
      Первая строка переключает (^ является XOR оператор в C) бит COM1A1 в специальной функции регистра TCCR1A. Это разрешает или запрещает PWM (ШИМ) выход на выводе OC1A (который отмечен в другом месте в спецификации ... на Uno, это контакт 9). Вторая строка устанавливает выход сравнения регистра на том же контакте – рабочий цикл ШИМ – его значение хранится в переменной «pos».
      Сложная вещь, не так ли? Рассмотрите все это поэтапно. Помните, что это всего лишь  создание и очистка бита. Очень, очень, очень конкретного бита. Не вините себя, если что-то не заработает в первый раз, или второй, или 23 ... от нескольких проектов я просто вынужден был отказаться, потому что я никогда не мог сделать их наугад. Периферийные устройства AVR одни из самых трудных вещей Arduino. Более сложное программирование может быть только на языке ассемблера. Именно поэтому существуют библиотеки Arduino, которые избавляют нас от сложностей аппаратного программирования.
      Периферийные устройства это огромная тема, гораздо больше, чем мы затронули здесь (помните, это 650 страниц технического описания), но я хотел, обеспечить высокий уровень объяснения и понимания очень низкоуровневой технической специфики.
      Заключение
      Окупаемости всей этой тяжелой работы? В случае применения этой библиотеки, NeoPixels и сервоприводы отлично работают вместе. В более широком смысле, гораздо более отлаженно. Байт в байт, цикл для цикла, там просто нет лучшего, чем стратегия оптимизации использования встроенных периферийных устройств микроконтроллера. После настройки и запуска, ноль командных циклов тратятся на выполнение задачи. Параллельно запускается другой код, в то время как периферийные устройства делают свою работу - это явный вид многозадачности.
      Достоинства и недостатки.
      Производительность это не главное. Это часто сильно увеличивает стоимость, но не добавляет гибкости, давайте рассмотрим:
      • Периферийные устройства и регистры специальных функций являются уникальными для каждого производителя и модели микроконтроллера. Чтобы использовать их, нужно ограничить себя очень специфическим кругом оборудования. Код, который выполняет волшебные функции на Arduino Uno, не будет работать на Arduino Due ... можно даже не компилировать ... они основаны на совершенно разных архитектурах. Наша библиотека работает на наиболее распространенных 8-разрядных микроконтроллерах AVR.
      • Периферийные устройства чрезвычайно ограниченный ресурс, гораздо больше, чем даже ОЗУ или пространство кода. Существует ровно один 16-разрядный таймер/счетчик на Arduino Uno. Это может легко привести к конфликтам библиотеки ... например, библиотека WaveHC (которая играет WAV файлы с SD карты) также опирается на таймер/счетчик 1. В этом случае будет конфликт с NeoPixels.
      • ШИМ выход из блока таймера/счетчика ограничен очень специфическим набором контактов. На Arduino Uno, вы не можете контролировать более двух сервоприводов одновременно, и они должны быть на контактах 10 или 11. На Leonardo и Micro, не более четырех сервоприводов на контактах 5, 9, 10 или 11. 
      • Микроконтроллеры Trinket и Gemma не имеют даже 16-разрядный таймер. Есть только 8-разрядный таймер, при его использовании, у сервопривода возможно только лишь 8 различных положений, и соответственно плавное движение становится невозможным.
      Ранние версии "официальной" библиотеки Arduino для сервопривода работали именно так, как мы описываем здесь ... используя ШИМ выход из таймера/счетчика 1. Это уже позже перешли на технику прерывания в основе, с выгодной поддержкой многих сервоприводов на любых контактах. Там не было очевидных недостатков, NeoPixels не было даже вообще в природе, пока они не появились совсем недавно!
      Описание библиотеки The TiCoServo Library
      Если вы просто хотите, загрузить и использовать библиотеку, это полностью нормально. Пожалуйста, ознакомьтесь, что бы быть в курсе следующих ограничений:
      • Эта библиотека работает только на некоторых Arduino-совместимых платах. Все наиболее распространенное оборудование с 8-битной архитектурой AVR микроконтроллеров должно хорошо работать (Arduino Uno, Duemilanove, Leonardo, Mega, Pro Trinket, Teensy 2 и прочие.). "Обрезанные" платы, использующие другие микроконтроллеры (Arduino Due, Teensy 3, и т.д.) могут тоже работать.
      • На микроконтроллерах Trinket и Gemma возможно всего восемь сервопозиций, не будет плавности хода (на Pro Trinket должно быть все нормально).
      • Сервоприводы работают только на очень ограниченном количестве контактов, ниже приведена распиновка для различных микроконтроллеров:
      Микроконтроллер- Контакты для сервопривода
      Arduino Uno, Duemilanove, Diecimila, Adafruit Pro Trinket, Boarduino, Menta (anything w/ATmega328P or ATmega168) - 9, 10
        Arduino Leonardo, Micro - 5, 9, 10, 11   Adafruit FLORA - D9, D10   PJRC Teensy 2.0 (not Teensy+ or 3.X) - 4, 9, 14, 15   Arduino Mega - 2, 3, 5, 6, 7, 8, 11, 12, 13, 44, 45, 46   Adafruit Trinket - 1, 4   Adafruit Gemma - D1   Скачать библиотеку Adafruit TiCoServo Library для Arduino можно по ссылке:  https://github.com/adafruit/Adafruit_TiCoServo/archive/master.zip  Скачать библиотеку Adafruit NeoPixel для Arduino можно по ссылке: https://github.com/adafruit/Adafruit_NeoPixel/archive/master.zip 
      Установка этих библиотек становится точкой преткновения для новичков, пособие по установке этих библиотек доступна по ссылке:  https://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use
      После установки библиотеки, перезагрузите Arduino IDE.
      Есть два простых примера, которые согласуют сервоприводы и NeoPixels. Один будет работать на Adafruit Gemma или Trinket, другой на Arduino Uno или большинства других неспециализированных плат (Leonardo, и т.д.). Вам, возможно, потребуется изменить некоторые номера контактов PIN (PIN # NeoPixel, и т.д.) в программном коде.
      Библиотека моделируется после официальной библиотеки Arduino для сервопривода ... все функции и аргументы идентичны, и вы можете просто обратиться к сайту Arduino для справки. Для назначения номеров контактов нужно внести незначительные изменения в программный код, большинство программных кодов для сервоприводов Arduino совместимы и сложностей, возникнуть не должно. Итак, покажем какие строки возможно придется изменить:
      Вместо: #include <Servo.h> Пишем: #include <Adafruit_TiCoServo.h>
      Изменение декларации сервопривода, в место:
      Servo myservo; // create servo object to control a servo Пишем: Adafruit_TiCoServo myservo; // create servo object to control a servo
      С функциями attach(), write() и прочими, работать аналогично стандартной библиотеке сервоприводов, если конечно вы не будете использовать Trinket или Gemma.
      Особые дополнения для Trinket и Gemma
      Так как они основаны на уменьшенном микроконтроллере ATtiny85, то эти платы работают немного по-другому.
      Во-первых, необходима одна дополнительная линия #include в верхней части кода:
      #include <avr/power.h>
      Затем добавьте следующую строку в функции setup(). Важно, что она стояла пред вызовом функции  servo.attach ()!.
      #if (F_CPU == 16000000L)
      clock_prescale_set(clock_div_1);
      #endif
      В отличие от «большого» кода, который работает с градусами или микросекундами, "крошечная" версия может указать только серво позиции в значениях "тик", где каждый тик равен примерно 128 микросекунд. Учитывая, что большинство сервоприводов номинально синхронизируются импульсом между 1000 и 2000 микросекунд, то это означает значение от 8 до 15 тиков, и являются разумным диапазоном. Каждый сервопривод немного отличается, хотя ... некоторые из них более или менее совместимы по диапазону, так что вы можете быть уверенны в настройках этих значений.
      Это может показаться большим достижением. Многие проекты требуют только два сервопривода (например, ворота, флаг или клапан переключения между открытым и закрытым положениями).
      Источник:  https://learn.adafruit.com/neopixels-and-servos?view=all
  • PROJECTS LIGHTING:

  • NEW IDEAS IN LIGHTING

  • Who's Online   71 Members, 3 Anonymous, 63 Guests (See full list)

    • 「LEDNEWS」
    • Cristina Reyes
    • John
    • Geary Lewis
    • Camille | Design |
    • David W
    • Carmen Contreras
    • 2U_lily
    • destinymoraza
    • Ксения Елисеева
    • electric-light
    • I. T.
    • Natalie de los Hoyos
    • jcb
    • Милана
    • L.Master
    • black_jack_george
    • Катерина Черкасова
    • Isabella
    • ygfeel Store
    • Albi
    • juliana90
    • Designer_PRO_
    • Evgeniya
    • Design<8>
    • mow
    • E i v i n a
    • Pukhov Vitaliy
    • Molli_T
    • lucasdeouro
    • jose artur oliveira
    • Jessica Lea Dunn
    • Laurence Drolet
    • MOVMET
    • Jeremy
    • romashkaed
    • YOOGEE Official Store
    • Valentina Ţigâră
    • Carla Morganti
    • Tim Ustrabowski
    • elvina
    • Alex C
    • _m.a.r.i.a.h_
    • Pixel
    • lightecho
    • newtech
    • playzz
    • Chris Gossett
    • Kazutoshi Kurihara
    • Strictly Weddings
    • Захар
    • katrina_design
    • J Z
    • Moonchild
    • Stuart Fingerhut
    • Apextech
    • Andy Chan
    • Mechanic
    • Platon
    • mosadesign
    • Rita Tarasova
    • harry_222
    • Feimefeiyou Romantic Store
    • Anne Legrand
    • karolina.design
    • İrem Tokgöz
    • emily_ziggy
    • Andrea Rubatto
    • Diana T.
    • aleksey_remstroy
    • the.ledlight
  • Member Statistics

    2,165
    Total Members
    328
    Most Online
    slava_kuznetsov
    Newest Member
    slava_kuznetsov
    Joined
×
×
  • Create New...