Tabla de contenido:

Teclado macro DIY con Bluetooth: 10 pasos (con imágenes)
Teclado macro DIY con Bluetooth: 10 pasos (con imágenes)

Video: Teclado macro DIY con Bluetooth: 10 pasos (con imágenes)

Video: Teclado macro DIY con Bluetooth: 10 pasos (con imágenes)
Video: TECLADO de macros BLUETOOTH con ARDUINO 2024, Mes de julio
Anonim
Teclado macro Bluetooth para bricolaje
Teclado macro Bluetooth para bricolaje

En este Instructable vamos a echar un vistazo al uso del Bluetooth incorporado del ESP32 para emular un teclado Bluetooth.

Bluetooth HID (Dispositivo de interfaz humana) es el protocolo utilizado por el teclado y los ratones Bluetooth normales y es posible emularlo con solo un ESP32, ¡lo cual es genial!

Con algunas placas de desarrollo ESP32 que comienzan en menos de $ 5 * entregadas, esta es una forma realmente económica y sencilla de crear teclados personalizados inalámbricos, como teclados Macro. Los teclados macro se pueden usar para controlar varias aplicaciones como editores de video o Photoshop, personalmente uso el mío para controlar escenas en OBS cuando estoy haciendo videos o transmitiendo.

Primero veremos cómo usar la biblioteca de teclados ESP32 HID y luego les mostraré cómo usé esto para construir un teclado macro Bluetooth alimentado por batería.

Suministros

  • Placa de desarrollo TinyPICO ESP32 (cualquier ESP32 puede funcionar)
  • Teclado matricial 4 * 4 *

También necesitará una batería lipo, solo usé una al azar que tenía por ahí, ¡así que no puedo vincularla!

Si su PC no tiene Bluetooth, puede usar un dongle como este:

Amazon.es *:

Amazon.com *:

Amazon.de *:

* = Afiliado

Paso 1: mira el video

Image
Image

Hice un video que cubre lo mismo que este Instructable, así que si estás interesado, ¡compruébalo! También hago videos sobre proyectos ESP8266 y ESP32 con regularidad, ¡así que tal vez haya otros videos en mi canal que puedan resultarle interesantes!

Paso 2: [Opcional] Introducción a un ESP32

Los ESP32 son microcontroladores que son compatibles con Arduino IDE y vienen con WiFi y Bluetooth incluidos. También son bastante económicos por lo que son chips muy útiles para tus proyectos.

Deberá agregar la definición de la placa ESP32 a su IDE de Arduino, para esto puede seguir los pasos enumerados en la página de Github de proyectos Arduino ESP32

Paso 3: Instalación de la biblioteca de teclados ESP32 Ble

Instalación de la biblioteca de teclados ESP32 Ble
Instalación de la biblioteca de teclados ESP32 Ble
Instalación de la biblioteca de teclados ESP32 Ble
Instalación de la biblioteca de teclados ESP32 Ble

Es posible usar Bluethooth HID en el ESP32 sin una biblioteca externa, pero el usuario de Github T-Vk ha escrito una biblioteca llamada ESP32-BLE-Keyboard que lo hace más parecido a la biblioteca de teclado Arduino estándar, lo que lo hace mucho más fácil de usar.

Esta biblioteca no está disponible en el administrador de bibliotecas, por lo que deberá descargarla de Github.

  • Vaya a la página de lanzamientos de proyectos y descargue el último ESP32-BLE-Keyboard.zip
  • Una vez descargado, puede agregarlo a su IDE de Arduino, pero vaya a Sketch -> Incluir biblioteca y luego Agregar zip a la biblioteca y seleccione el ESP32-BLE-Keyboard.zip del paso anterior.

Paso 4: mirando el ejemplo

Mirando el ejemplo
Mirando el ejemplo
Mirando el ejemplo
Mirando el ejemplo
Mirando el ejemplo
Mirando el ejemplo

Una vez que se agrega, podemos abrir el ejemplo que viene con él. Es un ejemplo bastante bueno, ya que demuestra algunas cosas diferentes que puede lograr con la biblioteca, pero también agregaré un poco más de detalle donde creo que sería útil.

Puede acceder al ejemplo yendo a Archivo -> Ejemplos -> Teclado ESP32 BLE -> SendKeyStrokes

Configurar una conexión Bluetooth

En la configuración, comienza la conexión Bluetooth, en esta etapa debería estar disponible para emparejarse en su dispositivo.

bleKeyboard.begin ();

Dentro del bucle, también comprueba si está conectado a un dispositivo.

bleKeyboard.isConnected ()

Mecanografía

Lo primero que muestra el ejemplo es cómo puede escribir texto una vez que esté conectado, primero escribirá "Hola mundo" usando

bleKeyboard.print ("Hola mundo");

Pulsaciones de un solo botón

A continuación, muestra cómo puede "escribir" la tecla de retorno, esto es básicamente emular una sola pulsación de tecla de este botón.

bleKeyboard.write (KEY_RETURN);

Puede abrir el archivo BleKeyboard.h de la biblioteca para ver todas las claves que se definen así. También puede enviar caracteres ascii poniéndolos entre comas simples.

bleKeyboard.write ('A');

Teclas de medios

También demuestra cómo puede enviar claves multimedia, esto es similar a cómo puede controlar el volumen u omitir pistas con sus auriculares Bluetooth. El ejemplo muestra la tecla reproducir / pausar, pero nuevamente puede abrir BleKeyboard.h para ver las otras opciones disponibles.

bleKeyboard.write (KEY_MEDIA_PLAY_PAUSE);

Pulsando y soltando teclas

Lo último que nos muestra el ejemplo es cómo puede presionar y mantener presionadas las teclas, esto es útil para crear teclados Macro. El ejemplo que se muestra aquí es para Ctrl + Alt + Delete

bleKeyboard.press (KEY_LEFT_CTRL);

bleKeyboard.press (KEY_LEFT_ALT);

bleKeyboard.press (KEY_DELETE);

Luego llama a releaseAll, que como probablemente pueda adivinar por el nombre libera todas las teclas presionadas.

bleKeyboard.releaseAll ();

También puede liberar teclas específicas si lo desea, ya sea mediante el comando de liberación con la tecla que desea liberar

bleKeyboard.release (KEY_DELETE);

Paso 5: otros consejos para la biblioteca

Otros consejos para la biblioteca
Otros consejos para la biblioteca
Otros consejos para la biblioteca
Otros consejos para la biblioteca
Otros consejos para la biblioteca
Otros consejos para la biblioteca

Cubrimos la funcionalidad principal de la biblioteca en el paso anterior, pero aquí hay algunas cosas adicionales que creo que podrían ser útiles para saber

Utilice un disparador externo

Siempre es mejor controlar un dispositivo HID como este usando un disparador externo como presionar un botón. Si usa un temporizador y algo sale mal, puede resultar incómodo desconectarlo. ¡Imagínese tener que intentar apagar su Bluetooth si lo programó accidentalmente para presionar Ctrl + Alt + Supr cada 100 ms!

Cambiar el nombre del dispositivo

De forma predeterminada, el nombre del dispositivo se mostrará como "ESP32 BLE Keyboard", esto se puede cambiar cuando está creando una instancia de la biblioteca. Puede configurar el nombre del dispositivo, el fabricante y el nivel de batería inicial.

BleKeyboard bleKeyboard ("Nombre del dispositivo Bluetooth", "Fabricante del dispositivo Bluetooth", 100);

Configuración del nivel de la batería (al menos no funciona para mí)

La biblioteca afirma que también puede configurar el nivel de la batería, pero no funcionó para mí en mi PC con Windows (se mantuvo con el valor inicial) y mi teléfono Android no mostró el nivel de todo. Aquí está el comando para ello en caso de que funcione para usted

bleKeyboard.setBatteryLevel (50)

Compatibilidad de dispositivos

Ejecuté con éxito el ejemplo en mi PC con Windows 10, teléfono Android y mi Mac (¡aunque todavía está ejecutando Sierra de alguna manera!)

Además, solo se puede conectar a un dispositivo a la vez.

Solución de problemas de emparejamiento

Si tiene algunos problemas de emparejamiento, intente reiniciar el ESP32 mientras su dispositivo está buscando. También una vez tuve que encender y apagar mi bluetooth en mi PC para emparejarlo.

Paso 6: el teclado macro

El teclado macro
El teclado macro
El teclado macro
El teclado macro
El teclado macro
El teclado macro
El teclado macro
El teclado macro

Ahora que tenemos lo básico fuera del camino, ¡hagamos algo práctico!

En una guía anterior, mostré cómo hacer el teclado macro más simple con un teclado Arduino pro Micro y barato. Para cada botón en el teclado envía una combinación diferente de botón que podría usarse para controlar aplicaciones, personalmente lo uso para OBS, el software que uso para grabar videos y para cuando transmito. Este parece un buen proyecto para portar el ESP32 para que podamos hacer una versión inalámbrica.

Para esta compilación, usaré la placa TinyPICO ESP32 de Unexpected Maker. La razón principal para elegirla es una placa que ahorra mucha energía y tiene los circuitos para funcionar y cargar una batería Lipo incorporada, por lo que todo lo que necesito hacer es enchufar una batería.

¡Mentiría si el hecho de que tiene el mismo espacio entre filas que el Pro Micro y que pudiera hacer uso de la placa de ruptura ya hecha que hice anteriormente no fuera también atractivo!

El teclado requiere 8 pines GPIO para funcionar, y el TinyPICO tiene 8 pines GPIO seguidos, así que los usaremos. Puede conectar simplemente el teclado al TinyPICO como se muestra en la imagen de arriba.

Paso 7: Código para el teclado macro

Código para el teclado macro
Código para el teclado macro
Código para el teclado macro
Código para el teclado macro

El código para el boceto del teclado macro se puede encontrar en mi Github.

Además de la biblioteca BleKeyboard que se instaló en un paso anterior, también necesitará instalar la biblioteca para el teclado, puede hacerlo abriendo el administrador de la biblioteca yendo a Sketch -> Incluir biblioteca -> Administrar bibliotecas

Dentro del administrador de la biblioteca, busque "teclado" e instale el de Mark Stanley y Alexander Brevig

Una configuración que puede necesitar hacer si está usando un ESP32 diferente al TinyPICO son los pines del teclado, que están configurados en la matriz rowPins y colPins. Al mirar el frente del teclado y comenzando desde la izquierda, los primeros 4 pines son los pines de la fila y los segundos 4 son los pines de la columna.

Una vez hecho esto, cargue el código en la placa y, en esta etapa, debe probar que está funcionando.

Paso 8: ¡Hagámoslo inalámbrico

¡Hagámoslo inalámbrico!
¡Hagámoslo inalámbrico!
¡Hagámoslo inalámbrico!
¡Hagámoslo inalámbrico!
¡Hagámoslo inalámbrico!
¡Hagámoslo inalámbrico!
¡Hagámoslo inalámbrico!
¡Hagámoslo inalámbrico!

Como se mencionó anteriormente, el TinyPICO tiene un circuito para manejar un Lipo integrado, por lo que todo lo que tenemos que hacer es conectarlo. Viene con conectores JST que se pueden soldar a la parte inferior, o puede usar los pines Bat y GND si quisiera hacerlo a través de los pines.

Si está utilizando los conectores JST, verifique dos veces que la polaridad de su batería coincida con el TinyPICO, no existe un estándar sobre cómo deben conectarse, por lo que es muy probable que su batería no coincida.

Verifique el voltaje de su batería lipo antes de usarla, una batería saludable debe ser de 3V o más, ¡la batería que encontré con el conector JST correcto estaba leyendo 0V!

Terminé usando una celda 18650 en un soporte y soltándola al conector JST de la batería muerta.

El TinyPICO reduce su consumo de energía cuando se queda sin batería al no encender ninguno de sus LED, por lo que incluso si no mira, ¡con suerte lo está! Una mejora futura del proyecto podría ser pulsar el LED dotstar integrado en el inicio solo para hacerle saber que realmente se enciende y tal vez nuevamente cuando se conecta. Por ahora, puede verificar en el menú de Bluetooth de su sistema que esté encendido y conectado correctamente.

Paso 9: ¡Pruébelo

¡Probándolo!
¡Probándolo!

Probémoslo, si abro la parte de las teclas de acceso rápido de OBS puedo hacer clic en diferentes acciones para grabar una combinación de botones que lo controlará, para esto podemos simplemente hacer clic en el botón en nuestro teclado y se actualizará.

Después de hacer clic en Aplicar, no debería poder usar su teclado para controlar su escena en OBS.

Paso 10: ¡Gracias por leer

Espero que hayas encontrado útil este Instructable. Me encantaría saber qué harías con este tipo de configuración. Házmelo saber en los comentarios a continuación, o únete a mí y a un grupo de otros fabricantes en mi servidor de Discord, donde podemos discutir este tema o cualquier otro fabricante relacionado que tengas, la gente es realmente útil allí, por lo que es un gran lugar para pasar el rato. fuera

También me gustaría agradecer enormemente a mis patrocinadores de Github que me ayudan a respaldar lo que hago. Realmente lo aprecio. Si no lo sabe, Github está emparejando patrocinios durante el primer año, por lo que si realiza un patrocinio, lo igualarán al 100% durante los próximos meses.

¡Gracias por leer!

Recomendado: