Оглавление:

Устройство открывания гаражных ворот для iPhone и Arduino: 8 шагов
Устройство открывания гаражных ворот для iPhone и Arduino: 8 шагов

Видео: Устройство открывания гаражных ворот для iPhone и Arduino: 8 шагов

Видео: Устройство открывания гаражных ворот для iPhone и Arduino: 8 шагов
Видео: Открывать ворота смартфоном 2024, Июль
Anonim
Устройство открывания гаражных ворот для iPhone и Arduino
Устройство открывания гаражных ворот для iPhone и Arduino

Я часто следую многим техническим инструкциям и всегда удивляюсь тому, что люди придумывают. Некоторое время назад я нашел инструкцию по устройству открывания гаражных ворот через Wi-Fi, которое, на мой взгляд, было действительно круто, и добавил его в свой бесконечный список интересных проектов. Перенесемся в настоящее, а я все еще не добрался до проекта. Но у меня был ребенок (ну, жена родила, а не я). Родственники были достаточно любезны, чтобы предложить 5-дневный уход в моем доме (да, я испорчена), но они умоляли меня дать им щелчок для гаражных ворот, чтобы они оставались в их машине, вместо того, чтобы использовать темпераментную клавиатуру. за пределами гаража. Итак, передо мной стояли два варианта. Уделите пять минут, чтобы перепрограммировать их кликер для моего гаража. Или возьму несколько недель, чтобы наконец поработать над моим проектом открывания ворот гаража. Так родилось мое бинго-банго.

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

  • Не требовал пароля
  • Должен работать только при подключении к моей домашней локальной сети
  • Пользовательское приложение на моем iPhone для управления им
  • Используйте Arduino с экраном Ethernet или Wi-Fi
  • Сделать это доказательство зятя

Шаг 1. Что вам нужно

Что вам нужно
Что вам нужно
Что вам нужно
Что вам нужно
Что вам нужно
Что вам нужно

"loading =" lazy "мой код был написан и загружен как на Arduino, так и на iPhone, пришло время для отладки. Поскольку у меня еще не было всего подключено к моему гаражу, я хотел как-то имитировать его поведение. Включите светодиоды.

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

Чтобы увидеть, как это работает, вы можете посмотреть короткое (дерьмовое, извините!) Видео, как это работает. Вуаля! Пока работает!

Шаг 7: Подключение

Поскольку мой 3D-принтер находится на обслуживании, у меня еще не было возможности распечатать футляр. В предыдущем руководстве, на котором я основал этот, есть файлы.stl, доступные для загрузки. (Примечание: если вы планируете использовать файлы.stl, единицы измерения указаны в сантиметрах после переписки с автором. Мне пришлось масштабировать мои файлы.stl в 10 раз, поскольку мой принтер работает в миллиметрах). Мне придется изменить конструкцию, так как у меня две двери и, следовательно, нужно два реле. Но так как мне не терпится все подключить, я начал устанавливать электронику на кусок дерева, который у меня валялся. Таким образом, я не буду демонстрировать абсолютный готовый продукт в этом руководстве.

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

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

Шаг 8: Заключительные мысли

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

  • Между нажатием кнопки на iPhone и ответом гаражных ворот была некоторая непоследовательная задержка. Это может быть ошибка программного обеспечения или реализации, но я все еще изучаю ее.
  • Большая проблема: после загрузки приложения в приложение для iPhone я заметил, что через несколько дней, когда я пытался открыть приложение, оно вместо этого просто возвращалось на главный экран. Это было последовательное поведение. Немного поработав мозг, я наконец сломался и разместил вопрос о stackoverflow. Ответ одного парня казался правильным: империя зла, в которую превратилась Apple, решила, что если вы не разработчик, то сертификат доверия, который вы получаете от Xcode для недавно разработанного приложения, действителен только в течение 1 недели. После этого он не будет работать на вашем iPhone, если вы не переустановите его (и не сбросите 1 недельный обратный отсчет) или вы не заплатите им комиссию в размере 99 долларов за более длинный сертификат. Я нашел это совершенно разочаровывающим. Как будто я зря потратил свое время. Но если вы разработчик, то для вас это не будет проблемой.
  • Одна мысль, которая пришла мне в голову, заключалась в том, что если кто-то вручную нажимает кнопку двери гаража, это событие не фиксируется в коде Arduino. Итак, что касается Arduino, состояние двери остается неизменным до нажатия кнопки. Кроме того, если кто-то стоял под дверью, когда другой человек использовал приложение, чтобы закрыть ее. Датчики двери заставят дверь снова подняться, и это событие также не фиксируется в коде Arduino. Излишне говорить, что это еще один момент, который необходимо выяснить.

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

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