Съдържание:

Отваряне на гаражни врати за iPhone и Arduino: 8 стъпки
Отваряне на гаражни врати за iPhone и Arduino: 8 стъпки

Видео: Отваряне на гаражни врати за iPhone и Arduino: 8 стъпки

Видео: Отваряне на гаражни врати за iPhone и Arduino: 8 стъпки
Видео: CS50 2013 - Week 9 2024, Юли
Anonim
Отваряне на гаражни врати за iPhone и Arduino
Отваряне на гаражни врати за iPhone и Arduino

Често следя много технически инструктажи и винаги съм изумен от нещата, които хората измислят. Преди известно време намерих инструкция за отваряне на гаражни врати за wifi, която ми се стори наистина страхотна и я добавих към безкрайния ми списък със забавни проекти. Бързо напред към настоящето и все още не бях стигнал до проекта. Но аз имах бебе (добре, жена ми го направи, не аз). Свекървите ми бяха достатъчно любезни, за да предложат 5-дневна грижа в къщата ми (да, разглезен съм), но те ме помолиха да им дам щракач на гаражна врата, за да ги държат в колата си, вместо да се налага да използват темпераментната клавиатура извън гаража. И така, пред мен стоят две възможности. Отделете петте минути, за да препрограмирате техния кликер за моя гараж. Или отделете няколко седмици, за да работите най -накрая по моя проект за отваряне на гаражни врати. И така, бинго-банго, се роди моят инструктор.

Върнах се към първоначалното публикуване и харесах много хардуерни функции, които авторът използва, но софтуерът не е точно това, което исках. Така че желаното от мен решение трябваше да има следните характеристики:

  • Не изисква парола
  • Трябва да работи само когато съм свързан към домашната LAN мрежа
  • Персонализирано приложение на моя iPhone, за да го контролирам
  • Използвайте Arduino с Ethernet или wifi щит
  • Направете го доказателство за закон

Стъпка 1: Какво ви трябва

От какво имаш нужда
От какво имаш нужда
От какво имаш нужда
От какво имаш нужда
От какво имаш нужда
От какво имаш нужда

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

Взех два червени и два зелени светодиода, свързани, както е показано на по -ранна снимка. Един комплект от зелено и червено ще представлява лявата врата, а останалата част за дясната врата. Ако някоя от вратите беше затворена, тогава зелената светлина ще мига непрекъснато. В противен случай, ако някоя врата беше отворена, червената светлина ще мига. Избрах първоначалното състояние на вратите да бъдат затворени (зелени мигащи светлини), защото когато свързвам за първи път Arduino към отварачката, ще се уверя, че вратите са затворени.

За да видите как работи, можете да гледате краткия (глупав res - съжалявам!) Видеоклип в действие. Вола! Работи досега!

Стъпка 7: Свържете го

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

След като електрониката беше монтирана на парчето дърво, което имах, беше просто да намеря временен дом за нея на стената. На снимките можете да видите малко бъркотия от проводници, преминаващи от рутера към Arduino, Arduino към релето и накрая релето към бутоните на гаражната врата. Когато извадих действителния бутон и развих корпуса от стената, имаше само два проводника. Така че, точно както инструкциите, които използвах, за да основавам моята, можете да закачите проводниците от релето в произволен ред към клемите на бутона на вратата.

След това цялата настройка работи магически за първи път! Съжалявам, че не публикувам видеоклип. Трябваше временно да го сваля, преди да успея да заснема видео, на което работи, но кълна се, че го направи!

Стъпка 8: Заключителни мисли

След като поиграх малко с това, забелязах някои проблеми, които ще спомена по -долу. Те са доста важни, така че, моля, помислете за тях, преди да решите да дублирате този проект.

  • Имаше някаква непоследователна латентност между натискането на бутона на iPhone и реагирането на гаражните врати. Това може да е грешка в софтуера или внедряването, но все още го проучвам.
  • Голям проблем: След като заредих приложението в приложението iPhone, забелязах, че след няколко дни, когато се опитам да отворя приложението, то просто ще се върне на началния екран. Това беше последователно поведение. След като си увирах мозъка за малко, най -накрая се счупих и публикувах въпроса в stackoverflow. Отговорът на един колега изглеждаше правилен: Империята на злото, в която се превърна Apple, реши, че ако не сте разработчик, тогава сертификатът за доверие, който получавате от Xcode за новоразработеното ви приложение, е добър само за 1 седмица. След това той няма да работи на вашия iPhone, освен ако не го инсталирате отново (и отброяването за 1 седмица се нулира) или не им платите такса от $ 99 за по -дълъг сертификат. Намерих това за напълно обезсърчаващо. Почти сякаш си загубих времето. Но ако сте разработчик, това няма да е проблем за вас.
  • Една мисъл, която ми хрумна, беше, ако някой натисне ръчно бутона на вратата на гаража, това събитие не се улавя в кода на Arduino. Така че що се отнася до Arduino, състоянието на вратата остава непроменено преди натискането на бутона. Освен това, ако някой стоеше под вратата, когато друг човек използваше приложението, за да го затвори. Сензорите на вратата ще принудят вратата да се върне отново нагоре и това събитие също не се улавя в кода на Arduino. Излишно е да казвам, че това е друг момент, който трябва да се изясни.

Така че благодаря за търпението с мен и отново се извинявам за някои от бъги поведението. Моля, уведомете ме, ако имате въпроси!

Препоръчано: