Crie uma Zona Segura com Arduino para Desbloquear Dispositivos Android, iOS e Windows 10
Componentes e Materiais
| Módulo Bluetooth Serial Sem Fio HC-05 | 1 |
| Arduino Nano R3 | 1 |
| Módulo de Impressão Digital R301T | 1 |
| LED RGB 5mm 4 Pinos | 1 |
Aplicativos e Serviços Online
- Arduino IDE
Sobre o Projeto
Neste artigo, queremos criar um gadget legal que possa criar uma zona segura para seus dispositivos serem desbloqueados. Ao final deste projeto você:
- Aprenderá como usar um sensor de impressão digital
- Aprenderá como emparelhar seus dispositivos com seu gadget de zona segura
- Criará um gadget legal chamado zona segura

Bloquear e Desbloquear Dispositivos
Hoje em dia, nosso uso de dispositivos inteligentes aumentou e temos muitos dados diferentes neles como conteúdo de chats, contatos, imagens, notas e assim por diante. Mas alguns deles precisam ser privados para nós e isso é muito importante e talvez seja a principal razão para configurarmos nossos dispositivos como bloqueados. Todos os dispositivos inteligentes têm métodos diferentes para definir o modo de bloqueio ou desbloqueio, mas às vezes eles são limitados e causam uma sensação ruim quando você precisa passar pela seção de segurança para usar os dispositivos. Por exemplo, quando você está trabalhando no seu quarto particular e não há ninguém por perto, você não precisa de uma seção de segurança e fazer um plano para desligá-la é um pouco complicado.
Então, tivemos a ideia de criar um pequeno gadget que pudesse se conectar com todos os nossos dispositivos inteligentes e quando quisermos trabalhar facilmente sem segurança, apenas o ativamos com nossa digital. Quando o gadget é ativado, ele emparelha com nossos dispositivos via Bluetooth e eles permanecerão desbloqueados enquanto o gadget estiver próximo a eles.
Módulo de Impressão Digital R301T

Neste projeto, usamos o módulo sensor R301T que faz comunicação serial com um controlador como o Arduino para trocar dados. Primeiro, registramos nossa impressão digital no R301T como um usuário e o conectamos aos pinos Tx e Rx do Arduino. Usamos um módulo Bluetooth chamado HC-05 e o emparelhamos com nossos dispositivos uma vez. Agora vamos escrever um código para o Arduino e dizer a ele para ligar o Bluetooth quando um usuário ativar o gadget. Vamos lá!
Circuito

Código
Você deve adicionar a biblioteca do sensor de impressão digital e depois fazer o upload do código. Se é a primeira vez que você usa uma placa Arduino, não se preocupe, siga estes passos:
- Acesse www.arduino.cc/en/Main/Software e baixe o software Arduino compatível com seu SO. Instale o software IDE conforme instruído.
- Execute o Arduino IDE e limpe o editor de texto e copie o código a seguir no editor de texto.
- Escolha a placa em Ferramentas > Placas, selecione sua placa Arduino.
- Conecte o Arduino ao seu PC e defina a porta COM em Ferramentas > Porta.
- Pressione o botão de upload (seta).
- Está tudo pronto!
#include "Adafruit_Fingerprint.h"
#include "SoftwareSerial.h"
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
int cc = 0;
void setup() {
Serial.begin(9600);
while (!Serial); // Para Yun/Leo/Micro/Zero/...
delay(100);
Serial.println("\n\nAdafruit finger detect test");
// define a taxa de dados para a porta serial do sensor
finger.begin(57600);
if (finger.verifyPassword()) {
Serial.println("Found fingerprint sensor!");
} else {
Serial.println("Did not find fingerprint sensor :(");
while (1) {
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
pinMode(9, OUTPUT);
digitalWrite(9, HIGH);
}
}
finger.getTemplateCount();
Serial.print("Sensor contains ");
Serial.print(finger.templateCount);
Serial.println(" templates");
Serial.println("Waiting for valid finger...");
}
void loop() {
getFingerprintIDez();
delay(50); // não precisa rodar em velocidade máxima.
}
uint8_t getFingerprintID() {
uint8_t p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
Serial.println("No finger detected");
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
return p;
default:
Serial.println("Unknown error");
return p;
}
p = finger.image2Tz();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image converted");
break;
case FINGERPRINT_IMAGEMESS:
Serial.println("Image too messy");
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_FEATUREFAIL:
Serial.println("Could not find fingerprint features");
return p;
case FINGERPRINT_INVALIDIMAGE:
Serial.println("Could not find fingerprint features");
return p;
default:
Serial.println("Unknown error");
return p;
}
p = finger.fingerFastSearch();
if (p == FINGERPRINT_OK) {
Serial.println("Found a print match!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_NOTFOUND) {
Serial.println("Did not find a match");
return p;
} else {
Serial.println("Unknown error");
return p;
}
Serial.print("Found ID #");
Serial.print(finger.fingerID);
Serial.print(" with confidence of ");
Serial.println(finger.confidence);
for (int i = 255; i > 1; i--) {
analogWrite(9, i);
delay(10);
}
if (cc % 2 == 0) digitalWrite(13, HIGH);
else digitalWrite(13, LOW);
cc++;
return finger.fingerID;
}
// retorna -1 se falhou, caso contrário retorna ID #
int getFingerprintIDez() {
uint8_t p = finger.getImage();
if (p != FINGERPRINT_OK) return -1;
p = finger.image2Tz();
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) return -1;
// encontrou uma correspondência!
Serial.print("Found ID #");
Serial.print(finger.fingerID);
Serial.print(" with confidence of ");
Serial.println(finger.confidence);
return finger.fingerID;
}
Montagem

Primeiro, você deve emparelhar o módulo Bluetooth com seu dispositivo. Para emparelhar com Windows 10, vá em Configurações e pesquise "opções de entrada" e ative "Bloqueio Dinâmico" e emparelhe seu módulo BT a partir daí. Para smartphones Android, vá em Configurações > Seção Tela > Tela de Bloqueio e ative "Smart Lock" a partir daí e emparelhe com BT. Para iOS, vá em Ajustes, entre em Touch ID e Código e faça a configuração lá.
Se seus dispositivos não emparelharem automaticamente, você pode usar este truque. Quando tentar emparelhar pela primeira vez, envie um caractere para o dispositivo.
O Que Vem a Seguir?
Você pode melhorar este projeto como desejar. Aqui estão algumas sugestões:
- Tente tornar seu gadget sensível a uma localização específica.
- Tente criar o mesmo acesso limitado para outros usuários.
Código
Biblioteca de Impressão Digital
Sem prévia (apenas download).
Processo de manufatura
- Painel de Controle para Flight Simulator 2020 com Arduino Nano – Display LCD e CDI
- Crie um Sistema Ambilight Impressionante para Monitor com Arduino
- Sistema Inteligente de Monitoramento de Temperatura para Escolas: Preciso, Tempo Real e Seguro
- Biblioteca Eficiente de Porta IO de 8 Bits para Arduino – Expanda o Controle Digital
- Controle de LED Arduino via App iOS/Android com WiFi/Ethernet
- Teclado Prototípico de 64 Teclas com Arduino: Matriz com Registradores de Deslocamento
- Criar Tons Musicais com Arduino: Um Guia Passo a Passo
- Circuito de Entrada Analógica Isolada para Arduino
- Kit de Robô de Navegação Interna Inteligente para Projetos Arduino
- Como Bombas de Água Diretas Aumentam Eficiência na Transmissão de Água