Teletransportador de Texto Bluetooth: Arduino + Android
Componentes y materiales
| Arduino Micro | Cualquier Arduino con ATMega32u4 (Leonardo/Pro Micro) para funcionar como HID (teclado) | 1 |
| Módulo Bluetooth HC-05 | 1 | |
| Protoboard (genérica) | 1 | |
| Cables Jumper (genéricos) | 1 | |
| Cable USB-A a Micro-USB | 1 | |
| Dispositivo Android | 1 |
Aplicaciones y servicios
- Arduino IDE (o Arduino Web Editor con Arduino Create Agent)
- App Arduino Bluetooth Controller (Google Play Store / App Store)
Sobre el proyecto
Mi primer proyecto en Hackster: solucionar la molestia de copiar texto en un dispositivo y pegarlo en otro. A veces me enviaba emails o mensajes a mí mismo para copiar luego. Aunque Google ofrece portapapeles compartido con Chrome y cuenta Google, quería una solución universal que funcionara en cualquier dispositivo (y porque me gusta trastear con Arduino).
Proyecto fácil, apto para principiantes. Si ha tenido este problema, ¡anímese a hacerlo!
Paso 1: Materiales necesarios




Uso Arduino Micro, pero vale cualquier compatible con ATmega32u4 (Leonardo, Pro Micro) porque puede actuar como HID (Human Interface Device), en este caso teclado. No probado en SAMD21/SAMD51.
También: protoboard, jumpers, HC-05, cable micro-USB para programar. Laptop y smartphone para probar.
Paso 2: Diagrama de conexiones

Usamos comunicación serie. Arduino Micro tiene dos puertos serie: Serial (comunicación con PC/Serial Monitor) y Serial1 (para HC-05). Conexiones:
- RX HC-05 → TX Arduino Micro
- TX HC-05 → RX Arduino Micro
- GND HC-05 → GND Arduino Micro
- VCC HC-05 → +5V Arduino Micro
No usamos pines Key ni State del HC-05.

Paso 3: Entender el código
/* Project Name: Text Teleporter
* Recibe texto vía Bluetooth y lo "teclea" (pega) en otro dispositivo.
* Para: Arduino Micro/Leonardo/Due/Pro Micro (ATMega 32U4)
* Autor: Advik Singhania
* Creado: 11 Oct 2020, 11:23 AM IST */
#include "Keyboard.h"
void setup() {
Serial1.begin(9600); // Puerto serie para Bluetooth (baud rate por defecto HC-05)
Keyboard.begin(); // Inicializa control teclado HID
}
void loop() {
if (Serial1.available() > 0) {
String a = Serial1.readString(); // Lee texto entrante
Keyboard.print(a); // Lo "teclea" como teclado
}
delay(10);
}
Explicación:
#include "Keyboard.h": Librería HID para emular teclado.setup(): Inicia Serial1 a 9600 baudios (estándar HC-05) e inicializa teclado. Se ejecuta una vez (o tras reset).loop(): Repite indefinidamente. Si hay datos en Serial1, los lee comoStringy usaKeyboard.print()para "teclearlos" en el dispositivo conectado al Arduino por USB.delay(10): Pequeña pausa para estabilidad.
Código también en mi GitHub. Seleccione Board y Port correctos en Tools antes de subir (¡desconecte RX/TX del HC-05 antes de subir!).
Paso 4: Configuración
Tras subir código, reconecte RX/TX. En Bluetooth del móvil, busque HC-05, empareje (contraseña por defecto: 1234).
Instale app Arduino Bluetooth Controller u otra con modo terminal:



App pide activar Bluetooth → Sí/Permitir. Muestra dos listas: Conectar a dispositivo y Dispositivos disponibles. HC-05 debería estar en la primera. Pulse y elija Modo Terminal. Verá caja de texto para pegar lo copiado.
También sirve Bluetooth Serial Controller (NEXT PROTOTYPES): botón CONNECT arriba derecha, busque HC-05. Interfaz horizontal con botones y caja terminal pequeña. Pulse x (abajo izquierda) para escribir nuevo texto.
Importante: Abra bloc de notas o sitúe cursor donde quiere pegar ANTES de pulsar Enter. El texto se "tecleará" solo. Arduino toma control del teclado y no dejará teclear mientras trabaja.
Paso 5: Listo. ¿Qué sigue?
Si quiere hacerlo permanente, suelde en PCB con el módulo Bluetooth y tendrá dispositivo casero para cuando sea útil. Precaución: tiene usos maliciosos (teclear comandos en CMD peligrosos). Úselo responsablemente. Con cable OTG puede conectar Arduino al móvil y funciona igual.
Gracias por su tiempo. Comente feedback y dudas, intentaré responder.
Código
/* Project Name : Text Teleporter
* Recibe texto en formato String vía bluetooth y lo teclea (pega) en otro dispositivo.
* Para: Arduino Micro/Leonardo/Due/Pro Micro (ATMega 32U4)
* Autor: Advik Singhania
* Creado: 11 Oct 2020; 11:23 AM IST */
#include "Keyboard.h"
void setup() {
Serial1.begin(9600);
Keyboard.begin();
}
void loop() {
if (Serial1.available() > 0) {
String a = Serial1.readString();
Keyboard.print(a);
}
delay(10);
}
Esquemáticos
Proceso de manufactura
- Construye un Spybot controlado por Bluetooth con Arduino
- FlickMote: Mando IR por gestos para Smart Home
- TV‑B‑Gone DIY con Arduino: Mando universal para apagar cualquier TV
- Construye un Reloj Maestro LED Personalizado con Alarma – Visible desde 12 Metros
- Find Me: Localizador Inteligente de Objetos con Arduino y Bluetooth
- Soluciones de Alimentación Optimizadas para Proyectos Arduino
- Tres en raya con Arduino, matriz LED MAX7219 y carcasa de cartón
- Construye un Robot Cuadrúpedo Inteligente con Arduino: Guía Paso a Paso
- Teletransportador de Texto Bluetooth: Arduino + Android
- Construye un volante joystick personalizado con Arduino para gaming
- Construye una Máquina CNC Totalmente Funcional con Arduino Nano R3