l1l1 Posted July 15, 2015 Report Share Posted July 15, 2015 Световое светодиодное шоу Светодиодный маркер для фризлайта, рисования светом Невероятный спектакль огней из совершенно безопасных материалов, можно представить благодаря светодиодным огням. Следует отметить, что на первый взгляд простое изделие на самом деле выполнить достаточно сложно. Потому, прежде чем начать, ознакомьтесь с полным списком работ и необходимых материалов, взвесьте свои силы и возможности, а уже после приступайте к творческому процессу. В руках великолепных исполнительниц led шоу, очень легко вращаются обычные наборы цветных огней. Проблема заключается в сложности пайки и необходимости соблюдать максимальную точность в размерах. Эти прирученные фейерверки не боятся ни солнца ни дождя. Хотя схема не является сложной, она должен вмещаться в очень небольшое пространство, потому, будут нужны острые инструменты хорошо заточенные и очищенные, проволоки, различный клей и в наибольшей мере - терпение и настойчивость. Вот схема, согласно которой следует проводить работу по соединению деталей. Схема состоит из двух 16-пиксельных DotStar полос, микроконтроллеров, LiPoly батареи и одной кнопки включения. Зарядка и программирование производятся через порт USB. То есть, после окончания успешной работы, вы сможете создавать различные рисунки одним предметом. Пошаговое описание процесса можно найти в источнике: https://learn.adafruit.com/genesis-poi-dotstar-led-persistence-of-vision-poi/overview Смотрите также: Quote Link to comment Share on other sites More sharing options...
ColorPlay Posted August 21, 2015 Report Share Posted August 21, 2015 Движущаяся фризлайт установка своими руками Световые рисунки при помощи контроллера Raspberry Pi Световая картина художественной светотехники получается при фотографировании пейзажа с большой выдержкой экспозиции с движущимися огнями и световыми эффектами. Традиционно, эти изображения делали вручную при помощи фонарика с различными цветовыми фильтрами. Но в последнее время, стали доступны микроконтроллеры с адресными светодиодами (светодиодными лентами) RGB, которые привнесли в эту идею новый высокотехнологичный поворот. Несколько таких проектов были представлены на технических блогах. Особенно популярным стал проект “The Mechatronics Guy” на блоге LightScythe by Gavin, который использует контроллер Arduino и двухметровую штангу со светодиодами. Полученные фотографии, запечатлели интенсивное движение света различных цветов в одном мгновении, в потрясающих формах, и это действительно просто потрясающе! Большие, красочные изображения требуют много памяти ... и это та область, где нам надо больше памяти, чем может обеспечить Arduino. Мы предполагали, что контроллер Raspberry Pi может сделать этот процесс проще. Но даже мы не были готовы к тому, что это будет настолько просто… Используемые компоненты и их соединение: Взаимодействие адресной светодиодной ленты «Adafruit’s Digital Addressable RGB LED» с контроллером Raspberry Pi происходит очень просто, и требует только несколько соединений между контроллером, светодиодной лентой и источником питания постоянного тока. Примечание: Контакт MOSI на контроллере подключается к контакту DI на светодиодной ленте, и контакт SCLK подключается к контакту CI. Общая схема подключения приводится на рисунке ниже: Вместо того, чтобы подавать питание через разъем Micro USB контроллера Raspberry Pi, 5 Вольт постоянного тока требуется подавать отдельно (через специальный разъем DC Jack). Потому что светодиодные ленты потребляют значительно больший ток, чем может обеспечить интерфейс USB. Блока питания мощностью 2А достаточно для 1 метра светодиодной ленты, так как наш блок питания значительно больше - 10А, то мы можем запитать до 5 метров светодиодной ленты (плюс контроллеры Raspberry Pi, в обоих случаях). Примечание: +5V и земля от источника питания подключается к контактам 5V и GND, как на светодиодной ленте, так и на контроллере Raspberry Pi. Первоначальный опытный образец был собран с использованием многожильного комплекта Pi Cobbler. Так как готовый проект будет много двигаться и подвергаться вибрациям, да и сам макет не является самой надежной вещью, пришлось принести в жертву 26-контактный IDC кабель ради науки, чтобы создать кабель специально для коммутации контроллера Raspberry Pi, светодиодной ленты и блока питания. Он гораздо более устойчив к вибрациям и человеческому фактору (нерадивым рукам). Примечание: Для проверки и настройки в дальнейшем удобно использовать быстросъемные разъемы для подключения светодиодных лент. Мы использовали два 4-х контактных разъема JST с выведенными проводами. Эти разъемы имеют специальный ключ на фишке, поэтому вы никогда не подключите их в обратном направлении, что предотвратит ваши светодиоды от сгорания. Программное обеспечение Примечание: Цифровые светодиодные ленты требуют широкой полосы пропускания данных, поэтому вы не можете просто использовать библиотеки GPIO для работы. Вы должны установить аппаратные библиотеки SPI, они не входят в стандартную прошивку, поэтому потребуется обновление прошивки, рекомендуем использовать прошивки Occidentalis! Первым делом мы начали с установки программного обеспечения “Occidentalis”. Руководство по его установке под названием «Adafruit Raspberry Pi Educational Linux Distro» доступно по ссылке: https://learn.adafruit.com/adafruit-raspberry-pi-educational-linux-distro/overview При его установке есть некоторые особенности, оно работает под ОС Linux, но оно сделает этот проект намного проще, в том числе появится аппаратная поддержка SPI. Но все равно это быстро и легко. Наш фризлайт сценарий светового рисунка опирается на модуль «Image Python», который не установлен по умолчанию. Для его установки, подключите модуль Raspberry Pi к компьютеру, подключитесь к интернету и введите: sudo apt-get install python-imaging Команды Occidentalis будут являться встроенными командами SSHD, что делает очень легким передачу изображения с компьютера на контроллер Raspberry Pi. Например, в окне терминала на моём компьютере Mac я набираю следующую команду: scp image.png [email protected].local: Или же для передачи изображения можно использовать безопасный FTP клиент: Полный сценарий Python: #!/usr/bin/python# Light painting / POV demo for Raspberry Pi using# Adafruit Digital Addressable RGB LED flex strip.# ----> http://adafruit.com/products/306import RPi.GPIO as GPIO, Image, time# Configurable valuesfilename = "hello.png"dev = "/dev/spidev0.0"# Open SPI device, load image in RGB format and get dimensions:spidev = file(dev, "wb")print "Loading..."img = Image.open(filename).convert("RGB")pixels = img.load()width = img.size[0]height = img.size[1]print "%dx%d pixels" % img.size# To do: add resize here if image is not desired height# Calculate gamma correction table. This includes# LPD8806-specific conversion (7-bit color w/high bit set).gamma = bytearray(256)for i in range(256): gamma[i] = 0x80 | int(pow(float(i) / 255.0, 2.5) * 127.0 + 0.5)# Create list of bytearrays, one for each column of image.# R, G, B byte per pixel, plus extra '0' byte at end for latch.print "Allocating..."column = [0 for x in range(width)]for x in range(width): column[x] = bytearray(height * 3 + 1)# Convert 8-bit RGB image into column-wise GRB bytearray list.print "Converting..."for x in range(width): for y in range(height): value = pixels[x, y] y3 = y * 3 column[x][y3] = gamma[value[1]] column[x][y3 + 1] = gamma[value[0]] column[x][y3 + 2] = gamma[value[2]]# Then it's a trivial matter of writing each column to the SPI port.print "Displaying..."while True: for x in range(width): spidev.write(column[x]) spidev.flush() time.sleep(0.001) time.sleep(0.5) Сценарий должен быть запущен как "root" процесс, потому что он обращается к GPIO оборудования, а именно: sudo python lightpaint.py После открытия устройства SPI (для общения со светодиодной лентой), сценарий загружает изображение, используя модуль «Python Image», преобразуя его в формат RGB, если это необходимо. Интерпретация языка Python, не самая быстрая вещь, но это лучше чем неоднократно обрабатывать каждую строку или столбец изображения на лету, весь образ предварительно обработан только из родного формата RGB в формат аппаратно-специфический, который требуется для работы светодиодной ленты, который состоит из массива байтов. Затем мы можем быстро сбросить каждый из этих массивов непосредственно к порту SPI без дальнейшей обработки. Расшифровка и передача всех этих промежуточных данных немыслима на Arduino! Программное обеспечение использует высоту изображения в качестве разрешения, поэтому если у вас используется 64 светодиода, то и ваши загружаемые изображения должны иметь высоту 64 пикселя. Движущаяся установка После того, как вы освоите изготовление ручной установки, вы можете перейти к следующему уровню сложности. Ваша ровная световая панель, будет заменена кругом, для того, что бы предать готовой фотографии интересное трехмерное качество. Ваш светодиодный круг будет установлен на велосипед, чтобы обеспечить плавное движение и покрыть более длинные расстояния. В результате езды в темное время суток на кадре с длинной экспозицией, вы получите экструдированную трубку в 3D-пространстве. Сам велосипед исчезнет на фотографии, так как очень мало времени находится в одной точке и не имеет такой яркости как светодиоды. Круглое приспособление собрано из ПВХ трубы и обруча, а затем окрашено из краскопульта в черный матовый цвет, чтобы его не было заметно на фотографии. Готовая установка устанавливается в задней части велосипеда. Для питания светодиодов и компьютера был использован аккумулятор и инвертер. Абсурдность преобразования 12В постоянного тока в 110В переменного и обратно в 5В постоянного с лихвой компенсируется большим запасом мощности, в итоге мы имеем мощный портативный источник питания. Чтобы покрыть круг светодиодами, мы использовали адресную светодиодную ленты с 96-ю светодиодами. Хорошо закрепите все элементы вашей установки на вашем велосипеде, хоть он и будет похож на марсианский корабль. Эти первые изображения были получены довольно быстро, и мы не слишком сильно подбирали темное место. Если все правильно спланировать и подобрать хорошее место для выполнения фотосъемки, то результаты могут быть намного изысканнее и гораздо более фантастические. Это 10 – 15 секундные экспозиции. Общее время выполнения проекта, с нулевым опытом работы со средой Python, при виде работающих демо-проектов, фотографий и учебника - около двух дней. Великие вещи находятся в движении! Источник: adafruit Quote Link to comment Share on other sites More sharing options...
energetik Posted November 15, 2015 Report Share Posted November 15, 2015 Картины, нарисованные светодиодным светом Для того чтобы рисовать световые картины, проект использует светодиодную ленту и контроллер Arduino. Идея этого проекта, в основном возникла из подобного проекта LightScythe, но вот способ реализации оказался совершенно другой. Список деталей: · Светодиодная лента Digital RGB LED Weatherproof Strip - LPD8806 32 LED – 2 метра (64 светодиода) · Контроллер Arduino Uno – R3 · Плата адаптера для карты памяти Micro SD, для хранения растровых изображений + сама карта Micro SD · Жидкокристаллический дисплей 1.8" Color TFT LCD display with MicroSD Card Breakout - ST7735R Вот так выглядят все эти компоненты в собранном виде: Принципиальная схема: Вот так выглядит примерная схема. В ней есть еще много возможностей для усовершенствования! Программный код: Внимание! Этот код просто полная неразбериха, но если вы хотите понять суть, как работает прошивка, то этот код сильно поможет. Для контроллера Arduino: 1.txt Математические вычисления Matlab: 2.txt Порядок действий при использовании: · Сначала растровые изображения загружаются на карту Micro SD, и затем карта устанавливается в плату адаптера Micro SD. · Подключается питание от батареи к контроллеру Arduino и ЖК-экрану. · Первая кнопка на пульте управления используется для переключения между изображениями. Снимки отображаются на ЖК-дисплее вместе с соответствующей информацией. · Вторая кнопка используется для записи растровых изображений для вывода на светодиодную ленту в правильном порядке, чтобы выполнить рисование светом. · Когда светодиоды начинают отображать растровое изображение, я начинаю потихоньку идти вперед, предварительно настроив свою камеру на съемку с долгой экспозицией. Генерирование растровых изображений: Чтобы подготовить растровые изображения, я использую скрипт MatLab, что является довольно сложным способом, но мне нравится быть в курсе событий. Сначала изменяется размер изображений. Так как светодиодная лента имеет 64 светодиода, то любое изображение, которое ими отображается, должно быть 64 пикселя в высоту. Ширина изображения может быть любой. После изменения размера, изображение поворачивается на 90 градусов. Причина этого в том, что растровые данные хранятся построчно по горизонтали. При рисовании светом, мне нужно, чтобы изображение, построчно отображалось по вертикали. Повернуть изображение программно, намного проще, чем сделать это руками. Генерирование изображений с 7-битной цветовой гаммой Каждый из 64 светодиодов содержит красный, синий, и зеленый светодиод. Светодиодная лента, использует 7-битную широтно-импульсную модуляцию для получения дополнительных цветов. Исходя из этого, считаем 7 бит - это 128 уровней для каждого светодиода. 128 в третьей степени - это 2 миллионов цветов! Замечательно! Ранее, я использовал светодиодные ленты с другим чипом, который позволял каждому светодиоду, только лишь включить или выключить определенный цвет, это предоставляло только 8 цветов на пиксель. Что такое 8-ми цветное изображение! Этого было явно недостаточно, чтобы воплотить мои творческие идеи, используя полноцветные изображения. На фото ниже, снимок который я сделал при помощи старой светодиодной ленты, где я использовал эффект сглаживания, чтобы отобразить картинку при помощи только 8-ми цветов: Гамма-коррекция: При использовании ШИМ со светодиодами, важно использовать гамма – коррекцию. Это необходимо потому, что зависимость между люминесценцией и яркостью не является линейной. Более подробно ознакомится с этим эффектом, а также посмотреть расчеты, можно по ссылке: http://www.maxim-ic.com/app-notes/index.mvp/id/3667 В основном, значения цветов должны быть исправлены со значением гаммы 2.5. Вот изображение без гамма – коррекции: А вот то же самое изображение с гамма – коррекцией: Как вы видите, цвета исчезают гораздо меньше с гамма - коррекцией изображения. Единственный недостаток этого, это то, что вы можете потерять много данных на темных пикселях, но это, как правило, не слишком заметно. Контроллер Arduino, может самостоятельно выполнять гамма – коррекцию, но это требует большой вычислительной мощности. Поэтому, я выполняю эту операцию заранее на компьютере. LCD экран: Изначально, я использовал только два светодиода для отображения статуса контроллера Arduino, и чтобы усовершенствовать проект, добавил к нему LCD – экран. Он работает намного лучше, чем я ожидал! Ввиду того, что он разделяет интерфейс SPI с платой адаптера Micro SD, им приходится работать по очереди. На экране отображаются следующие параметры: Имя файла растрового изображения (BMP) Ширина растрового файла в пикселях Количество времени, которое потребуется, чтобы записать весь образ в светодиодную ленту Максимальный мгновенный ток, который понадобится светодиодной ленте для отображения изображения Текущий уровень заряда батареи Предварительный просмотр изображения Галерея нарисованных изображений: Источник: scott-bot Quote Link to comment Share on other sites More sharing options...
ColorPlay Posted September 24, 2016 Report Share Posted September 24, 2016 Рисование светом, фризлайт благодаря модифицированному 3D принтеру! Quote Link to comment Share on other sites More sharing options...