
Инженериум DIY
Делюсь прошлогодней гирляндой, доработанной и улучшенной
Привет, пикабу! 370 дней назад я написал пост про свою гирлянду, срубил плюсцов и пропал на год и пообещал выложить все необходимое, чтобы ее самостоятельно собратьну и переписать все основательно, так как старая версия была ужасна. В общем, выполняю обещание, хоть и очень поздно уже, но, надеюсь, кому-нибудь это все-таки будет полезно. Итак, вот ссылка на скачивание прошивки. Внутри лежит образ прошивки и образ файловой системы. У меня все крутилось на ESP8266 Wemos D1 mini, проверить работоспособность я смог только на ней. Нашел способ быстро и "безболезненно" собирать прошивки пачками под разные девайсы, на днях опробую и выложу уже под больше плат.
Ютьюб почему-то заблокировал вчера мое видео, поэтому, очень надеюсь, что на vimeo все будет ок. Ёлка страшная, собиралась на скорую руку лишь бы успеть, поэтому не судите строго. Сейчас она уже красивее=)
Итак, нам понадобится:
-светодиодная лента с контроллерами WS2812
-контроллер на базе ESP8266, в идеале это Wemos D1 mini, как у меня
-блок питания под ленту и контроллер
-тактовая кнопка и резистор на 10к
Для начала, подключим кнопку, как показано в этом примере, только пин для кнопки будем использовать D1, в обозначениях Wemos D1 mini. Ленту подключаем к пину D2.
Затем зальем прошивку и файловую систему через эту софтину.
Внимание, так как настройки читаются из EEPROM, если вы на своем контроллере раньше в него что-то писали, то настоятельно рекомендую его предварительно очистить.
Итак, по порядку: гирлянда имеет 3 режима работы: как клиент-подключается к вашему роутеру по WiFi, как самостоятельная точка доступа и режим принудительной настройки.
1. Режим клиента
В режиме клиента гирлянда цепляется к вашей вайфай сети, получает адрес в сети роутера и поднимает на нем http сервер. Достучаться до нее можно по адресу, который ей выдал роутер. Например, если роутер выдал ей адрес 192.168.1.10 то адрес для доуступа к веб интерфейсу будет выглядеть как http://192.168.1.10
Первая загрузка веб интерфейса происходит очень долго, запаситесь терпением. Ждать придется около 20 секунд. После загрузки все кешируется (на 1 месяц) и уже работает очень шустро. Также, не знаю как на iOS, но на андроиде можно для веб приложений создавать ярлыки на рабочем столе, я сделал так, чтобы в этом режиме приложение венлядело и работало максимально приближенно к реальному приложению. Очень рекомендую так сделать. При работе в режиме клиента контроллер мигает 1 раз в 10 секунд.
Скриншоты веб-приложения:
2. Режим точки доступа
В этом режиме гирлянда сама создает точку доступа с параметрами, которые вы ей укажете. Светодиод контроллера мигает тоже 1 раз в 10 секунд.
3. Режим принудительной настройки.
В этом режиме недоступно управление, он должен использоваться только для перенастройки устройства или, скажем, если вы ввели неправильный пароль и гирлянда не может подключиться к вашей точке доступа.
В режим принудительной настройки можно попасть в 2 случаях:
-если была нажата кнопка прямо после запуска, когда контроллер мигает 2 раза в секунду и ждет в течение 3 секунд пока пользователь нажмет кнопку
-если не удалось прочитать настройки из памяти
Что бы я еще хотел дополнительно упомянуть:
-не все светодиодные ленты имеют светодиоды подключенные по схеме RGB, поэтому, если у вас именно такая лента, то некоторые цвета, например зеленый и красный, поменяются местами.
-максимальная длина ленты 510 светодиодов, можно сделать и больше, но мне пока не надо
-без кнопки устройство всегда будет грузиться в режим принудительно настройки (3)
-есть некоторые баги, о них, просьба, сообщать мне. Протестировать абсолютно все сценарии использования и настройки у меня не хватило сил и времени, так что очень надеюсь на обратную связь.
Пару слов о разработке и технологиях. Хоть у меня и был в запасе целый год, делать гирлянду я начал только в середине нобря, поделал буквально пару дней и закрутился в круговороте дел до середины декабря, с этого момента возобновил разработку и вот вчера, 28 декабря, все доделал. Итого примерно 2 недели по вечерам и ночам, около 60 часов времени. Клиентская часть написана на Angular 5 + прикручены контролы и темы https://material.angular.io/. Обновление параметров сделано через вебсокеты в режиме реального времени. Архитектура приложения построена таким образом, чтобы можно было легко и быстро добавлять новые режимы и параметры к уже существующим режимам. Веб приложение абсолютно всю информацию о режимах, параметрах и типах параметров берет из контроллера, в зависимости от типа параметра рендерит соответствующий ему контрол и привязывает данные. Таким образом, добавление новых режимов в прошивку вызовет автоматическое обновление веб-интерфейса под них. Режиов пока мало, но широкие возможности кастомизации каждого из них на первое время устроят большинство пользователей. Режимы буду добавлять, конечно же, через год=)
Немного картинок по внутрянке, как добавлены режимы:
и параметры:
Вот, собственно, и вся магия.
От всей души поздравляю всех с Наступающим новым годом. До новых встреч!
P.S. может кому-то покажется, очень сумбурно написано или слишком много воды или что-то еще - прошу простить, чукча не писатель, чукча программист
Фонарик в стиле ХАЙ-ТАК
Собственно, с чего бы хотелось начать.. Фонариками я занимаюсь давно, эта тема мне нравиться и как хобби и как творческая реализация, но вот написать полноценную статью и где-то разместить, решился только сейчас.
Скажу сразу, всё что я делаю, я делаю в первую очередь для себя, что-то удобно в работе, что-то в качестве эксперимента, и некоторый процент по просьбе друзей и коллег. Особой задачи сделать заводской и мега красивый вид, нет, исключительно функционал, удобство и возможно оригинальность.
И так, фонарик которому уже года 2 как исполнилось и который до сей поры превосходно работает, на сколько я знаю)). Потому как сделан он был на заказ, одному хорошему человеку.
Задача на изготовление стояла следующая:
1 - фонарик должен быть на светодиодах
2 - должны быть реализованы ближний и дальний свет
3 - должен стоять аккумулятор, которого в среднем должно хватать минимум на 2 часа
4 - возможность заряжать фонарик не вынимая аккумулятор с индикацией процесса
5 - 2 независимых режима работы дальнего и ближнего света
6 - возможность крепить на различные поверхности
Ну что же, задачи ясны, обоснованы и понятны, а значит можно приступать к рукоделию.
В первую очередь конечно же стал вопрос с корпусом...
Отдать бороду из проводов и лампочек, это конечно очень оригинально, если вы любитель головоломок и пучков старых гирлянд, но ведь как минимум это не практично.))
Думал я не долго, потому как некоторый опыт, с ошибками и успехами, у меня уже был, вариантов было несколько но всё по порядку!
И так, с предысторией покончено, теперь о главном!
Что мне было нужно для фонарика:
1 - корпус
2 - аккумулятор
3 - светодиоды
4 - выключатели
5 - драйвер на светодиод
6 - контроллер на аккумулятор
8 - различные клеи
9 - приспособы для крепления фонарика
10 - радиатор на светодиод
11 - термопаста
12 - линза в корпусе
Ну и естественно из инструментов:
Паяльник, пилка по металлу (дремель), термопистолет(зажигалка).
Как видно из фото, для корпуса был выбран кабельный канал, с ним легко работать и он имеет не высокую цену, параметры я взял 25х16мм отрезком 100мм (отрезок можно было сделать ножом либо пилкой по металлу, но для удобства и ввиду возможностей я воспользовался дремелем с алмазным диском). На крышку "кабельканала", при помощи момента, были приклеены 3 планки светодиодной ленты на алюминиевой основе, так как лента попалась совсем китайская и явно не оригинал, параметры светодиодов не имеют значения но для информации по прайсу шли как планки по 50см на светодиодах SMD 5730.
Так как лента рассчитана на 12в, а использовать мы будем АКБ li-ion на 3.7в, пришлось обрезать дорожи и соединить всё светодиоды параллельно, да это не совсем правильно и желательно на каждый СД установить своей ток-ограничивающий резистор, но если не выжимать всю мощность светодиодов, а оставить некоторый запас, то можно и так, к тому же нагрев будет меньше, а ресурс работы выше несмотря на различие параметров отдельных СД.
Далее, чтобы защитить светодиоды от повреждения и короткого замыкания при эксплуатации, я решил в качестве эксперимента залить их эпоксидной смолой для стекла, эффект получился интересный, потому как спектр свечения зримо ушёл в холодную область и незначительно упала яркость, но не критично, для глаза почти не заметно.
Теперь займёмся другой частью корпуса. Клеим неодимовые магниты в необходимом количестве, для возможности крепления фонарика на металлические поверхности (под капот машины, в эл.щитке и т.д.).
Пока эпоксидка сохла на "ближнем свете" и дне корпуса, подошло время заняться дальним.
Для "дальнего" света мне понадобился светодиод на 3Вт 3.6в белого свечения и основа для крепления на радиатор по типу "звезда", естественно всё это дело крепиться с использованием термопасты либо паяльной пасты для лучшего теплоотвода, припаиваются провода и крепиться линза.
Примерно так это выглядит в сборе
При высокой температуре кристалл деградирует и теряет яркость, а то и вовсе выходит из строя и данной подложки явно будет недостаточно. Однако и найти радиатор подходящего размера тоже проблема, пришлось колхозить, да простят меня электронщики, и использовать в качестве радиатора фольгу.
Пол метра простой пищевой фольги, скатывается в шарик нужного диаметра, далее придаётся форма корпуса и выводиться ровная грань для крепления светодиодной сборки.
В данном варианте сборка СД с линзой, крепиться на клей момент по краю, в центре нанесена термопаста для лучшего контакта с пористой фольгой. И всё это дело, после высыхания, вклеивается в корпус. (данную конструкцию проверял не раз, нагрев умеренный даже в закрытом корпусе, замер температуры был на фольге и на подложке светодиода)
После того как уже определено место "фары" и клей схватился, вырезаем отверстия под выключатели и крепим их.
Пока и эта наша конструкция просыхает окончательно, нужно заняться питанием. Аккумулятор я взял Б\У от какой то NOKIA на 1020 мА\ч, при замере реальная ёмкость составила 950мА, что в принципе не плохо, хотя могло быть и лучше.
Так как Li-ion аккумуляторы крайне чувствительны к режимам работы, а тем более зарядки, да и стоит задача удобной эксплуатации и индикации процесса, было приобрести у китайцев контроллер известный как TP4056 с микро USB разъёмом, мне досталась модификация с защитой от КЗ и от переразряда, что в принципе реализовано в самом АКБ но лишним не будет.
Схема подключения проста до безобразия, однако так как бёмкость батареи меньше 1000мА, а ток зарядки рекомендуется выбирать исходя из половины ёмкости АКБ, а в идеале 1\10 ёмкости, нужно заменить на контроллере резистор R3 который установлен на 1.2 кОм, что соответствует току заряда 1000мА. Я заменил его на 3.9кОм и выходной ток составил 300мА, что вполне вписывается в рамки.
Таблицу зависимостей резисторов можете найти в интернете по модели платы TP4056
А вот то что получилось
Далее, всё это следует упаковать компактно в корпус и спаять провода согласно схеме
Резистор в цепи питания на 1.2Ом 1Вт служит для ограничения тока светодиодов. Изначально планировалось установить ШИМ стабилизаторы AMS7135 на 350мА но к тому моменту посылка с ними где то затерялась на просторах почты России, да и резисторов я не нашёл, потому взял отрезок проволки с катушки старого электро счётчика (не знаю какое сечение) вымерял 1.2 Ом и на том был доволен.
Вообще по характеристикам светодиодов на ближний свет идёт 3.2в 375мА, а на дальний 3.6в 700мА, но во первых это не плохой такой нагрев, во вторых меньшее время работы от АКБ, поэтому резистора как раз хватает, чтобы каждый в отдельности потреблял примерно 350мА, что практически полностью решает проблему перегрева с данными типами радиаторов.
И так получилось вот что:
С эстетикой конечно проблема, но начнём с того, что это было давно и я только начинал свои изыскания, во вторых, корпус будет не разборный, ведь в процессе сборки всё будет залито термоклеем.
Но опять же, всё по прядку..
С задней стороны, я приклеил дужку от канцелярской прищепки, для возможности подвешивания фонарик на "гвоздик", светодиоды на контроллере получились внутри корпуса, а значит их будет не видно, дабы облегчить себе жизнь и не делать лишних распаек и усложнений схем, я просто залил их прозрачным термоклеем до корпуса, получился своего рода световод, в темноте видно очень хорошо как светится корпус в месте установки платы.
Выключатели и АКБ, так же закрепил термоклеем, самопальные резисторы посадил на клей момент ввиду их небольшого, но нагрева, при работе.
Собственно на этом сборка почти закончена, остаётся собрать две половинки кабельного канала вместе и залить торцы белым не прозрачным термоклеем.
Ну и напоследок повтор фотографий из начала темы:
P.S. Написание первой вводной статьи заняло 3.5 часа, устал но доволен, если что то упустил или забыл, прошу сильно не ругаться, надеюсь было не занудно и вполне понятно)).
Есть ещё несколько десятков фонариков которые были собраны, но к сожалению, фотографии только конечного результата, а не процесса сборки. Но если статья показалась вам сносной для первого раза, то вполне возможно следующий фонарик соберу с подробным отчётом.
Тюнинг кораблика
Нашел как-то в кладовке у тестя пластиковую модельку парома, прикольная такая, на батарейках с моторчиком типа водометного, как позже выяснилось его нашла где-то сестра жены, так и валялся без дела, пока я его не увидел...
Был у него минус: невозможно было им управлять, т.е. просто включаешь и пошел он и как потом ловить не понятно... Что, собственно, я и решил исправить.
Откопал в закромах старую, сломанную р/у машинку, даже две. От одной взял мотор (родной был слабоват), плату и пульт, а от второй поворотный механизм снял. Немного поколдовал, где-то что-то доработал. Тяга на руль, например, сделана из канцелярской скрепки...
В общем что вышло, то вышло... Даже испытания на открытой воде проводил.


























