Pull to refresh

Умная лампа

Reading time 8 min
Views 13K
Привет, Хабр! Предлагаю вашему вниманию перевод статьи «DIY Smart Lamp» автора Maciej Matuszewski.

Пошаговое руководство по переходу от придуманной идеи к работающему продукту.

image

Ожидание против реальности

image

Вы когда-нибудь задавали себе следующие вопросы?


  • Может ли горячий клей зафиксировать ВСЕ?
  • Сложно ли сделать умное оборудование?
  • Можете ли вы залить бетон в картонную форму?

Если нет, может быть, пришло время. Но если ты это делал, то добро пожаловать в клуб! У нас недавно был внутренний хакатон в EL Passion, и у меня возникла сложная идея. Делаем лампу!

Умную лампу.
Умную лампу из бетона.
Умную деревянную/бетонную лампу со светодиодной полосой RGB…
И BLUETOOTH!

За два коротких дня хакатона (с небольшими накладными расходами) мы выполнили все это!

Все началось с электроники


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

Я начал с основ, получил некоторые компоненты, посмотрел учебники, а потом не мог решить, что делать дальше.

Примерно через два месяца я вспомнил, что готовился хакатон!

Я также недавно видел выступление Stephanie Nemeth на конференции, где она показала фантастические вещи, которые вы можете сделать с Arduino и RGB-подсветкой. Поэтому я решил, что хочу сделать что-то настолько аккуратное, как это.

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

Я остановился на самой очевидной вещи, которую можно сделать с помощью ламп — лампы. И я нашел идеальную сборку DIY, которой хотел подражать.

image

DIY lamp from a DIY Creators youtube tutorial

У меня уже была идея. Теперь мне нужна команда.

Питчинг — Сбор команды


За три дня до хакатона у нас обычно есть презентация, где мы представляем свои идеи остальной части компании и собираем людей, которые будут работать над нашим проектом. Я не большой продавец, так что моя звучало примерно так:
Хммм, так что да, я хочу сделать бетонную умную лампу. Большое спасибо.

Несмотря на недостаток информации, в моей команде было пять человек, заинтересованных в присоединении! У нас был впечатляющий набор навыков:

  • Мацей — я был как генеральный директор группы. Я спланировал сборку, удостоверился, что у нас есть все, что нам нужно, и помог собрать все части вместе (в переносном и переносном смысле).
  • Войтек — он взял на себя должность начальника отдела электроники. Он спланировал схему, создал прототип и работал с Якубом (iOS), чтобы убедиться, что Bluetooth работает. Он также позаботился о том, чтобы мы не сожгли здание.
  • Ула — Бетонный начальник столярной мастерской и горячего клея. Она позаботилась о том, чтобы мы все сделали правильно, сохранила сроки и работала над деревянным корпусом лампы.
  • Ага — Разнорабочий команды. Она появилась, когда мы больше всего в ней нуждались, и убедилась, что наша «ручная» часть сборки будет работать.
  • Якуб — руководитель отдела мобильной разработки. Удостоверились, что у нас есть удивительное, нативное, кроссплатформенное, но на самом деле единственное приложение ios, потому что кто использует android для управления лампой.

Шоппинг


Давайте посмотрим на список покупок. Я перечислил только то, что мы использовали и постоянно встраивали в лампу. Все дополнительное оборудование, Arduino (создание прототипов, загрузка кода в AVR) и компоненты, которые мы взломали, не учитываются.

Общая стоимость: 159 злотых (около 43 долларов США).

Можно получить все предметы по более низкой цене, но в нашем случае это было довольно срочно.

image
Доски, бетон, шлифовальная бумага и другие полезные вещи.

Часть 1: Бетонное основание


image

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

  • Оставить место на дне для электроники
  • Оставить два отверстия для ручек оттенка и насыщенности
  • Оставить место для деревянной руки

Мы придумали что-то вроде этого:

image

Это выглядит просто, но сделать это было не так легко. Для создания основания мы использовали картонную коробку, много серой ленты, коробку «волшебная мышь 2», две пластиковые соломинки и немного горячего клея.

image
Позже мы смешали и добавили бетон.

image
Не для людей с непереносимостью лактозы, извините.

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

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

image

Часть 2: Деревянная рука


image

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

image
Чудом мы не сожгли офис.

image
Оказывается, правильно измерять вещи сложно.

Мы начали с изготовления верхней части руки.


image
Полное представление.

image

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

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

image
Термоусадочные трубки и паяные соединения соединяют две светодиодные ленты.

После приклеивания первой полоски к дереву я понял, что забыл, какие кабели я подключал к выходам Red, Green, Blue и 12V +. Это была небольшая неудача, но, к счастью, у нас был мультиметр, который позволял нам проверять соединения.

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

image

Нижняя часть руки, как показано на рисунке выше, также была довольно сложной


image

image

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

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

Естественный сосновый цвет не был так хорош, поэтому Ула нарисовала верхнюю и нижнюю части лампы, чтобы они стали немного темнее. Мы оставили его сохнуть на ночь, и на следующий день мы подключили её, и это выглядело великолепно!

image
Процесс покраски.

image
Расположение кабелей внутри лампы.

Часть 3: Программное обеспечение iOS-приложение


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

Были некоторые проблемы с подключением Bluetooth, точнее, один модуль Bluetooth был подключен к iOS, но не к Android, а другой пошел наоборот. Сейчас лампа работает только с iOS, но для MVP этого достаточно. И модуль Bluetooth может быть легко переключен при необходимости, так как он не припаян на месте.

Код iOS-приложения

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

image

Код Arduino / ATmega


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

Упрощенный программный алгоритм лампы

Двигаясь от Arduino к ATmega


Войтек написал первую версию кода для Arduino, а позже я обновил ее, чтобы она работала на обычном чипе ATmega. Различия минимальны, так как я ввел только два основных изменения:
Я удалил одно из последовательных соединений — ранее у нас было одно последовательное соединение, которое мы использовали для отладки (печать на консоль на компьютере), и другое для Bluetooth. Когда мы перешли на ATmega, нам больше не нужна была отладочная, которая освободила два контакта и упростила соединения.

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

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


Часть 4: электроника


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

image

Мы начали с детских шагов, тестируя различные решения методом проб и ошибок. Войтек работал над кодом и схемой одновременно и проверил, как все работает. Электронная часть лампы состояла из:

  • Микроконтроллер — мозг
  • Две ручки с кнопками для управления яркостью, оттенком и насыщенностью
  • Модуль Bluetooth для беспроводного управления
  • Светодиодная лента для света

Сначала мы использовали Arduino вместо автономного микроконтроллера и поместили все на макет, чтобы упростить процесс разработки. В конце второго дня у нас было все, что связано с платой-прототипом. Bluetooth, поворотные энкодеры и Arduino. Вот как это выглядело на демонстрационной сессии:

image

Нам также удалось сжечь один чип Bluetooth…

Часть 5: Давайте сделаем это меньше!


После хакатона я хотел потратить некоторое время и сжать электронику, чтобы она поместилась внутри лампы, чтобы сборка была завершена. Чтобы сжать электронику, мне пришлось:

  • Заменить Arduino на ATmega328
  • Распланировать соединения на картоне
  • Припаять гнездо для AVR, чтобы мы могли заменить его при необходимости
  • Припаять несъемные элементы (транзисторы, розетка постоянного тока и т. Д.)
  • Соедините все это вместе

Я начал с замены Arduino. Для этого мне нужно было установить загрузчик на AVme ATmega (он тот же, что и в Arduino). Я посмотрел несколько учебных пособий о том, как установить загрузчик и как использовать Arduino в качестве ISP-программиста (он позволяет загружать программное обеспечение в микроконтроллер без какого-либо дополнительного оборудования). После этого я обновил код, чтобы использовать немного другие контакты и вуаля!

image
Arduino отключился успешно!

Затем мне пришлось спаять все это на крошечном картоне.

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

image

Планирование схемы самой схемы заняло у меня больше часа.

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

image

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

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

image

image
Все части вместе взятые. Белые кабели — это ручки, маленькие провода с черной изоляцией — это светодиодные соединения

image
Вид снизу. Я использовал тонкий медный провод для соединения суставов

image
Если вы посмотрите достаточно близко, вы сможете увидеть весь клей, который мы использовали.

image

Готовый продукт!


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

image
image

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

Если кто-то хочет создать аналогичную лампу или нуждается в более подробной информации, не стесняйтесь комментировать и спрашивать меня что-нибудь!
Tags:
Hubs:
+14
Comments 50
Comments Comments 50

Articles