Jump to content

Search the Forum

'своими руками'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


FORUM & NEWS LIGHTING

  • Select Language
    • (EN) FORUM LIGHTING
    • (RU) ФОРУМ ОСВЕЩЕНИЕ
    • (DE) FORUM BELEUCHTUNG
    • (FR) FORUM ÉCLAIRAGE
    • (DK) FORUM BELYSNING
    • (ES) FORO ILUMINACIÓN
    • (FI) FOORUMI VALAISTUS
    • (IT) FORUM ILLUMINAZIONE
    • (PL) FORUM OŚWIETLENIE
    • (BR) FÓRUM ILUMINAÇÃO
    • (RO) FORUM ILUMINAT
    • (TR) FORUM AYDINLATMA
    • (NL) FORUM VERLICHTING
    • (NO) FORUM BELYSNING
    • (CZ) FÓRUM OSVĚTLENÍ
    • (AE) منتدى الإضاءة
    • (CN) 论坛照明

NEWS LIGHTING DESIGN IDEAS

  • Nevsky Interior Design Store
  • Auxmer High-end Project LED Strip
  • GLEDOPTO Official Store
  • athom global Store
  • Vision LED Light Co., Ltd
  • GIDEALED Official Store
  • Robert Lights ✌
  • Senyuan lighting Store
  • vecli Golden Decor Light Store
  • a Aisilan Official Store

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 11 results

  1. В проекте освещения для магазина имеется светильник кубической формы + квадраты. Подскажите как и из чего сделать цельнометаллический корпус без просветов в углах светильника. Прошу помощи, срочно! Размер: Т.е. что-то похожее на этот
  2. Юбка с многоцветной подсветкой Одним из самых удивительных качеств светодиодов, является то, что они дают вам бесконечные варианты применения, когда дело доходит до создания различных цветных световых эффектов. Добавление свечения к обычным частям одежды придает им поразительный изменчивый вид, подобно окраски хамелеона. Я считаю, что подсветка одежды должна применяться не только в каких-то специальных вечерних костюмах, но также она может стать красивым элементом дизайна в одежде которую мы носим повседневно. При проектировании юбки Night-Light, я хотел создать нечто простое, с использованием светодиодной подсветки, и так, что бы повседневная часть одежды, превращалась в праздничную, при нажатии всего одной кнопки. Используя заранее запрограммированный светодиодный контроллер, которым можно управлять с помощью дистанционного пульта, я избежал необходимости программирования контроллера Arduino, что сделало этот проект еще более простым. Я также использовал новый вид светодиодной ленты, с боковыми адресуемыми RGB светодиодами. Она такая же, как и обычная адресная светодиодная лента, но свет от светодиодов исходит в бок. Это намного упрощает выполнение подсветки одежды, так как при использовании такой светодиодной ленты не видно отдельных пикселей, что позволило мне сделать подсветку только лишь по подолу юбки. Для этого проекта, я выбрал двухслойную юбку (подкладка + наружный слой), на внешнем слое которой вышит орнамент. Я думаю, что цветочный орнамент добавляет немного больше элегантности юбке и создает хороший силуэт, независимо от того, на какую девушку надета эта юбка. Но в своих проектах вы можете использовать любую понравившуюся вам модель юбки. Шаг 1: Что вам необходимо для этого проекта Для юбки необходимо: • Ткань и материалы, которые вы выберете для создания юбки. За основу я взял юбку, которая используется балеринами в качестве одежды на выступлениях. Для красоты, я подобрал юбку с различными цветами пояса и подола. • Нитки, заклепки, и прочие элементы для шитья. • Необходимый набор инструментов и швейная машинка. Для создания подсветки вам понадобятся: • Адресная светодиодная лента RGB 60 шт./м WS2811 IC 60L SMD335 5V, водонепроницаемая, с плоско направленными излучателями длиною 1,5 метра. • Контроллер «Cool Neon Total Control Lighting Pixel strand of 50 (TCLPXL50)» обеспечивающий полный контроль светодиодами с дистанционным управлением. Это крошечная микросхема является отличным способом для управления светодиодами, если вы не хотите возиться с программированием своего собственного микроконтроллера. Он поставляется с 300-ми предварительно загруженными светодиодными программами и работает с любой светодиодной лентой на основе WS2811 или WS2812. Вы можете управлять программами с помощью пульта дистанционного управления, увеличивать или уменьшать скорость отображения, делать свет тусклее или ярче. Программы в основном содержат линейные эффекты, и для их должного функционирования вам нужен источник питания 5V обеспечивающий нагрузочный ток, по крайней мере 2А. Если вы хотите использовать более разнообразные программы, то взамен этого контроллера можно использовать любой другой небольшой микроконтроллер вроде Adafruit Gemma или DF Robot Beetle. http://shopping.coolneon.com/TCL-Mini-Controller-with-Fire-TCLCMINIFIRE?sc=2&category=2894 • Аккумуляторная батарея с емкостью не менее 5000 мА/ч и нагрузочной способностью не менее 2А. К примеру, можно использовать внешний Power Bank для сотовых телефонов RAVPower 8400mAh Deluxe Portable Charger (External Power Bank, 3A Output, Dual USB) • Кабель USB • Провод для подключения светодиодов • Малые и большие термоусадочные трубки • Необходимый инструмент для монтажа Шаг 2: Создание кружевного слоя Чтобы создать кружевной слой для юбки, я использовал три размера от своей балетной юбки: • Диаметр пояса • Расстояние от пояса до подола • Приблизительный размер окружности нижней части подола Затем, исходя из этих размеров, вырезал заготовку из кружевной ткани. Соответственно сделал срезы с каждой стороны под углом. Также, расстояние от пояса до подола на кружевном слое немного меньше чем на основной юбке, мне показалось, что так будет красивее. После с помощью швейной машинки сшил внешний кружевной слой ткани. Шаг 3: Установка кружевного слоя Хорошо растянув пояс балетной юбки, я равномерно распределил кружевной слой поверх юбки, сделав в некоторых местах небольшие складки. Затем закрепив кружевной слой булавками, пришил его к поясу балетной юбки. Шаг 4. Добавление пояса Для того чтобы получить правильную длину моего эластичного пояса (на основе резинки), я обернул его вокруг талии моей девушки и подобрал длину при которой он хорошо держится и не доставляет неудобств. Затем сложил пояс с небольшим напуском концов и сшил его зигзагообразными стежкам, чтобы ткань пояса в дальнейшем не распускалась. Затем одел эластичный пояс на пояс моей уже сшитой двуслойной юбки, сделав необходимый напуск, чтобы скрыть пояс балетной юбки и сшил все три части юбки вместе зигзагообразными стежками. Шаг 5: Создание чехла для батареи Теперь нужно создать маленький чехол, что бы установить мою батарею и спрятать ее в слоях юбки. Также можно использовать уже готовый чехол подходящего размера. При помощи карандаша и линейки я вычертил шаблон моего чехла на кожаном куске и вырезал его ножницами. Затем приложил к нему батарею, свернул его пополам и отметил места для установки заклепок. Затем проделал отверстия под клепки и при помощи молотка установил заклепки. Если у вас нет клепок, то два слоя можно просто сшить. В заключение этого этапа, я подрезал лишнюю кожу и прорезал окошко, для подключения к USB разъему моей батареи, в нижней части чехла. Шаг 6: Установка чехла Когда мой чехол был готов, я пришил его к поясу между тканевыми слоями юбки, так чтобы его было практически не видно. Шаг 7: Создание рассеивателя света Даже ввиду того, что эти светодиоды излучают свет в параллельной плоскости к ленте, вы все равно еще можете заметить свечение отдельных пикселей в подоле юбки. Для дополнительного рассеивания света, я добавил накладку на подол из белого искусственного меха, и спрятал светодиодные ленты под ней. Для создания накладки, первым делом я замерил окружность свободной части нижнего слоя тюли юбки. Лучше всего это делать при одетой юбке на модель или манекен. В моем случае длина получилась 1.14 метра, при этом размере, ноги ни чем не ограничиваются при свободной ходьбе. Затем я вырезал полоску из меха толщиной 2,5 см и длиной соответственно 1.14 метра. Мех лучше всего отрезать при помощи острого бритвенного ножа со стороны кожи. Старайтесь не повредить пуховое покрытие меха. Далее отрезал белый ремешок соответствующий длине меховой накладки, но добавив небольшой запас по краям ремешка для последующего сшивания. Затем с разрывом 10 см, я пришил одежные кнопки к белому ремешку, и пришил к нему полоску с мехом. Шаг 8: Соединение светодиодов Первым делом, отрезал свою светодиодную ленту длиною чуть короче длины рассеивателя света (предыдущий шаг). Затем я укоротил провода, идущие от моего светодиодного контроллера (драйвера) и припаял их к входу светодиодной ленты в следующем порядке: • Контакт драйвера G (земля) -> контакт "GND" на полосе • Контакт драйвера D (данные) -> контакт "D" на полосе • Контакт драйвера «+» -> контакт “5V” на полосе После я заизолировал голые провода при помощи термоусадочной трубки. Поскольку контроллер (драйвер) приходит в комплекте с разъемом mini-jack для подключения к источнику питания, мне нужно было переделать этот разъем на USB. Для этого, я замерил расстояние, которое необходимо для подключения драйвера со светодиодной полосой от разъема USB моей батареи установленной в чехле, до драйвера. Затем обрезал провод USB нужной мне длины. После обрезки кабеля USB, в нем будет несколько разных проводов, так как по нему также передаются и данные. Для нашего проекта нас интересует красный и черный провод, остальные просто отрезаются и не используются. Зачистив концы проводов обрезанного USB кабеля, я одел на них термоусадочные трубки и припаял к проводам питания драйвера. После чего заизолировал оголенные провода при помощи термоусадочной трубки. Затем подключив батарею, я протестировал работу контроллера и светодиодов при помощи дистанционного пульта управления. Шаг 9: Установка подсветки Затем, я уложил светодиодные ленты внутри проекта (в каналы которые я заранее предусмотрел). Это было не так просто, но все же мне это удалось! Шаг 10: Установка светодиодов Далее устанавливаются светодиодные полосы согласно схеме. Сшейте другие стороны тканевого канала ленты, чтобы собрать все ваши части юбки вместе и создать законченную конструкцию. Шаг 11: Создайте свое световое шоу! Теперь, с подключенной схемой проекта к батарее питания и дистанционному пульту, я могу выбрать различные режимы, которые будут отображаться на светодиодных лентах. Используя выбранный контроллер, я имею около 300 режимов, которые запрограммированы в контролере, и которые я могу создать в виде неподражаемых эффектов. При помощи функций контроллера, я могу задать их отображение быстрее или медленнее, при этом изменить их яркость. Конечно, максимальная яркости юбки будет иметь максимальный эффект в темном помещении. На этом все! Удачи вам в реализации ваших проектов! Источник: instructables
  3. Светящийся обруч своими руками Колесо Сира (Cyr wheel) — один из новых видов циркового и спортивного гимнастического реквизита. Это по сути большой составной обруч (3-5 частей), в котором артист совершает различные гимнастические элементы работая с балансом. Из за высокой скорости вращения и большого разнообразие и высокой динамики номера на колесе Сира очень зрелищны и его популярность набирает обороты как в цирке, так и в спорте. Светящееся колесо Сира (CYR WHEEL) Это последняя версия сборного светодиодного обруча-колеса. Оно состоит из усиленного разборного металлического обруча, который использует гироскопический эффект для вращения и реакции на движения человека после того как его раскрутят достаточно быстро. Колесо можно разобрать на четыре отдельных части. Для установки светодиодов, на 3D принтере были напечатаны специальные манжеты: Они вставляются во внутренний диаметр обруча. Манжеты имеют свои собственные замки и соединения для сборки. Общее количество манжет около 50 штук, в зависимости от размеров металлического обруча. Внутри манжет пропечатаны каналы для проводов и светодиодов. В качестве светодиодов, используется светодиодная лента на базе светодиодов WS2812B под управлением микроконтроллера Arduino Nano 3.0 Clone. В качестве источника питания используется 2 аккумулятора по 5V соединенные параллельно. Ссылка на файлы 3D-моделей: http://www.thingiverse.com/thing:925663/#files
  4. В этом проекте, светодиодные полосы смонтированы на открытых деревянных балках в беседке. Разные режимы спецэффектов позволяют использовать светодиодные полосы в качестве симулятора молний, алкотестера или графического эквалайзера который синхронизируется с музыкой, а также еще использовать их в других эффектах связанных со звуком. Для изготовления потребуются следующие материалы: Восемь катушек водонепроницаемой светодиодной полосы RGB 12V, это примерно 40 метров. Восемь усилителей сигнала RGB (4 Ампера на канал). Аналоговые. Восемь усилителей сигнала RGB (4 Ампера на канал). Вход TTL. Стандартный восьмикнопочный RGB контроллер (http://www.usledsupply.com/shop/rgb-8k-touch-remote-control.html) Микроконтроллер Arduino Mega Плата расширения Arduino ProtoShield (http://www.nkcelectronics.com/arduino-megashield-pcb.html) Цифро-аналоговый преобразователь звука Adafruit Wave Shield (https://www.adafruit.com/products/94?&main_page=product_info&products_id=94) Монтажный электрический бокс для размещения усилителей и подключения светодиодных полос Кабель для подключения светодиодных полос Два источника питания для светодиодных лент 12v, 48W, 4A Один источник питания 5V постоянного тока Водонепроницаемые разъемы Стандартный сетевой провод CAT5 (5 категории) Датчик алкоголя (http://www.seeedstudio.com/depot/electronic-brick-gas-sensormq5-p-472.html?cPath=48_52) Различные выключатели, разъемы и два переменных резистора 10кОм Динамики Аудио усилитель Два волновых трансформатора (подавители шумов) Шаг 1: Схема подключения и аудио решение В данном проекте требуется возможность контролировать индивидуально каждую из 8 светодиодных полос (каждая имеет длину около 5 метров). Контроль каждого светодиода на каждой полосе в данном проекте не требуется. Это позволило использовать сравнительно небольшой микроконтроллер, при относительно не сложном подключении. Так как проект нуждался в выводе звукового оповещения для функции Алкотестер, а также некоторых других звуковых эффектов, был использован цифро-аналоговый преобразователь (ЦАП) Adafruit Wave Shield, который отвечал всем необходимым требованиям. Звуковой сигнал, который он выдает, по проводам передается на домашнюю аудио систему. Длина проводов для передачи звукового сигнала, в данном случае составила примерно 40 метров, и как оказалось, это создает сильные шумы из-за длины провода. Чтобы избежать этих помех, были использованы волновые трансформаторы, которые позволяют выполнить сопряжение кабеля CAT 5 по волновому сопротивлению и устранить шумы. Линии передачи аудио сигнала разделены физически, т.е. линия выхода из ЦАП это отдельная линия от входа в ЦАП. Для реализации функции графического эквалайзера, был использован линейный аудио сигнал, выходящий с домашней аудио системы, который в дальнейшем подается на аналоговый вход микроконтроллера Arduino Mega. Далее он обрабатывается программным обеспечением, и микроконтроллер зажигает определенные светодиодные полосы соответствующим цветом. Для постоянного свечения светодиодных полос, используется стандартный RGB контроллер, с отдельными усилителями. Также, поскольку он работает совместно с микроконтроллером, это позволяет добавлять различные характеристики свечения светодиодов – мигание, яркость и пр. Шаг 2: Рытье траншеи, подводка проводов питания и аудио сигнала Ввиду того, что проводов и так было очень много, было решено проложить провода питания в вырытой траншее. Таким образом, провода питания 12V и 5V были проложены в подвальное помещение, где и были расположены сами источники питания. Аналогично были проложены провода CAT 5 для аудио системы с волновыми трансформаторами. Шаг 3: Установка светодиодных полос Монтаж светодиодных полос выполняется довольно легко, хоть и занимает много времени. Для надежности, фиксация полос на торцы деревянных балок выполняется с помощь силиконового клея. Для того чтобы полосы не отвалились в период высыхания клея, желательно их временно фиксировать при помощи малярного скотча. Перед наклейкой полос, рекомендуется убедиться в их работоспособности. Шаг 4: Подключение светодиодных полос и датчиков к микроконтроллеру Arduino Mega Теперь настал самый сложный этап, который отнимает очень много времени на подключение светодиодных полос и различных датчиков к микроконтроллеру Arduino Mega. В данном случае, все светодиодные полоски и датчики были припаяны к расширительной плате Arduino Mega Protoshield, но если вы желаете сэкономить средства, то можете попытаться припаять все провода именно к контроллеру. Но предупреждаем, что проводов очень много, и у вас может получиться не совсем надежное соединение, а также есть возможность повреждения самого контроллера. В качестве ознакомления, рассказываем, что плата Protoshield, в итоге эквивалентна контактам на плате микроконтроллера, но ее контакты разнесены на более удобное расстояние для пайки или установки быстросъемных соединений. Отдельно можно отметить, что есть несколько незначительных настроек, необходимых для работы цифро-аналогового преобразователя Adafruit WaveShield совместно с микроконтроллером Arduino Mega. Эти нюансы хорошо задокументированы в форумах поддержки Adafruit, поэтому отдельного внимания этому вопросу в этом описании уделяться не будет. В данном случае, усилители сигнала RGB пришли в комплектации с винтовыми зажимами, что одновременно упрощает и усложняет сборку всей схемы. Поэтому на этом этапе останавливаться не будем, и предоставляем вам право для импровизации. Если интересно, то можете почитать комментарии в оригинальной инструкции, в которых поднята тема о различных видах подсоединения. Для конечного подключения платы Protoshield с определенными устройствами, используются разъемы Molex. Это позволяет в дальнейшем легко подключать и отключать плату микроконтроллера, без необходимости физического обрезания проводов. Все RGB усилители и прочие элементы были установлены на деревянной площадке, которая затем была помещена в электрический бокс (на картинке он окрашен в черный цвет). Затем, от этого бокса были прокинуты два провода CAT 5 к органам управления. Использование этого провода очень удобно тем, что он имеет подходящее сечение и разноцветную изоляцию жил внутри провода. Шаг 5: Подключение кнопки алкотестера на внешнем блоке Когда создавался этот проект, проходил ежегодный праздник Хэллоуин, и тут пришла замечательная идея создать все доступный Алкотестер прямо в беседке. Суть идеи была в том, что при определенном алкогольном опьянении, светодиодные полосы показывали бы его степень, плюс ко всему звучало звуковое оповещение о степени опьянения в шуточной форме. Используя обычный переменный резистор (потенциометр) удалось добиться четыре различных голосов персонажей, которые произносят предупреждение. В данном случае это получились голоса старого английского человека, пирата, страшного приведения Хэллоуина и оскорбительного голоса Нью-Йоркского таксиста. Голоса были взяты с известного сайта diymagicmirror.com. В данном случае, если вы посмотрите на изображение с блоком управления, то для изменения режима голоса предупреждения используется правый потенциометр (переменный резистор). Потенциометр с левой стороны, используется для изменения режима работы светодиодной подсветки, то есть он переключает режимы либо на симулятор грозы, либо на алкотестер, либо на графический эквалайзер. Далее, есть два кабеля CAT 5, идущие в эту коробку от микроконтроллера. Они описаны в предыдущем шаге. Большая красная кнопка заметна в любом алкогольном состоянии, и поэтому ее функция была определенна как вызов функции Алкотестера. Все остальные провода подключаются согласно принципиальной схеме (диаграмме). Шаг 6: Программный код для микроконтроллера Arduino Как ни странно, но для этого проекта уже существует программный код, который может выполнять все требуемые функции. Это стандартный код Arduino, на который будет дана ссылка в конце этого шага. Что самое замечательное, это то, что микроконтроллер Arduino Mega имеет достаточное количество цифровых контактов, а именно 24 штуки. Это позволяет четко разделить управление на восемь полос (по три контакта на каждую полосу, по одному на каждый цвет, каждой из восьми полос), что в общей сложности составляет 24 цифровых контакта. Это позволяет включать цвета индивидуально, независимо от номера полосы, и при этом сильно увеличивается скорость реагирования светодиодных полос. Нет надобности, пропускать большую цепочку данных через всю светодиодную линейку. К тому же, это способ позволяет сократить энергопотребление всей установки. Ниже, по приведенной ссылке, вы можете скачать необходимый программный код для микроконтроллера, касающийся этого проекта: osveshcheniye_besedki.tmp В дополнение к приведенному коду, не забывайте, что вам понадобится дополнительная библиотека «Wave HC» http://code.google.com/p/wavehc/ Источник: instructables
  5. Каждый раз, когда я слышу о беспроводных системах питания, или вижу беспроводное зарядное устройство в действии, то для меня это является практически какой-то магией! Идея освоения магнитного поля, что бы оно производило достаточное количество энергии для питания хотя бы светодиодов, является для меня уже удивительной. Так что, когда производитель Adafruit представил два модуля (модуль который включается в розетку и беспроводной модуль зарядки) индуктивной зарядки, я уже точно для себя решил, что должен создать проект, который выходит за рамки обычного заряда батарейки. Так уж повелось, что я очень часто ложусь спать намного позже своей жены, и для того чтобы уснуть, очень часто хочется почитать перед сном свои книги. Включать большой светильник не получается, поэтому я решил сделать небольшую лампу освещения для моего ночного чтения, не разбудив мою любимую супругу. Забегу немного вперед, и расскажу, что яркость светодиодов зависит от расстояния двух блоков, то есть чем ближе два блока, тем больше яркость, и на самом деле это очень удобно! Если у вас было беспроводное зарядное устройство, то вы наверно заметили, что если вы удалите свой гаджет на небольшое расстояние, то его зарядка прекращается. В случае с гаджетами это происходит по вине контроллеров, которые отвечают за зарядку устройства. В нашем проекте такие контроллеры отсутствуют, и удаление одного устройства от другого лишь понижают напряжение, приходящее на светодиоды, то есть они начинают светиться менее ярко, что для нашего случая очень хорошо. На самом деле изготовление красивого ночного светильника является довольно простым делом. Все что вам для этого нужно, это изготовить два индуктивных кольца из медной проволоки (либо использовать их из беспроводного зарядного устройства), два деревянных корпуса, иметь под рукой блок питания, светодиоды и некоторые прочие подручные средства. Самым сложным делом в этом проекте является изготовление корпусов светильника, так как если вы хотите, чтобы они получились аккуратными и красивыми, то придется воспользоваться услугами токаря, у которого есть токарный станок с ЧПУ. В этой инструкции я не буду рассматривать конкретные светодиоды и их количество. Их количество и тип вы сможете подобрать по ссылке предоставленной ниже. Скажу лишь единственное, что я использовал самые простые белые светодиоды. Схема Как я уже сказал… это очень простой проект. Вам просто нужно спаять светодиоды параллельно, и подключить их к индуктивной катушке приемнику (то есть это та часть, которая и будет являться светильником). Вы можете использовать набор для индуктивной зарядки, рассчитанный на 5V или 3.3V, все зависит от светодиодов, которые вы выбрали. Могу лишь подметить, что для белых светодиодов лучше выбрать напряжение 5V, и просто добавьте дроссель (резистор) около 220-1кОм (регулируется по факту, можно использовать переменный резистор). Не забудьте включить резистор последовательно в цепь светодиодов, иначе они просто сгорят у вас. Хоть я и не показал на рисунке выше, я включил в цепь разъем 2.1мм DC barell-jack со стороны индуктивной зарядки. То есть в той части, где светильник подключается к сети электропитания, между зарядным устройством и самим светильником. Это удобно в плане быстрого отключения светильника. На картинке вы можете увидеть, что все оголенные участки светодиодной спайки, и не только спайки, я надежно и аккуратно замотал изолентой, чтобы предотвратить возможность короткого замыкания. Белый кусок пластика я вырезал при помощи станка лазерной резки, но если у вас нет такой возможности, то его вполне можно вырезать подручными средствами. Главное терпение и аккуратность. Давайте теперь посмотрим, как я изготовил корпус для своего фонарика. Я опишу вам свой способ и форму, но на самом деле все ограничивается лишь только вашей фантазией. Изготовление корпуса и общая сборка Так уж сложилось, что у меня был доступ к станкам лазерной резки с ЧПУ. Поэтому я спроектировал корпус своего светильника на компьютере и вырезал его на станке. Если вдруг кому-то пригодится, то привожу ссылку на файл Autodesk с полными размерами для станка. Корпуса своего ночного фонарика я вырезал из массива дерева грецкого ореха, но это не принципиально, мне просто так больше понравилось. После очистки и шлифовки, я несколько раз вскрыл лаком свои заготовки корпусов. Затем при помощи того же самого станка с ЧПУ и файла с размерами, я вырезал второй диффузор (белый экран для второй части). При помощи клея надежно закрепил все элементы внутри каждого корпуса и приклеил экраны. На этом собственно и все. Подсоединил зарядное устройство к первой части ночного фонарика, и ву-а-ля, все работает. Чем ближе обе части фонарика, тем ярче он светит!
  6. Цилиндр с интерактивными световыми эффектами Суть идеи заключается в том, что когда шляпа наклоняется в разные стороны, то загораются светодиодные ленты с эффектом вращения огней в различные стороны. Замечательные световые эффекты были выполнены при помощи установки белых светодиодных лент, небольшого контроллера Arduino Pro Mini и акселерометра. Для выполнения проекта вам понадобятся следующие компоненты: · Контроллер Arduino Pro Mini 328 - 3.3V/8MHz · Плата драйвера светодиодов SparkFun Mini FET Shield (имеет много адресуемых выходов для подключения светодиодов) · Датчик акселерометр SparkFun Triple Axis Accelerometer Breakout - ADXL335 · Пластиковый бокс для пальчиковых аккумуляторов Battery Holder - 4xAA Rectangle · Мини выключатель питания SPDT Mini Power Switch 30V/200mA · Провод для монтажа 30 AWG · Светодиодная лента 12V белого свечения Расположение лент на светодиодной шляпе Всего на цилиндре расположено 16 светодиодных полос, соединенных попарно параллельно, поэтому контроллер Arduino Pro Mini может управлять ими при помощи 8 каналов. Каждая светодиодная полоска, держится на цилиндре благодаря самоклеющейся основе, которая надежно держит полоску, даже при самых резких движениях головой. Ленты соединяются при помощи очень тонких проводов 30 AWG, которые проходят насквозь внутрь цилиндра к элементам управления. Контроллер Arduino Pro Mini + Driver Контроллер Arduino Pro Mini 3.3 / 8 МГц имеет идеальный размер для этого проекта, а также достаточную вычислительную мощность, чтобы без труда считать данные с акселерометра и при этом контролировать 8 каналов управления светодиодами. Он потребляет очень мало энергии и может быть легко перепрограммирован через FTDI Basic, для создания различных изящных световых эффектов. Каждая полоска содержит 15 светодиодов, а это означает, что максимальный ток одной полоски составит 300 мА (15 светодиодов х 20 мА = 300 мА). Это значение намного больше, чем может обеспечить чип ATmega328, поэтому применяется драйвер Mini FET Shield, что очень удобно в нашем случае. Эта плата драйвера имеет напряжение питания 3,3V, которое в нашем случае можно взять с контроллера Arduino. Каждый из 8-ми каналов на плате драйвера Mini FET Shield может обеспечить нагрузку до 2 Ампер, поэтому транзисторы драйвера даже не будут сильно нагреваться. Как уже упоминалось ранее, у нас есть 16 светодиодных полос, которые соединены попарно параллельно (расположенных противоположно с каждой стороны цилиндра) и управляются 8-ю каналами, что позволяет получить действительно классный эффект. Акселерометр Шляпа использует акселерометр ADXL335, это классическая рабочая лошадка, с легко читаемыми аналоговыми выходами для трех осей. Но любые другие твердотельные акселерометры, такие как ADXL345, MMA7361, или MMA8452Q, также должны нормально работать. Акселерометр ADXL335 уже довольно старый (3 года в мире электроники – это большой срок), но с его выходов очень легко считывать аналоговые напряжения и преобразовывать их в 10-разрядные целые числа, используя для этого контроллер Arduino. Для работы реального светового эффекта требуется выяснить, в каком направлении движется цилиндр. Поэтому мы возьмем три вектора (X, Y, Z) и объединим их в один вектор направления. Питание от аккумуляторов Поскольку светодиодные полосы работают от 12V, то шляпа использует 8 АА аккумуляторов установленных в двух боксах для батареек. Использование двух боксов позволяет распределить вес. Когда аккумуляторы полностью заряжены, то у нас есть номинальное напряжение 1.5V * 8 = 12В. Светодиоды потребляют значительную мощность, поэтому, были использованы литиевые аккумуляторы, что позволяет максимизировать время работы. На практике, шляпа работает в течение десятков часов на одном наборе аккумуляторов, так что щелочные батарейки вполне можно использовать, правда время работы будет немного меньше. Встроенный микро-выключатель в линию питания, позволяет легко выключить всю электронику в конце вечера. Схема подключения На этой схеме показано, как выполнено подключение всех элементов. Питание контроллера Arduino и светодиодных полосок, осуществляется от набора аккумуляторов с общим напряжением 12В, через микро-выключатель. На плате драйвера Mini FET Shield есть восемь, индивидуально контролируемых, транзисторов, которые обеспечивают нагрузочную способность. Для питания более мощных проектов, вы можете использовать отдельные дискретные транзисторы. Акселерометр, при помощи проводов подключается к аналоговым входам контроллера Arduino. Векторная математика Если вы давно окончили школу, и уже подзабыли законы физики, то у вас уйдет всего несколько минут чтобы вспомнить, как объединить три вектора ускорения в один. Для нашего проекта, нас интересует величина перемещения шляпы, а не направление. A2 + B2 + C2 = Z2 В программном коде эта формула записывается так: float magnitude = sqrt((aX * aX) + (aY * aY) + (aZ * aZ)); //Объединение всех векторов А вот так вот выглядит фактический программный код: float avgMag = 0; for(int x = 0 ; x < 8 ; x++) { aX = analogRead(accelX); aY = analogRead(accelY); aZ = analogRead(accelZ); float magnitude = sqrt((aX * aX) + (aY * aY) + (aZ * aZ)); //Combine all vectors avgMag += magnitude; } avgMag /= 8; Для того чтобы уменьшить шум, мы берем 8 показаний акселерометра и вычисляем среднее значение. Это работает очень хорошо. Теперь надо решить, что делать с полученным средним значением. Для целей этого проекта, нам нужно что эффект вращения огней светодиодов был быстрым, когда обнаружено ускорение или движение, с последующим замедлением вращения (если нет нового ускорения). Для реализации этого эффекта, мы используем уравнение экспоненциального роста, органично увеличивая время между переключениями каналов (tBCC в коде). Время задержки между переключением светодиодных каналов = A * xt Это базовое показательное уравнение экспоненциального роста. Время, между переключением светодиодных лент, будет возрастать по экспоненте со временем на основе постоянной «А» и скорости роста «х». Я хотел, чтобы светодиодные полоски замедлялись через 3-4 секунды, после того как акселерометр перестанет обнаруживать движение, и для этого мне нужно было определить переменные «А» и «х». Я определил константу А при программировании шляпы, чтобы подобрать оптимальную скорость кругового вращения огней. Экспериментальным путем, я определил, что оптимальная скорость переключения между лентами составляет 10 – 20мс, все, что быстрее 10мс просто не различимо для человеческого глаза. Для определения скорости роста «х», я использовал расчетную таблицу и обнаружил, что темп роста 1.00086 вызовет задержку, увеличивающуюся до 500 мс в течение в течение 3,5 секунд. long currentTime = millis() - startTime; timeBetweenChannelChange = shortestDelay * pow(growthRate, currentTime); //Exponentially grow the delay between changes В уравнениях выше, мы вычисляем текущее время, а затем вычисляем новый tBCC используя две константы. Это значение присваивается переменной «timeBetweenChannelChange», измеряется в миллисекундах и оно будет возрастать по экспоненте в течении долгого времени, пока не станет больше, чем значение константы «maxTimeBetween» равное 3,5 секундам. После превышения этого времени (3,5 сек), вращение светового эффекта будет полностью остановлено. После небольшого тестирования и несколько небольших ухищрений, световой эффект вращения выглядел довольно хорошо. Программа для ШИМ До этого проекта, я уже изготавливал несколько костюмов для вечеринок, применяя светодиодные ленты. И во всех случаях мне приходилось уменьшать яркость светодиодов, иначе они светили просто ослепительно, и это было уже не так красиво. Проект шляпы не оказался исключением, светодиоды по-прежнему светят очень ярко. Для решения этой проблемы, можно воспользоваться ресурсами широтно-импульсной модуляции, что позволит снизить яркость до необходимого предела. Но проблема в том, что контроллер Arduino Pro Mini имеет всего 6 выходов, которые поддерживают ШИМ управление светодиодами. К счастью для нас, для решения этой проблемы есть программное решение. Библиотека SoftPWM написанная Brett Hagman из компании Rogue Robotics, позволяет превратить любой цифровой контакт контроллера в контакт с ШИМ управлением. Это конечно не самое идеальное решение, есть свои ограничения, но для управления светодиодами работает замечательно. Скачать библиотеку можно по адресу: https://code.google.com/p/rogue-code/wiki/SoftPWMLibraryDocumentation SoftPWMSetPercent (chan0, brightLevel); Эта простая функция позволяет установить уровень яркости для светодиодной ленты в пределах между 0 (OFF) и 99 (полная яркость). Опытным путем, я обнаружил, что уровня яркости 9% вполне достаточно для яркого отображения световых эффектов. Микропрограмма Das Bliken Есть два примера микропрограмм. Они были написаны, чтобы вы имели представление о том, как создавать различные световые эффекты. Микропрограммы доступны по ссылкам: TopHat_Basic.zip TopHat_Original.zip Источник: https://learn.sparkfun.com/tutorials/das-blinken-top-hat
  7. Данный проект реализован на светодиодных матрицах Adafruit 8х8 mini, управляемых контроллером Arduino UNO. Достоинством этого проекта является простота его изготовления и программирования. На выходе вы получите необычный сувенир с кнопочным управлением светодиодной анимации в виде черепа или тыквенной головы к примеру с использованием звуковых эффектов. Для реализации проекта вам понадобятся следующие компоненты: Собственно сама заготовка черепа, ее можно изготовить самому из пенопласта или подобрать уже готовый вариант. Светодиодная матрица Adafruit Mini 1.2" 8x8 LED Matrix w/I2C Backpack (цвета светодиодов на ваше усмотрение) в количестве от 2 до 5 штук, в зависимости от того, что вы будете делать. Для изготовления просто глаз надо две матрицы, что бы добавить рот надо еще 3 штуки. Контроллер Arduino Uno. Батарея или аккумулятор 5V. Можно использовать блок для обычных батареек 3хАА. Подходящие кнопки в количестве 3х штук. Звуковой контроллер ADAFRUIT WAVE SHIELD Плата расширения ADAFRUIT PROTO Переходник для блока питания и удлиняющие провода. Общая электрическая схема соединения представлена на рисунке ниже: Обратите внимание, если вы будете использовать питание от трех батареек АА размера с общим напряжением 4,5V, то питание светодиодов нужно будет брать с выхода стабилизатора напряжения с контроллера (который дает на выходе +5V). Но если учесть, что максимальная нагрузка на стабилизатор напряжения на контроллере составляет 500мА, а одна светодиодная матрица при полном отображении потребляет около 200мА, то к контроллеру можно подключить не более 2 или 3 матриц. То есть в этом случае получиться сделать только глаза на вашем черепе. Передача данных между контроллером и светодиодами происходит на основе шины Arduino’s Two Wire Interface или просто TWI. Управление светодиодными матрицами производится всего по трем проводам: общий GND, синхронизирующий сигнал SCL и сигнал с данными SDA. Четвертый провод VCC это питание светодиодов +5V. Особенность светодиодных матриц заключается в том, что для их адресации используются специальные контакты, при спаивании которых за матрицей сохраняется постоянный адрес в системе. На рисунке ниже приведен пример как задается адрес на светодиодной матрице. Кнопки используются опционально, для получения запрограммированного звукового эффекта при изменении эмоции отображаемой на светодиодах (например, улыбка или злость, в принципе все что угодно). Для использования кнопок и получения звукового эффекта необходимо дополнительно к контроллеру Arduino Uno установить звуковой контроллер ADAFRUIT WAVE SHIELD FOR ARDUINO KIT (http://www.adafruit.com/products/94) и дополнительную плату расширения ADAFRUIT PROTO SHIELD FOR ARDUINO KIT (http://www.adafruit.com/products/51). При использовании всех элементов у вас получится примерно следующая конструкция: Программирование Программирование контроллера происходит при помощи фирменного программного обеспечения Arduino Software (IDE) доступного по адресу: http://www.arduino.cc/en/Main/Software Полный процесс программирования данного контроллера для реализации этого проекта описан в оригинальной инструкции. Также там можно получить примеры готовых программных кодов. Оригинальная инструкция доступна по адресу: https://learn.adafruit.com/animating-multiple-led-backpacks?view=all Анимация лица происходит за счет перебора шести заранее запрограммированных изображений, синхронизированных со звуковыми эффектами записанных на SD карту звукового контроллера. Более подробно с принципом синхронизации можно ознакомиться в этом руководстве: http://www.idleworm.com/how/anm/03t/talk1.shtml При наличии желания и фантазии можно сделать совершенно поразительную и уникальную вещь. Например можно использовать эпоксидную смолу для создания формы черепа, и при отливке поместить внутрь черепа светодиодный шнур красного цвета, это придаст визуальный эффект пульсирующей крови внутри черепа. Череп можно сделать добрым, веселым или злым. При добавлении web-камеры и наличии определенного программного обеспечения, можно сделать так чтобы глаза следили за вами при передвижении по комнате. В общем, все зависит только от вашей фантазии! Не бойтесь экспериментировать!
  8. Добавить в кроссовки подсветку при ходьбе куда проще и легче, чем кажется сперва. Что потребуется прежде всего: ● две электронных платформы FLORA (Arduino–электронная платформа FLORA, созданная на базе 8-битного микроконтроллера Atmega32u4 имеется встроенная поддержка интерфейса USB. Именно данная платформа создает световые эффекты в светящихся кроссовках. Весит платформа всего 4,4 грамма, имеет размеры менее 4,5 см в диаметре) ● чувствительный к давлению проводящий материал Velostat (Linqstat). Его используем как сенсор, обнаруживающий каждый шаг. ● Цифровая многоцветная светодиодная лента с драйвером на каждом светодиоде – Digital RGB LED Weatherproof Strip Данная светодиодная лента может продаваться как отрезком 1 метр, так и катушкой 5 метров. Кратность резки 1 светодиод. ● два 3хААА аккумулятора ● проводящая нить из нержавеющей стали (тонкая не окисляющаяся проволока) Перед приклеиванием обязательно примерьте светодиодную ленту вокруг подошвы кроссовок. Подрежьте кратно 1 светодиоду, если их длина оказалось больше необходимой, будьте внимательны, разрезать светодиодную ленту можно только в строго отведенных местах. Теперь будем клеить светодиодные полосы к обуви (для гарантированного эффекта рекомендуется использовать клей Permatex 66B silicone). Капните также немного клея и на концы светодиодной полосы, создав тем самым стойкий гидрозатвор. Приклеивайте эту ленту вокруг подошвы и закрепляйте её резинками на время высыхания (примерно 24 часа). Подключаем светодиодную ленту к платформе FLORA. На заключительном этапе проводим питание для подсветки. Подключите к FLORA аккумулятор 3хААА и подложите его в любое удобное место в кроссовке. К примеру, под шнурки обуви. Для второго кроссовка всё то же самое, аналогичный ход работы. Вот и весь процесс сборки. При неторопливом и вдумчивом подходе к преобразованию такой незначительной детали получаем весьма эффектный элемент личного гардероба! Если нет времени или желания разбираться в программировании контроллера, полная инструкция с необходимым кодом для контроллера можно взять по ссылке: https://learn.adafruit.com/firewalker-led-sneakers?view=all Существует экономичный вариант LED кроссовок – исключив использование цифровой светодиодной ленты, микроконтроллера и сделав подсветку постоянной, с минимальной функциональностью включения и отключения на батарейном блоке.
  9. Сервопривод + программируемая светодиодная лента 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
  10. Привнесите ослепительную яркость уличного освещения на ваше рабочее место, превратив уличный фонарь в ваш новый торшер. Этот уличный фонарь был найден в строительном магазине. Похоже, он был сильно поврежден, частично деформирован, и в нем не хватало стеклянной крышки, которая защищает лампу. Для домашнего освещения он подходил идеально. Это промышленное световое решение является абсолютно уникальным и, несомненно, вызовет удивление и восторг у ваших коллег. А так же, как в и настоящий фонарный столб, этот торшер может послужить прекрасным холстом для записок и объявлений. Центральной частью этого проекта, конечно, является корпус уличного фонаря. Я нашел свой на свалке, на которой собрана куча сумасшедших вещей. Основа для лампы Начал с основы для моей лампы. Так как я хотел торшер и знал что основа должна быть прочной, так что решил использовать два листа фанеры. Это позволило лампе быть устойчивой и стоять без опоры. Хотя моя лампа и не нуждалась в опоре, я решил, что ножка ей нужна все таки большего размера, или же вес должен распределяться так, чтобы она не заваливалась. Основа лампы – делаем отверстие для трубы Производим позиционирование монтажной втулки у края одного из листов и отмечаем место внутреннего выхода на одном листе. Отверстия под болты так же отмечаем на фанере. Основное отверстие вырезаем при помощи кольцевой пилы и просверливаем отверстия под болты. Я также использовал зенковку, чтобы скрыть головки болтов. Болты вкрутил через низ во втулку - они нужны, чтобы фиксировать втулку на месте. После этого, второй лист фанеры прикрепил к нижней стороне первой части и закрепил винтами. Затем отшлифовал эту прочную основу для того, чтобы удалить заусенцы и закруглить углы. Сокращение длины вертикальной трубки Так как я хотел, чтобы моя лампа включалась при помощи выдвижной цепочки как у многих торшеров и бра, я решил обрезать длинную трубу. Вертикальные отверстия для электрического кабеля Я просверлил небольшое отверстие рядом с одним концом трубы для того, чтобы вставить электрический кабель. Когда сверлится такое отверстие, дрель должна быть наклонена под углом, чтобы впоследствии можно было протянуть кабель внутрь трубы. Отверстие следует обработать и убрать все заусенцы. Теперь можно протягивать кабель. Верхушка фонаря – прикрепляем переходную угловую трубку Этот уличный фонарь крепится к трубе кронштейном, который имеет два больших болта, удерживающих его на месте. Верхушка фонаря – цоколь лампы Чтобы сделать разъем для патрона в этом светильнике необходим материал, на котором его можно будет установить Наконечник можно прикрепить к деревянному кронштейну. Я отметил центральную точку на кусочке дерева и высверлил отверстие такого же диаметра как и наконечник. Наконечник был с резьбой, поэтому я смог установить его внутри кронштейна, вставив его в зажимный патрон дрели и вкрутив в кронштейн. Теперь можно провести электрический кабель через отверстие в соединительной трубке и протянуть в патрон. Дальше можно собрать сам патрон. Плафон – создаем крышку с помощью вакуумного пресса Моя лампа досталась мне без плафона, поэтому я решил сделать его сам. Есть несколько способов, чтобы сделать куполообразную крышку лампы, но у нас был доступ к вакуумному прессу и решено было использовать его. Пришлось поискать в магазине что-нибудь, что имело бы приблизительно нужную форму. В итоге купили арбуз и разрезали его пополам. Форма купола была почти идеальной. Вакуумное формование происходит при помощи нагревания тонкого листа пластика. Объект, форму которого вы хотите получить, помещается на вакуумном столе. Дальше лист пластика помещается в аппарат и вакуумный стол активируется. Горячий пластик затем растягивается вокруг объекта. Когда пластик остывает, он затвердевает в форме объекта. Плафон – обрезка вакуумной пластиковой формы После вакуумного формования арбуз можно вытащить, нарезать и съесть. Форму вакуумной формовки разрезать ножницами в соответствии с размером отверстия фонаря. Плафон – делаем напыление на крышке Чтобы плафон фонаря светился равномерно, необходимо сделать напыление на прозрачном пластике. Так как у меня был доступ к пескоструйному аппарату, я решил использовать его. Вы можете легко достичь тех же результатов с наждачной бумагой. Плафон – отверстие для выключателя Теперь необходимо сделать отверстие для выключателя в пластиковой крышке. Отмечаем место, где будет проходить цепочка и просверливаем отверстие при помощи дрели. Можно устанавливать крышку. Цепь протягиваем через крышку, а нижнюю половину лампы прикрепляем к верхушке фонаря. Сборка лампы Установив все составляющие, мы можем прикрепить верхушку фонаря Я использовал муфту скрепляя вместе две секции. Включаем свет! Наконец, я отполировал алюминий при помощи машинного масла, чтобы придать ему темный матовый цвет. Установил торшер над моим столом, чтобы он находился на безопасном расстоянии, а цепь выключателя была прямо над головой. Теперь мой стол может купаться в славных люменах уличного фонаря, стоит мне только потянуть за цепь!
  11. Интерактивный светодиодный халат с алкотестером Определяем участки для светодиодной ленты Необходимо придумать узор свечения, он может быть к примеру: Cветодиодную ленту можно резать в строго отведенных местах как правило кратно 3 светодиодам, в зависимости от типа ленты кратность резки может быть и 1 светодиод. Определитесь с типом используемой ленты, одноцветная или многоцветная. Важно! Устанавливать необходимо герметичную светодиодную ленту именно с эпоксидным покрытием. Она имеют защиту от атмосферных воздействий и предотвращают изломы. Как только вы выбрали узор свечения, возьмите один из ваших халатов и выложите свой узор на нем. Везде, где будут располагаться светодиодные полосы приклеиваем изоленту. Теперь, нарежьте полосы, равной длине каждой из полос, расположенных на халате. После того, как разрезали светодиодные ленты, необходимо зачистить эпоксидную смолу на концах полосок, для последующей пайки проводов. Светодиодные ленты имеют клейкий слой, как скотч. Но поскольку халат будет находится в движении, силы этого слоя будет недостаточно, чтобы длительное время удерживать светодиодные полосы на халате. Исправить это, поможет горячий клеевой пистолет. Не забудьте предварительно снять защитную пленку от липкой ленты. Пайка проводов Отрежьте необходимую длину провода. Далее зачистите концы провода и тщательно припаяйте каждый из четырех проводов к четырем контактным площадкам на светодиодных лентах. Повторить для каждой полосы, расположенной на халате. Далее необходимо сделать общую точку для присоединения к ней проводов. Будьте последовательны с цветом провода. Теперь, когда халат-подкладка готов, нужно пришить его к основному халату. Сшить два слоя вместе в задней части плеча, над верхушками плеч, верх, правую и левую стороны. Необходимо оставить зазоры, чтобы запустить провода через подмышечные впадины. Отрезать воротник наружного халата. Присоединить на липучке наружный слой с внутренним слоем на воротнике. Пришить застежку-молнию на основной халат, удалив пуговицы с подкладного халата. Место для вставки контроллера вы можете выбрать сами на свое усмотрение: между лопатками (плечами), под руку, и т.д. Вырезать места для кнопок включения на основном халате и пришить их к халату-подкладке. А теперь самое интересное! Подключаем по схеме акселерометр, микрофон и собственно сам контроллер Arduin Схема подключения к Arduino: Ваш халат может загореться в ответ на любое количество датчиков, которые могут быть подключены к Arduino. В примере кода вы найдете акселерометр (мигающий при ходьбе или танце), микрофон (будет мигать, как вы говорите) и датчик расстояния (с приближением к вещи свечение усилится) Код: led халат.txt Халат имеет много точек пайки и много проводов, идущих на Arduino. Прежде чем закрыть точки пайки, необходимо запустить и проверить каждый цветовой режим, чтобы убедится в качестве выполненной работы. Склеиваем низ манжет на рукавах, внутренний и наружный слой.
×
×
  • Create New...