Hoje montaremos um dispositivo que lembrará nossas senhas e, pressionando o botão, as inseriremos automaticamente no computador. Nesse caso, as senhas serão protegidas. O autor deste produto caseiro é Michael (canal do YouTube "Arturos TV").
Para a fabricação independente desse dispositivo, precisamos de apenas 3 componentes. Antes de tudo, é claro que é uma plataforma (por favor, não confunda com arduino pro mini).
Este arduino possui um microcontrolador ATmega32u4, o que significa que possui um USB embutido, ou seja, o computador reconhece esse arduino como mouse ou teclado. É em torno desse recurso que o projeto de hoje será construído.
Além disso, este arduino tem uma pinagem um pouco fora do padrão. No entanto, encontraremos isso um pouco mais tarde. Além disso, precisaremos navegar no menu e inserir a senha.
Vamos tratar brevemente do princípio de seu trabalho. O codificador possui 2 contatos chamados condicionalmente, aeb, dependendo da direção em que o codificador será girado.
Por exemplo, se rodarmos no sentido dos ponteiros do relógio, o contacto "a" fecha primeiro e só depois entra em contacto com "b". Com base nisso, no programa, podemos entender que o codificador foi girado no sentido horário. Se girar no sentido anti-horário, o contato "b" será fechado primeiro e somente então o contato "a". Após cada revolução, um leve clique também é sentido. É com base nisso que a senha se baseará, que precisará ser inserida para obter acesso ao nosso dispositivo.
O menu do dispositivo será exibido no familiar, é claro, no barramento I2C.
E há uma ligeira nuance. No arduino pro micro, os contatos I2C não estão nas portas padrão A5 e A4, mas nos contatos 2 e 3, portanto, é necessário conectar o monitor aqui.
Em geral, o diagrama de todo o dispositivo montado é assim:
Obviamente, imprimiremos o estojo em uma impressora 3D.
Desta vez, saiu muito bem, mas por algum motivo o autor decidiu fazer o design e, portanto, a tampa inferior não era muito bonita. Mas não há nada a ser feito, mas com as dimensões da caixa e a distância entre os furos desta vez tudo saiu muito bem. Todos os detalhes se encaixaram e, com muito pouca dificuldade, acabou apertando todos os parafusos para fixar as peças. Infelizmente, a cola quente foi novamente possível, mas neste projeto já era um pouco.
Obviamente, a coisa mais interessante sobre esse projeto foi escrever o firmware.
Não vamos nos aprofundar nos detalhes, mas é necessário falar sobre alguns de seus recursos. Primeiro de tudo, esse é o uso da biblioteca keyboard.h.
Essa biblioteca é usada apenas com placas micro arduino leonardo e arduino pro ou com aquelas que possuem microcontroladores usb embutidos. Se você tentar piscar com este esboço com qualquer outro arduino que não possua um usb embutido, o ambiente de desenvolvimento jurará, por isso tome cuidado. Outra biblioteca interessante é a EEPROM.h.
Seu autor usa para complicar os invasores que invadiram nosso dispositivo. No entanto, mais sobre isso mais tarde. Esta linha será muito interessante para você:
Aqui, definimos o código de acesso do nosso dispositivo para desbloqueá-lo. No entanto, um pouco mais tarde sobre segurança, mas lembre-se de que aqui temos a oportunidade de especificar "0" ou "1". No momento, definimos a senha "101".
E também um bloco muito importante, é aqui que as senhas serão armazenadas.
Observe que esta é uma matriz bidimensional e o número de senhas aqui é geralmente ilimitado. Embora, estritamente falando, seja limitado pela memória do dispositivo, isso pode ser negligenciado. É muito importante cumprir o formato de gravação. Suponha que o primeiro campo seja o que aparece no menu do dispositivo. Ou seja, por exemplo, "Admin".
Em seguida, separados por vírgulas e entre aspas, precisamos escrever nossa senha, na qual queremos que o dispositivo entre no computador. Por exemplo, há uma seção "Teste" (isso será escrito na tela do nosso dispositivo).
E se pressionarmos o botão, esse texto será inserido no computador:
A beleza deste dispositivo é que, se o microcontrolador estiver piscando com algum tipo de esboço, é impossível obtê-lo a partir daí. Se você definir todas as senhas e todos os seus nomes aqui uma vez e depois apagá-las deste firmware, ninguém mais terá acesso às suas senhas, exceto pelo fato de um invasor quebrar o dispositivo e entender como ele funciona.
O seguinte é um firmware bastante longo e não entraremos em detalhes. Você pode fazer o download pelo link na descrição abaixo do vídeo do autor (o link SOURCE no final do artigo).
Então, terminamos o firmware, agora vamos ver como esse dispositivo funciona. Nós o conectamos ao computador, para que ele consiga energia.
Agora, nossa tarefa é inserir a senha. A senha, como você se lembra, é zeros e uns, além disso, “1” é um clique da rotação no sentido horário do codificador e “0” é rotação no sentido anti-horário. Ou seja, como definimos a senha 101, precisamos rolar a alavanca 1 vez para a direita, 1 vez para a esquerda e novamente para a direita.
Assim, inserimos a senha clicando no codificador e podemos acessar a senha no computador.
Observe que temos apenas 3 tentativas. Se gastarmos todos, o dispositivo solicitará que você espere um minuto antes que possamos tentar novamente digitar a senha.
E para aqueles que são especialmente inteligentes, que entendem que precisam esperar um minuto e desconectar o dispositivo da fonte de alimentação e reconectá-lo, o dispositivo dirá a eles que devem interromper seus truques traiçoeiros e que sabem tudo sobre eles, pois ainda é necessário tempo a espera é constantemente registrada na memória não volátil.
Bem, espero que você entenda como esse dispositivo funciona. Obrigado pela atenção. Até breve!
Vídeo: