Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Serrure de porte sans clé intelligente – Arduino et système de mot de passe Bluetooth Android

Composants et fournitures

Arduino UNO × 1
Module Bluetooth HC-05 × 1
Servomoteur (Tower Pro MG996R) × 1

Outils et machines nécessaires

Applications et services en ligne

À propos du projet

Introduction

Cette serrure intelligente est une solution sécurisée, simple et facile à gérer pour verrouiller votre porte. Elle ne nécessite aucune clé : la serrure est fixée à l'intérieur de la porte et se contrôle depuis l'extérieur via Bluetooth. Étant à l'intérieur, elle ne peut être forcée par un cambrioleur. Une application Android permet d'ouvrir et fermer la serrure ; un mot de passe est envoyé et, s'il correspond au mot de passe prédéfini, la serrure s'ouvre et renvoie une confirmation au téléphone.

Conception 3D de la serrure

Toutes les pièces sont imprimées en 3D. Remerciements à l'utilisateur Thingiverse ridercz pour son design de serrure à servomoteur publié sur Thingiverse.com. Les fichiers (sauf Rack_Holder.stl) proviennent de son design. Des versions "LT" (Light) existent, nécessitant moins de PLA et offrant une résistance légèrement moindre ; elles fonctionnent bien. Imprimé sur une Anet A8.

Assemblage des pièces imprimées

Assembler toutes les pièces comme montré sur les photos. Utiliser quatre vis pour fixer solidement l'ensemble.

Programme Arduino pour contrôle Bluetooth par mot de passe

Le code est simple. L'application Android envoie une commande avec le mot de passe. Deux commandes sont définies : OPEN= et CLOSE=. Le mot de passe peut contenir chiffres, lettres, symboles ou combinaisons. L'application a deux boutons : "Ouvrir la porte" et "Fermer la porte". Quand on entre le mot de passe et clique sur "Ouvrir", l'application joint OPEN= au mot de passe et l'envoie à l'Arduino. Le signe = sert de séparateur entre la commande et le mot de passe. L'Arduino sépare la commande et le mot de passe, vérifie le mot de passe, et si celui-ci correspond, exécute la commande (ouvrir ou fermer).

Schéma de câblage

La connexion est simple : le module Bluetooth HC-05 se connecte à l'Arduino. Broche TX de l'Arduino → RX du module Bluetooth ; broche RX de l'Arduino → TX du module Bluetooth.

Installation de la serrure sur la porte

Après avoir programmé l'Arduino et testé les connexions, fixer la serrure avec quatre vis. Placer le module Bluetooth au bon endroit et le fixer avec de la colle chaude. Placer l'Arduino sous la serrure et connecter les fils selon le schéma. Alimenter le circuit avec un adaptateur 5V 1A.

Développement de l'application Android pour serrure protégée par mot de passe

L'application est développée avec MIT App Inventor (pas de codage, pas d'installation, juste un compte Google). Étapes :

  1. Aller sur ai2.appinventor.mit.edu et se connecter avec Google.
  2. Accepter les conditions.
  3. Cliquer "Take survey later" puis "Continue".
  4. Démarrer un nouveau projet (sans espaces) nommé "BluetoothControlDoorLock".
  5. Dans le Designer : ajouter un ListPicker (renommé "Connect to Bluetooth Device"), un Label, une zone de texte mot de passe, deux boutons ("Open Door", "Close Door"), et un composant BluetoothClient (invisible).
  6. Passer au Blocks Editor pour programmer le comportement : blocs pour ListPicker.BeforePicking et AfterPicking, gestion de la connexion Bluetooth, envoi des commandes OPEN=motdepasse et CLOSE=motdepasse.
  7. Générer l'APK via le menu Build → "App (save .apk to my computer)".

Application Android plus complète

Une version avancée (BTcontrol.aia / BTcontrol.apk) vérifie si le Bluetooth est activé, affiche l'adresse MAC et le nom de l'appareil connecté, montre des messages "porte ouverte", "porte fermée", "mot de passe incorrect", etc. Disponible sur Google Play Store : lien. Pour modifier, importer le fichier .aia dans App Inventor.

Code

Sketch Arduino

#include <Servo.h>
Servo myservo;
String inputString = "";
String command = "";
String value = "";
String password = "arduPi"; // mot de passe par défaut, modifiable
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);
}

Pièces personnalisées et boîtiers

Fichiers CAO sur Thingiverse : thingiverse.com/thing:2350856

Schémas

Schéma de câblage + fichiers source App Inventor (door-lock_android_source_PDi5PbxDwC.aia) et APK (door-lock_android_app_K05l3Csr61.apk).

Processus de fabrication

  1. À l'intérieur des coffres-forts bancaires : histoire, conception et avenir de la sécurité
  2. Canaux et Écluses : Ingénierie, Histoire et Avenir du Transport Fluvial aux États-Unis
  3. Créer un verrou RFID sécurisé avec Arduino – Guide étape par étape
  4. Construire une télécommande Android universelle avec Arduino, 1Sheeld et contrôle IR
  5. Créer des animations et jeux sur LCD avec Arduino UNO
  6. Contrôlez votre Roomba Create 2 avec Arduino et Android – Guide pas à pas
  7. Serrure de porte sécurisée par mot de passe avec Arduino, clavier et actionneur linéaire
  8. Automates Cellulaires Temps Réel sur Arduino avec Écran OLED 128x64
  9. Serrure connectée WiFi avec Arduino et ESP8266 – Déverrouillage par smartphone