Teletransportador de Texto Bluetooth: Arduino + Android
Componentes e Materiais
| Componente | Quantidade | Observações |
|---|---|---|
| Arduino Micro (ou Leonardo/Pro Micro) | 1 | Requer ATmega32u4 para funcionalidade HID (teclado) |
| Módulo Bluetooth HC-05 | 1 | |
| Protoboard | 1 | |
| Jumpers (genéricos) | 1 | |
| Cabo USB-A para Micro-USB | 1 | Para programação |
| Dispositivo Android | 1 | Para envio do texto |
Software e Apps
- Arduino IDE (ou Arduino Web Editor + Arduino Create Agent)
- App Arduino Bluetooth Controller (Google Play / App Store) – modo Terminal
- Alternativa: Bluetooth Serial Controller (NEXT PROTOTYPES)
Sobre o Projeto
Meu primeiro projeto no Hackster! Resolve o incômodo de copiar texto em um dispositivo e colar em outro. Antes eu me mandava e-mail ou mensagem, abria no outro dispositivo, copiava... Embora o Google ofereça sincronização via Chrome/conta, quis uma solução universal que funcione em qualquer dispositivo (e adoro brincar com Arduino).
Projeto fácil, adequado até para iniciantes em Arduino. Se já enfrentou esse problema, experimente!
Passo 1: Peças Necessárias
Uso Arduino Micro, mas qualquer placa com ATmega32u4 serve (Leonardo, Pro Micro) – essencial para atuar como HID (Human Interface Device), especificamente teclado. Não testei em SAMD21/SAMD51.
Também precisa: protoboard, jumpers, HC-05, cabo micro-USB, laptop e smartphone para teste.
Passo 2: Diagrama de Circuito
Comunicação Serial entre Arduino Micro e HC-05. O Arduino tem duas portas seriais:
- Serial – reservada para comunicação com PC (Serial Monitor)
- Serial1 – usada para comunicar com HC-05
Conexões simples:
- RX do HC-05 → TX do Arduino Micro (pino 1)
- TX do HC-05 → RX do Arduino Micro (pino 0)
- GND do HC-05 → GND do Arduino Micro
- VCC do HC-05 → +5V do Arduino Micro
Pinos Key e State do HC-05 não usados.
Passo 3: Entendendo o Código
/* Project Name: Text Teleporter
* Recebe texto via Bluetooth e digita (cola) no dispositivo alvo
* Para: Arduino Micro/Leonardo/Due/Pro Micro (ATMega 32U4)
* Autor: Advik Singhania
* Criado em: 11/10/2020
*/
#include "Keyboard.h"
void setup() {
Serial1.begin(9600); // Baud rate padrão do HC-05
Keyboard.begin(); // Inicializa controle de teclado HID
}
void loop() {
if (Serial1.available() > 0) {
String a = Serial1.readString(); // Lê texto recebido via Bluetooth
Keyboard.print(a); // Digita o texto como teclado
}
delay(10);
}
Explicação:
#include "Keyboard.h"– Habilita funções HID de tecladosetup()– Inicia Serial1 (Bluetooth) a 9600 baud e inicializa teclado HID. Executa uma vez.loop()– Verifica se há dados na Serial1. Se sim, lê string completa e envia viaKeyboard.print()– o Arduino "digita" o texto no computador conectado via USB.delay(10)– Pequena pausa para estabilidade
Código também no GitHub – fique à vontade para melhorar. Selecione Board e Port corretos no menu Tools antes de upload (remova fios RX/TX do HC-05 antes do upload!).
Passo 4: Configuração
- Após upload, reconecte RX/TX do HC-05
- No smartphone: Bluetooth → procure HC-05 → senha padrão 1234
- Instale app Arduino Bluetooth Controller (ou similar com modo Terminal)
- App: ative Bluetooth → liste dispositivos → toque em HC-05 (em "Connect to a device") → selecione Terminal mode
- Caixa de texto aparece – cole o texto copiado e envie
Alternativa: Bluetooth Serial Controller (NEXT PROTOTYPES) – interface landscape, botão CONNECT no canto, caixa de texto pequena. Toque no 'x' (canto inferior esquerdo) para limpar e digitar novo texto.
Importante: Posicione cursor no local desejado (bloco de notas, campo de texto) antes de enviar. O Arduino assume controle do teclado e não permite digitar enquanto trabalha.
Passo 5: Pronto! E Agora?
Para tornar permanente: solde em PCB com o módulo Bluetooth → dispositivo próprio para situações úteis. Cuidado: pode ter usos maliciosos (ex: digitar comandos perigosos no CMD). Use com responsabilidade.
Com cabo OTG, pode conectar Arduino ao celular e funcionar igual. Obrigado por fazer este projeto! Comentários e dúvidas abaixo.
Código Final
/* Project Name : Text Teleporter
* Receives some text in String format via bluetooth from one device and types (pastes) it into another device.
* For : Arduino Micro/Leonardo/Due/Pro Micro (ATMega 32U4)
* Author : Advik Singhania
* Created On : 11th October, 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ático
Processo de manufatura
- Construa um Spybot Controlado por Bluetooth com Arduino
- FlickMote: Controle Remoto IR por Gestos para Casa Inteligente
- DIY Arduino TV B-Gone: Controle Remoto Universal para Todas as TVs
- Construa um Relógio Mestre LED Personalizado com Alarme – Visível a 12 Metros
- Find Me: Localizador Inteligente de Objetos com Arduino e Bluetooth
- Soluções de Energia Otimizadas para Projetos Arduino
- Jogo da Velha com Arduino, Matriz LED MAX7219 e Caixa de Papelão
- Construa um Robô Quadrúpede Inteligente com Arduino: Guia Passo a Passo
- Teletransportador de Texto Bluetooth: Arduino + Android
- Volante Joystick Arduino Personalizado para Jogos