Оглавление:

Управляемая Arduino телефонная док-станция с лампами: 14 шагов (с изображениями)
Управляемая Arduino телефонная док-станция с лампами: 14 шагов (с изображениями)

Видео: Управляемая Arduino телефонная док-станция с лампами: 14 шагов (с изображениями)

Видео: Управляемая Arduino телефонная док-станция с лампами: 14 шагов (с изображениями)
Видео: ► Как построить умный дом ● лекция ● [часть 3 из 4] 2024, Июль
Anonim
Image
Image
Контролируемая Arduino телефонная док-станция с лампами
Контролируемая Arduino телефонная док-станция с лампами
Контролируемая Arduino телефонная док-станция с лампами
Контролируемая Arduino телефонная док-станция с лампами

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

Шаг 1. Что я использовал

Что я использовал
Что я использовал
Что я использовал
Что я использовал
Что я использовал
Что я использовал

Это ни в коем случае не исчерпывающий список всего, что я использовал, но я хотел дать общее представление об основных компонентах, которые я использовал. Я включил ссылки Amazon для большинства этих компонентов. (Обратите внимание, что я получаю небольшую комиссию от Amazon, если вы используете эти ссылки. Спасибо!)

Arduino Uno: https://amzn.to/2c2onfeAdafruit 5V DC Current Sensor (x2): https://amzn.to/2citA0S2-Channel Solid State Relay: https://amzn.to/2cmKfkA 4-портовый USB-бокс: https://amzn.to/2cmKfkA 1 'USB-кабель для монтажа на панель (x2): https://amzn.to/2cmKfkA 6-дюймовый USB-кабель AB:

Я также использовал следующие принадлежности, которые я купил в хозяйственном магазине: пластиковые короба для кабелепровода 4 дюйма x 4 дюйма (x2), лампы Эдисона мощностью 40 Вт (x2) Гайки для удлинительного шнура

Шаг 2: эксперименты, дизайн и подключение

Эксперименты, дизайн и электромонтаж
Эксперименты, дизайн и электромонтаж

Чтобы определить, когда телефон заряжается, необходимо постоянно контролировать ток, подаваемый на телефон. Хотя я уверен, что существуют схемы, которые могут измерять ток и управлять реле в зависимости от уровня тока, я ни в коем случае не специалист по электричеству и не хотел бы заниматься созданием нестандартной схемы. Из некоторого опыта я знал, что небольшой микроконтроллер (Arduino) можно использовать для измерения тока, а затем управления реле для включения и выключения света. Обнаружив небольшой датчик постоянного тока от Adafruit, я начал экспериментировать с подключением его к USB-кабелю, чтобы измерить ток, протекающий через него при зарядке телефона. Типичный кабель USB 2.0 содержит 4 провода: белый, черный, зеленый и красный. Поскольку черный и красный провода передают питание по кабелю, любой из них можно использовать для измерения тока - я использовал красные провода. Типичный датчик тока должен быть размещен на одной линии с потоком тока (ток должен проходить через датчик), и датчик Adafruit не является исключением из этого правила. Красный провод был разрезан так, что два обрезанных конца были прикреплены к двум винтовым клеммам на датчике тока. Датчик Adafruit был подключен к Arduino, и я написал простой код для сообщения о текущем потоке через датчик. Этот простой эксперимент показал мне, что зарядный телефон потребляет от 100 до 400 мА. После полной зарядки телефона ток упадет ниже 100 мА, но не достигнет нуля.

После того, как мой эксперимент успешно продемонстрировал, что я могу измерять ток с помощью Arduino, я разработал схему, показанную выше. Два 1-дюймовых удлинительных USB-кабеля для монтажа на панели должны быть подключены к зарядному устройству с 4 портами. Кабели для зарядки телефона будут подключены к этим удлинительным кабелям, что сделает систему пригодной для использования с любым типом USB-кабеля для зарядки и, надеюсь, сделает ее «будущим телефоном». Красные провода удлинительных кабелей будут отрезаны и подключены к датчикам тока. Датчики тока передают информацию в Arduino, который, в свою очередь, управляет двухканальным твердотельным реле. Реле используется для переключения питания 110V на лампочки. Питание к USB-коробке и лампочкам можно соединить вместе, позволяя системе использовать одну розетку. Мне особенно нравится, как питание Arduino может подаваться через один из дополнительных USB-портов в зарядном устройстве.

Шаг 3. Телефонная док-станция

Телефонная док-станция
Телефонная док-станция

Док-станция для телефона была сделана из черной трубы диаметром 3/8 дюйма. Я использовал два отвода «папа-мама», Т-образный, короткую секцию с полной резьбой и круглый фланец. Для латунных деталей в верхней части док-станции я отрезал латунная труба длиной 1 1/2 дюйма пополам и используется по одной половине для каждой части. В Т-образном отверстии просверлили небольшое отверстие, достаточно большое, чтобы в него могли пройти концы осветительных кабелей. Кабели продевались через колена и приваривались JB к латунным трубкам. Это оказалось намного сложнее, чем кажется, поскольку локти не были достаточно большими внутри, чтобы пропустить конец светового кабеля. В итоге я расширил внутреннюю часть локтей, пока они не подошли.

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

Шаг 4: лампы

Лампы
Лампы
Лампы
Лампы

Я хотел, чтобы лампы имели такой же индустриальный вид, как и док-станция. Для первой лампы я использовал стандартный патрон лампы, установленный поверх трубного фланца 3/8 дюйма. Несколько небольших латунных трубок соединяют основание с патроном и дополняют латунные вставки на док-станции. Лампа Эдисона мощностью 40 Вт - действительно звезда Я хотел использовать лампы Эдисона, так как они идеально сочетаются с дизайном этой док-станции и позволяют создать красивую лампу с открытой лампой.

В то время как в Lowe's я нашел кронштейн трековых фонарей на просвет, который мне показался интересным. Я перевернул кронштейн и добавил фланец трубы, чтобы сделать основу. Гнездо в держателе трекового фонаря не было прикреплено к нему, так как оно предназначалось для удержания на месте лампочки с плоским экраном. Поскольку я использовал лампу Эдисона, я сделал небольшой алюминиевый кронштейн, чтобы удерживать патрон внутри круглого корпуса кронштейна трекового фонаря. Маленькие латунные ручки были добавлены, чтобы дополнить остальную часть системы.

Когда док и фары были завершены, они были выкрашены в черный матовый цвет - за исключением латунных деталей.

Шаг 5: корпус Arduino

Корпус Arduino
Корпус Arduino
Корпус Arduino
Корпус Arduino
Корпус Arduino
Корпус Arduino

Я использовал два корпуса из ПВХ размером 4 x 4 дюйма для корпуса Arduino. Я вырезал вентиляционные отверстия с одной стороны и в крышке каждого корпуса. На боковой стороне одного корпуса я вырезал два прямоугольных отверстия для кабелей USB для монтажа на панель. Отверстия, расположенные на расстоянии 1 1/8 дюйма по центру, были просверлены с обеих сторон этих прямоугольных отверстий и использовались для прикрепления кабелей к корпусу. Одна сторона обоих корпусов была вырезана так, чтобы две коробки образовали единую коробку, когда они были установить бок о бок. Деревянный блок толщиной 3/4 дюйма использовался для удержания ящиков в такой конфигурации бок о бок, а также служил удобной основой для их сидения.

Шаг 6: прикрепите USB-бокс

Прикрепите USB-бокс
Прикрепите USB-бокс

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

Шаг 7: установите Arduino в корпус

Установите Arduino в корпус
Установите Arduino в корпус
Установите Arduino в корпус
Установите Arduino в корпус
Установите Arduino в корпус
Установите Arduino в корпус

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

После того, как Arduino был установлен, короткий (6-дюймовый) USB-кабель типа AB был подключен между USB-портом Arduino и ближайшим портом зарядного устройства. Это было очень плотно для шнура, и мне фактически пришлось обрезать его. гибкие пластиковые кусочки, окружающие провод на конце кабеля, чтобы он подходил.

Шаг 8: Подключение и установка реле

Подключение и установка реле
Подключение и установка реле
Электромонтаж и установка реле
Электромонтаж и установка реле
Подключение и установка реле
Подключение и установка реле
Подключение и установка реле
Подключение и установка реле

Шнуры к лампам подводились через отверстия в кожухе. Один провод от каждого шнура был подключен к выходам (коммутируемая сторона 120 В) обоих каналов твердотельного реле. Короткие (4 дюйма) отрезки провода были подключены к оставшимся винтовым клеммам рядом с тем местом, где были подключены эти провода лампы. Эти провода будут использоваться для подачи питания на сторону 120 В реле.

На стороне постоянного тока реле были подключены 4 провода в соответствии с показанной конфигурацией. Два провода подают напряжение + и - постоянного тока, необходимое для работы реле, а оставшиеся два провода несут цифровые сигналы, которые сообщают каналам о включении или выключении.

Эти 4 провода были затем подключены к Arduino следующим образом: красный провод (DC +) подключен к контакту 5 В. Черный провод (DC-) подключен к контакту GND. Коричневый провод (CH1) подключен к цифровому выходной контакт 7 Оранжевый провод (CH2) подключен к цифровому выходному контакту 8.

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

Шаг 9: Подключение и установка датчиков тока

Подключение и установка датчиков тока
Подключение и установка датчиков тока
Подключение и установка датчиков тока
Подключение и установка датчиков тока
Подключение и установка датчиков тока
Подключение и установка датчиков тока

Провода связи и питания были созданы для двух датчиков тока путем сращивания двух наборов проводов, ведущих от датчиков к Arduino. Как и раньше, для питания датчиков используются красный и черный провода. Эти провода подключаются к контактам Vin (красный провод) и GND (черный провод) Arduino. Удивительно, но даже провода связи (провода SDA и SDL) можно соединить вместе. Это связано с тем, что каждому датчику тока Adafruit может быть присвоен уникальный адрес в зависимости от того, как их контактные контакты припаяны вместе. Если на плате нет ни одного из контактов, спаянных вместе, плата адресуется как плата 0x40 и будет обозначаться как таковая в коде Arduino. Паяя контакты адреса A0 вместе, как показано на схеме, адрес платы становится 0x41. Если подключены только контакты адреса A1, плата будет 0x44, а если подключены оба контакта A0 и A1, адрес будет 0x45. Поскольку мы используем только два датчика тока, мне нужно было припаять только контакты адреса на плате 1, как показано.

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

Провода SDA (синий) и SCL (желтый) от датчиков подключены к контактам SDA и SCL на Arduino. Эти контакты не были помечены на моем Arduino, но они являются последними двумя контактами после контакта AREF на цифровой стороне платы.

Шаг 10. Подключите удлинительные кабели USB

Подключите удлинительные кабели USB
Подключите удлинительные кабели USB
Подключите удлинительные кабели USB
Подключите удлинительные кабели USB

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

Шаг 11: Подключите питание

Подключите питание
Подключите питание

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

Шаг 12: Завершенная система

Завершенная система
Завершенная система
Завершенная система
Завершенная система

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

Шаг 13: Код Arduino

Разработка кода Arduino была довольно простой, хотя потребовалось несколько тестов, чтобы получить ее правильно. В своей простейшей форме код отправляет сигнал для питания соответствующего релейного канала всякий раз, когда он считывает ток, превышающий или равный 90 мА. Хотя этот простой код был хорошей отправной точкой, сотовые телефоны не заряжаются до 100%, а затем потребляют очень мало тока. Скорее, я обнаружил, что после зарядки телефон потребляет несколько сотен мА на короткое время каждые несколько минут. Как будто телефон представляет собой дырявое ведро, которое нужно доливать каждые несколько минут.

Чтобы решить эту проблему, я разработал стратегию, в которой каждый канал может находиться в одном из трех состояний. Состояние 0 определяется, когда телефон был извлечен из зарядной док-станции. На практике я обнаружил, что при снятии телефона практически не протекает ток, но я установил верхний предел тока в этом состоянии на 10 мА. Состояние 1 - это состояние, при котором телефон полностью заряжен, но все еще находится в док-станции. Если ток падает ниже 90 мА и превышает 10 мА, система находится в состоянии 1. Состояние 2 - это состояние зарядки, при котором телефон потребляет 90 мА или более.

Когда телефон помещается в док-станцию, инициируется состояние 2, которое продолжается во время зарядки. Когда зарядка завершается и ток падает ниже 90 мА, система переходит в состояние 1. В этот момент было сделано условное заявление, чтобы система не могла напрямую перейти из состояния 1 в состояние 2. Это удерживает систему в состоянии 1 до тех пор, пока телефон не отключится. удален, после чего он переходит в состояние 0. Поскольку система может перейти из состояния 0 в состояние 2, когда телефон снова помещается в зарядное устройство и ток превышает 90 мА, состояние 2 запускается снова. Только когда система находится в состоянии 2, на реле отправляется сигнал, чтобы включить свет.

Еще одна проблема, с которой я столкнулся, заключается в том, что ток иногда ненадолго опускался ниже 90 мА, прежде чем телефон был полностью заряжен. Это переведет систему в состояние 1 раньше, чем должно было. Чтобы исправить это, я усредняю текущие данные за 10 секунд, и только если среднее значение тока упадет ниже 90 мА, система перейдет в состояние 1.

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

Шаг 14: Готовая система

Готовая система
Готовая система
Готовая система
Готовая система
Готовая система
Готовая система
Готовая система
Готовая система

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

Рекомендуемые: