Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Умный бесключевой замок: Arduino + Android (Bluetooth, пароль)

Компоненты и материалы

Необходимые инструменты

Приложения и сервисы

О проекте

Этот умный замок обеспечивает безопасный, простой и удобный доступ к дому без ключей. Замок монтируется внутри двери, поэтому взломщик не может добраться до механизма извне. Управление осуществляется с Android-смартфона через Bluetooth. Приложение отправляет пароль; если он совпадает с заданным в Arduino, сервопривод открывает/закрывает замок и отправляет подтверждение на телефон.

3D-модель замка

Все детали печатаются на 3D-принтере. Автор использует дизайн пользователя Thingiverse ridercz (thing:2350856). Файлы доступны для скачивания. Существуют облегченные версии (LT) — меньше пластик, но достаточная прочность. Автор напечатал LT-версию на Anet A8 — работает отлично.

Сборка 3D-деталей

Собирайте детали последовательно по фото/видео. Закрепите 4 шурупами для жесткости.

Программа Arduino (Bluetooth + пароль)

Логика проста: Android-приложение отправляет команду с паролем. Две команды: OPEN= и CLOSE=. Пароль может содержать цифры, буквы, символы. В приложении два поля: ввод пароля и кнопки «Open Door» / «Close Door». При нажатии приложение склеивает команду, знак «=» и пароль, отправляет строку (например, OPEN=myPass123\n). Arduino разделяет строку по символу «=», проверяет пароль, при совпадении выполняет команду сервопривода и отправляет ответ: OPEN, CLOSE или WRONG.

Схема подключения

Установка замка на дверь

  1. Закрепите корпус замка 4 шурупами.
  2. Установите HC-05 в отверстие корпуса, зафиксируйте горячим клеем.
  3. Поместите Arduino UNO в нижнюю часть корпуса, подключите по схеме.
  4. Подайте питание (5В 1А).

Разработка Android-приложения в MIT App Inventor

App Inventor не требует кодирования и установки ПО — нужен только Google-аккаунт. ai2.appinventor.mit.edu

Дизайнер (UI)

  1. Создайте проект «BluetoothControlDoorLock» (без пробелов).
  2. Добавьте: ListPicker (переименуйте в «Connect to Bluetooth Device»), Label («Enter Password»), PasswordTextBox, две Button («Open Door», «Close Door»), невидимый компонент BluetoothClient.

Блоки (Logic)

Сборка APK

Menu → Build → «App (save .apk to my computer)». Установите на телефон.

Расширенное приложение (BTcontrol)

Базовое приложение не показывает статус соединения или ошибки. Автор предоставляет улучшенную версию:

Для модификации: Projects → Import project (.aia) from my computer.

Программный код (Arduino Sketch)

#include <Servo.h>
Servo myservo;
String inputString = "";
String command = "";
String value = "";
String password = "arduPi"; // Ваш пароль
boolean stringComplete = false;

void setup() {
  Serial.begin(9600);
  inputString.reserve(50);
  command.reserve(50);
  value.reserve(50);
  myservo.attach(9);
}

void loop() {
  if (stringComplete) {
    delay(100);
    int pos = inputString.indexOf('=');
    if (pos > -1) {
      command = inputString.substring(0, pos);
      value = inputString.substring(pos + 1, inputString.length() - 1);
      
      if (!password.compareTo(value) && (command == "OPEN")) {
        openDoor();
        Serial.println(" OPEN");
        delay(100);
      } else if (!password.compareTo(value) && (command == "CLOSE")) {
        closeDoor();
        Serial.println(" CLOSE");
        delay(100);
      } else if (password.compareTo(value)) {
        Serial.println(" WRONG");
        delay(100);
      }
    }
    inputString = "";
    stringComplete = false;
  }
}

void serialEvent() {
  while (Serial.available()) {
    char inChar = (char)Serial.read();
    inputString += inChar;
    if (inChar == '\n' || inChar == '\r') {
      stringComplete = true;
    }
  }
}

void openDoor() {
  myservo.write(0);
  delay(100);
}

void closeDoor() {
  myservo.write(65); // Угол может отличаться — откалибруйте!
  delay(100);
}

3D-модели и файлы

Схемы

Схема подключения (изображение в оригинале). Файлы: door-lock_android_source_PDi5PbxDwC.aia, door-lock_android_app_K05l3Csr61.apk.

Производственный процесс

  1. Внутри банковских хранилищ: история, дизайн и будущее безопасности
  2. Каналы и шлюзы: инженерия, история и будущее водного транспорта в США
  3. Создание надежного RFID-замка на Arduino — пошаговое руководство
  4. Универсальный Android-пульт на Arduino, 1Sheeld и ИК-управлении
  5. Создание анимации и игр на LCD 16×2 с Arduino UNO
  6. Управление Roomba Create 2 через Arduino и Android: пошаговое руководство
  7. Электронный кодовый замок на Arduino с клавиатурой и линейным приводом
  8. Управление Arduino Uno из Python 3: команды через последовательный порт и демонстрация с LED
  9. Клеточный автомат «Жизнь» Конвея на Arduino Nano с OLED 128x64
  10. WiFi-умный замок на Arduino и ESP8266 — открывание с телефона