Bluetooth Text Teleporter: передача текста с Android на Arduino (HID‑клавиатура)
Компоненты и материалы
| Arduino Micro | Любая плата с ATMega32U4 (Leonardo, Pro Micro) — нужна поддержка HID (клавиатура) | 1 |
| Bluetooth‑модуль HC‑05 | 1 | |
| Макетная плата | 1 | |
| Перемычки | 1 набор | |
| USB‑кабель (Micro‑USB) | 1 | |
| Android‑устройство | 1 |
Приложения и сервисы
- Arduino IDE (или Web Editor + Arduino Create Agent)
- Приложение Arduino Bluetooth Controller (Google Play / App Store) — терминал для отправки текста
О проекте
Проект решает проблему копирования текста с одного устройства и вставки на другое. Вместо почты или мессенджеров делаем свой «телепортер»: текст отправляется по Bluetooth на Arduino Micro, который эмулирует клавиатуру и «набирает» текст на компьютере.
Проект простой, подходит для начинающих. Требуется плата с ATMega32U4 (Micro, Leonardo, Pro Micro) — только они могут работать как HID‑клавиатура. На SAMD21/51 не тестировалось.
Шаг 1: Детали




Шаг 2: Схема подключения

Используем Serial1 (пины 0/1 на Micro) для связи с HC‑05, так как Serial занят USB‑соединением с ПК.
- HC‑05 RX → Arduino TX (Serial1)
- HC‑05 TX → Arduino RX (Serial1)
- GND → GND
- VCC → +5V
- Пины Key и State не используются

Шаг 3: Понимание кода
/* 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); // скорость HC-05 по умолчанию
Keyboard.begin(); // инициализация HID-клавиатуры
}
void loop() {
if (Serial1.available() > 0) {
String a = Serial1.readString(); // читаем строку
Keyboard.print(a); // эмулируем набор текста
}
delay(10);
}
Библиотека Keyboard.h встроена в Arduino IDE для плат на ATMega32U4. В setup() открываем Serial1 на 9600 бод и включаем клавиатуру. В loop() проверяем наличие данных, читаем строку и выводим её через Keyboard.print(). Задержка 10 мс снижает нагрузку.
Шаг 4: Настройка
- Загрузите скетч (перед загрузкой отсоедините RX/TX от HC‑05).
- Снова подключите RX/TX.
- На телефоне в настройках Bluetooth найдите HC‑05, пароль 1234.
- Установите приложение Arduino Bluetooth Controller (или Bluetooth Serial Controller от NEXT PROTOTYPES).
- В приложении выберите HC‑05 → Terminal mode. Откроется поле ввода.
- Скопируйте текст на телефоне, вставьте в терминал, нажмите «Send» / Enter.
- Установите курсор на компьютере туда, куда нужно вставить текст. Arduino начнёт «печатать» его. Пока идет печать, клавиатура заблокирована.



Шаг 5: Готово. Что дальше?
Можно спаять на PCB и использовать как отдельное устройство. С осторожностью: можно внедрять вредоносные команды. Также работает через OTG‑кабель (Arduino подключается к телефону как клавиатура).
Код
/* 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);
}
Схемы

Производственный процесс
- Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
- FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
- DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
- Создание пользовательских LED-часов с будильником — видно с 12 метров
- Find Me: Умный поисковик вещей на Arduino и Bluetooth
- Оптимизированные решения питания для проектов на Arduino
- Крестики-нолики на Arduino с матрицей MAX7219 и картонным корпусом
- Пошаговое руководство: сборка умного четырёхногого робота на Arduino
- Bluetooth Text Teleporter: передача текста с Android на Arduino (HID‑клавиатура)
- Своё рулевое управление (джойстик) для игр на Arduino