Índice:

Teclado de macro Bluetooth DIY: 10 etapas (com imagens)
Teclado de macro Bluetooth DIY: 10 etapas (com imagens)

Vídeo: Teclado de macro Bluetooth DIY: 10 etapas (com imagens)

Vídeo: Teclado de macro Bluetooth DIY: 10 etapas (com imagens)
Vídeo: Como colocar macro (remapeamento de tecla) em qualquer teclado #macro #dicaspc #pc 2024, Novembro
Anonim
DIY teclado macro Bluetooth
DIY teclado macro Bluetooth

Neste Instructable, vamos dar uma olhada em como usar o Bluetooth integrado do ESP32 para emular um teclado Bluetooth.

Bluetooth HID (Human Interface Device) é o protocolo usado por teclados e mouses Bluetooth comuns e é possível emular isso com apenas um ESP32, o que é ótimo!

Com algumas placas de desenvolvimento ESP32 a partir de menos de US $ 5 * entregues, esta é uma maneira realmente barata e simples de criar teclados personalizados sem fio, como teclados Macro. Os teclados macro podem ser usados para controlar vários aplicativos como editores de vídeo ou Photoshop, pessoalmente, eu uso o meu para controlar cenas em OBS quando estou fazendo vídeos ou streaming.

Primeiro, veremos como usar a biblioteca de teclado ESP32 HID e, em seguida, mostrarei como usei isso para construir um teclado macro Bluetooth alimentado por bateria.

Suprimentos

  • Placa TinyPICO ESP32 Dev (qualquer ESP32 pode funcionar)
  • Teclado de matriz 4 * 4 *

Você também vai precisar de uma bateria lipo, eu acabei de usar uma aleatória que eu tinha por aí, então não posso conectar a ela!

Se o seu PC não tiver Bluetooth, você pode usar um dongle como este:

Amazon.co.uk *:

Amazon.com *:

Amazon.de *:

* = Afiliado

Etapa 1: Confira o vídeo

Image
Image

Eu fiz um vídeo que cobre a mesma coisa que este Instructable, então se você estiver interessado, dê uma olhada! Eu também faço vídeos sobre os projetos ESP8266 e ESP32 regularmente, então talvez haja outros vídeos no meu canal que você possa achar interessantes!

Etapa 2: [opcional] primeiros passos com um ESP32

ESP32s são microcontroladores compatíveis com o IDE do Arduino e vêm com WiFi e Bluetooth incluídos. Eles também são muito baratos, por isso são chips muito úteis para seus projetos.

Você precisará adicionar a definição da placa ESP32 ao seu IDE do Arduino, para isso você pode seguir as etapas listadas na página do Github dos projetos do Arduino ESP32

Etapa 3: instalação da biblioteca de teclado ESP32 Ble

Instalando a biblioteca de teclado ESP32 Ble
Instalando a biblioteca de teclado ESP32 Ble
Instalando a biblioteca de teclado ESP32 Ble
Instalando a biblioteca de teclado ESP32 Ble

É possível usar o Bluethooth HID no ESP32 sem biblioteca externa, mas o usuário do Github T-Vk escreveu uma biblioteca chamada ESP32-BLE-Keyboard que o torna mais parecido com a biblioteca de teclado padrão do Arduino, o que o torna muito mais fácil de usar.

Esta biblioteca não está disponível no gerenciador de bibliotecas, portanto, você precisará baixá-la do Github.

  • Acesse a página de lançamentos de projetos e baixe o ESP32-BLE-Keyboard.zip mais recente
  • Uma vez baixado, você pode adicioná-lo ao seu Arduino IDE, mas indo para Sketch -> Incluir Biblioteca e, em seguida, Adicionar Zip à biblioteca e selecionar o ESP32-BLE-Keyboard.zip da etapa anterior.

Etapa 4: Observando o exemplo

Olhando para o exemplo
Olhando para o exemplo
Olhando para o exemplo
Olhando para o exemplo
Olhando para o exemplo
Olhando para o exemplo

Depois que isso for adicionado, podemos abrir o exemplo que vem com ele. É um exemplo muito bom, pois demonstra algumas coisas diferentes que você pode conseguir com a biblioteca, mas também acrescentarei um pouco mais de detalhes onde acho que seria útil.

Você pode acessar o exemplo em Arquivo -> Exemplos -> Teclado ESP32 BLE -> SendKeyStrokes

Configurando uma conexão Bluetooth

Na configuração começa a conexão Bluetooth, nesta fase deve estar disponível para emparelhar com o seu dispositivo.

bleKeyboard.begin ();

Dentro do loop, ele também verifica se está conectado a um dispositivo

bleKeyboard.isConnected ()

Digitando

A primeira coisa que o exemplo mostra é como você pode digitar um texto, uma vez conectado, primeiro digitará "Olá, mundo" usando

bleKeyboard.print ("Olá, mundo");

Um único botão pressionado

Em seguida, mostra como você pode “escrever” a tecla de retorno, basicamente emulando um único toque de tecla neste botão.

bleKeyboard.write (KEY_RETURN);

Você pode abrir o arquivo BleKeyboard.h da biblioteca para ver todas as chaves que são definidas assim. Você também pode enviar caracteres ASCII colocando-os entre vírgulas simples.

bleKeyboard.write ('A');

Chaves de mídia

Também demonstra como enviar teclas de mídia, semelhante a como controlar o volume ou pular faixas com seus fones de ouvido Bluetooth. O exemplo mostra a tecla reproduzir / pausar, mas novamente você pode abrir BleKeyboard.h para ver as outras opções disponíveis.

bleKeyboard.write (KEY_MEDIA_PLAY_PAUSE);

Pressionando e soltando as teclas

A última coisa que o exemplo nos mostra é como você pode pressionar e segurar as teclas, isso é útil para criar teclados Macro. O exemplo mostrado aqui é para Ctrl + Alt + Delete

bleKeyboard.press (KEY_LEFT_CTRL);

bleKeyboard.press (KEY_LEFT_ALT);

bleKeyboard.press (KEY_DELETE);

Em seguida, ele chama releaseAll, que, como você provavelmente pode adivinhar pelo nome, libera todas as teclas pressionadas.

bleKeyboard.releaseAll ();

Você também pode liberar teclas específicas se quiser usando o comando de liberação com a tecla que deseja liberar

bleKeyboard.release (KEY_DELETE);

Etapa 5: Outras dicas para a biblioteca

Outras dicas para a biblioteca
Outras dicas para a biblioteca
Outras dicas para a biblioteca
Outras dicas para a biblioteca
Outras dicas para a biblioteca
Outras dicas para a biblioteca

Abordamos a principal funcionalidade da biblioteca na etapa anterior, mas aqui estão algumas coisas extras que acho que podem ser úteis saber

Use um gatilho externo

É sempre melhor controlar um dispositivo HID como este usando um gatilho externo, como o pressionamento de um botão. Se você usar um cronômetro e algo der errado, pode ser difícil desconectar. Imagine ter que tentar desligar o seu Bluetooth se você acidentalmente o programou para pressionar Ctrl + Alt + Del a cada 100 ms!

Alterar o nome do dispositivo

Por padrão, o nome do dispositivo aparecerá como “Teclado ESP32 BLE”, isso pode ser alterado quando você estiver criando uma instância da biblioteca. Você pode definir o nome do dispositivo, o fabricante e o nível inicial da bateria.

BleKeyboard bleKeyboard ("Nome do dispositivo Bluetooth", "Fabricante do dispositivo Bluetooth", 100);

Definir o nível da bateria (pelo menos não funciona para mim)

A biblioteca afirma que você também pode definir o nível da bateria, mas não funcionou para mim no meu PC com Windows (permaneceu com o valor inicial) e meu telefone Android não mostrou o nível de tudo. Aqui está o comando para ele, caso funcione para você

bleKeyboard.setBatteryLevel (50)

Compatibilidade de Dispositivo

Eu executei com sucesso o exemplo no meu PC com Windows 10, telefone Android e meu Mac (embora ainda esteja executando o Sierra de alguma forma!)

Ele também só pode ser conectado a um dispositivo por vez.

Solução de problemas de emparelhamento

Se você estiver tendo problemas de emparelhamento, tente reiniciar o ESP32 enquanto o dispositivo está procurando. Uma vez, também tive que ligar e desligar meu bluetooth no meu PC para fazê-lo emparelhar.

Etapa 6: O teclado macro

O teclado macro
O teclado macro
O teclado macro
O teclado macro
O teclado macro
O teclado macro
O teclado macro
O teclado macro

Agora que entendemos o básico, vamos fazer algo prático com isso!

Em um guia anterior, mostrei como fazer o teclado Macro mais simples de um Arduino Pro Micro e um teclado barato. Para cada botão no teclado, ele envia uma combinação diferente de botão que pode ser usado para controlar aplicativos, pessoalmente eu o uso para OBS, o software que uso para gravar vídeos e para quando faço stream. Este parece ser um bom projeto para transportar para o ESP32 para que possamos fazer uma versão sem fio.

Para esta construção, vou usar a placa TinyPICO ESP32 do Unexpected Maker. O principal motivo para escolhê-la é uma placa muito eficiente em termos de energia e tem o circuito integrado para funcionar e carregar uma bateria Lipo, então tudo que eu preciso fazer é conectar uma bateria.

Eu estaria mentindo se o fato de que ele tem o mesmo espaçamento de linha que o Pro Micro e eu pudéssemos fazer uso do breakout board já feito que fiz anteriormente também não fosse atraente!

O teclado requer 8 pinos GPIO para operar, e o TinyPICO tem 8 pinos GPIO em uma linha, então vamos usá-los. Você pode simplesmente conectar o teclado ao TinyPICO conforme mostrado na imagem acima.

Etapa 7: Código para o teclado macro

Código para o teclado de macro
Código para o teclado de macro
Código para o teclado de macro
Código para o teclado de macro

O código para o esboço do teclado macro pode ser encontrado no meu Github.

Assim como a biblioteca BleKeyboard que foi instalada em uma etapa anterior, você também precisará instalar a biblioteca para o teclado, você pode fazer isso abrindo o gerenciador de biblioteca em Sketch -> Incluir Biblioteca -> Gerenciar Bibliotecas

Dentro do gerenciador de biblioteca, procure por "teclado" e instale o de Mark Stanley e Alexander Brevig

Uma configuração que você pode precisar fazer se estiver usando um ESP32 diferente do TinyPICO são os pinos do teclado, eles são definidos na matriz rowPins e colPins. Ao olhar para a frente do teclado e começando da esquerda, os primeiros 4 pinos são os pinos da linha e os 4 segundos são os pinos da coluna.

Feito isso, carregue o código para a placa e você deve testar neste estágio se ele está funcionando.

Etapa 8: Vamos torná-lo sem fio

Vamos torná-lo sem fio!
Vamos torná-lo sem fio!
Vamos torná-lo sem fio!
Vamos torná-lo sem fio!
Vamos torná-lo sem fio!
Vamos torná-lo sem fio!
Vamos torná-lo sem fio!
Vamos torná-lo sem fio!

Como mencionado anteriormente, o TinyPICO possui um circuito integrado para lidar com um Lipo, portanto, tudo o que precisamos fazer é conectá-lo. Ele vem com conectores JST que podem ser soldados na parte inferior, ou você pode usar os pinos Bat e GND se quiser fazer isso através dos pinos.

Se você estiver usando os conectores JST, verifique se a polaridade da bateria corresponde ao TinyPICO, não há um padrão de como eles devem ser ligados, então há uma boa chance de que a bateria não seja compatível.

Verifique a tensão da sua bateria lipo antes de usá-la, uma bateria saudável deve ser de 3 V ou superior, a bateria que encontrei com o conector JST correto estava lendo 0 V!

Acabei usando uma célula 18650 em um suporte e soldando-a ao conector JST da bateria descarregada.

O TinyPICO reduz seu consumo de energia quando está funcionando sem bateria por não ligar nenhum de seus LEDs, então, mesmo que não esteja aceso, espero que esteja! Uma melhoria futura do projeto pode ser pulsar o LED dotstar onboard na inicialização apenas para que você saiba que ele realmente está ligado e talvez novamente quando se conectar. Por enquanto você pode verificar no menu do seu sistema Bluetooth se ele está ligado e conectado ok.

Etapa 9: Teste

Testando!
Testando!

Vamos testar, se eu abrir a parte das teclas de atalho do OBS, posso clicar em diferentes ações para gravar uma combinação de botões que irá controlá-la, para isso podemos apenas clicar no botão em nosso teclado e ele será atualizado.

Depois de clicar em aplicar, você não poderá usar o teclado para controlar sua cena no OBS.

Etapa 10: Obrigado pela leitura

Esperançosamente você achou este Instructable útil. Eu adoraria saber o que você faria com esse tipo de configuração. Por favor, deixe-me saber nos comentários abaixo, ou junte-se a mim e a um monte de outros criadores no meu servidor Discord, onde podemos discutir este tópico ou qualquer outro relacionado com o criador que você tenha. As pessoas são realmente úteis lá, então é um ótimo lugar para ficar Fora

Eu também gostaria de agradecer muito aos meus patrocinadores do Github que ajudam a apoiar o que eu faço. Eu realmente aprecio isso. Se você não sabe, o Github está combinando patrocínios para o primeiro ano, então, se você fizer um patrocínio, eles irão combiná-lo 100% nos próximos meses.

Obrigado por ler!

Recomendado: