Управление роботом силой мысли: комплексный проект на Arduino (EEG + Bluetooth)
Компоненты и материалы
| Arduino UNO (для робота) | ×1 |
| Arduino Mega 2560 (главный контроллер) | ×1 |
| Arduino Leonardo (управление мышью ПК) | ×1 |
| Particle Photon (веб-сервер логирования) | ×1 |
| Necomimi Brainwave Cat Ears (EEG-сенсор NeuroSky TGAM) | ×1 |
| Драйвер двигателей L298 (SparkFun Dual H-Bridge) | ×1 |
| Релейный модуль (3 канала) | ×1 |
| Bluetooth HC-05 (master) + HC-06 (slave) | ×1+1 |
| Светодиоды, резисторы 330 Ом, транзисторы NPN | ×3 |
| Провода, макетная плата, паяльник | — |
Инструменты
- Паяльник
Программное обеспечение и сервисы
- Brain Visualizer (для экспериментов)
О проекте
Как ребенок я хотел двигать предметами мыслью (фанат Star Wars). Соединил это с электроникой и программированием.


Главная идея: используя разные мозговые ритмы, пользователь управляет роботом, курсором ПК или бытовыми приборами, а Particle Photon создает веб-дашборд для анализа мозговых волн (стресс, сонливость, баланс). Это может помочь людям с ограниченными возможностями: робот = инвалидное кресло, реле = свет/ТВ, мышь = ПК без рук.
Научная база: EEG и ритмы
EEG регистрирует электрическую активность мозга. Мы используем два показателя eSense (NeuroSky):
- Alpha (7–14 Гц) — релакс, закрытые глаза.
- Beta (15–30 Гц) — концентрация, активное мышление.

Как работает система
4 микроконтроллера:
- Arduino Mega — «мозг»: принимает данные от гарнитуры по Bluetooth, анализирует, отправляет команды остальным.
- Arduino Leonardo — эмулирует мышь (HID).
- Arduino UNO — принимает IR-команды и управляет роботом.
- Particle Photon — веб-сервер, логирует данные в облако.
Переключение режимов закрытием глаз (детектируется по Alpha):
- 1–2 сек → управление бытовой техникой (реле)
- 2–4 сек → управление роботом
- 4–6 сек → управление мышью ПК
Беспроводная EEG-гарнитура (хак Necomimi)
Игрушка Necomimi движет ушами по мозговым волнам. Внутри чип NeuroSky TGAM (UART, 57600 baud). Разбираем корпус (винты под наклейкой), аккуратно отпаиваем маленькую плату с TGAM, припаиваем 3 провода: GND, VCC, T (TX чипа). T соединяем с RX Bluetooth-модуля HC-06 (slave). Питание: Li-Ion 500 мАч + зарядка + step-up 5В + делитель 100/200 Ом → 3.3В для чипа и BT.


Настройка Bluetooth-модулей
HC-06 (slave в гарнитуре)
Загрузите скетч HC_06_Bluetooth в UNO, подключите HC-06 по схеме. Настройте на 57600 baud:
void setup() {
Serial.begin(9600); delay(1000);
Serial.print("AT"); delay(1000);
Serial.print("AT+VERSION"); delay(1000);
Serial.print("AT+PIN"); delay(1000); // убрать пароль
Serial.print("AT+BAUD7"); delay(1000); // 57600
Serial.begin(57600);
}
void loop() {}
Теперь гарнитура совместима с любыми NeuroSky-приложениями (Brain Visualizer, EEG Analyzer, Blink Camera).
HC-05 (master на Mega)
Скетч HC_05_Bluetooth. Подключите EN к 3.3В. Узнайте MAC-адрес HC-06 (через Android), замените «:» на «,» в коде:
Serial.println("AT+ROLE=1"); // master
Serial.println("AT+LINK=2015,09,151782"); // адрес HC-06
Serial.print("AT+UART=57600,1,0");
Serial.begin(57600);
Модули должны соединиться автоматически.
Робот на ИК-управлении (38 кГц)
Дешевый робот: шасси, ИК-приемник (с старого телевизора), L293D драйвер.
Схема драйвера (L293D): 2 screw-терминала, L293D, пины, резистор 1к, красный LED, плата.

Подключение к Arduino UNO:
D4 → pin 15 (EN1), D5 → pin 10 (IN1), D6 → pin 7 (IN2), D7 → pin 2 (IN3/4?)
VIN → pin 8 (Vmotor), 5V → pins 1,9,16 (enable), GND → 4,5,12,13
Код робота (Robot_Code) использует библиотеку IRremote: декодирует 3 команды — вперед, влево, стоп (назад и вправо опционально).
Главный сервер (Mega + Leonardo + Photon)
Корпус: две пластины 18×15 см, шлифовка, шурупы. Монтаж на двусторонний скотч.

Релейный модуль (3 канала): транзисторы 2N2222, диоды, резисторы 330/1к, реле 5В, пины D37–D39.

Связи сервера: IR LED на D3, реле на D37–D39, Mega D16 → Photon RX, Mega D18 → Leonardo RX. Питание общее.

Управление режимами (логика Mega)
- Робот: медитация >70 → поворот налево; внимание >70 → вперед.
- Реле (умный дом): внимание >70 → реле 1; медитация >70 → реле 2; оба >70 → реле 3. Повтор — выкл.
- Мышь: внимание 0–25 → влево, 25–50 → вправо, 50–75 → вверх, 75–100 → вниз; медитация >70 → клик.
Веб-сервер (Particle Photon)
Онлайн-логгер внимания/медитации/режима. Публикует в Particle Cloud. Дашборд показывает тренды в реальном времени — можно отслеживать стресс (скачки внимания) или сонливость (высокая медитация).

Упрощенная версия: только робот + EEG
Для новичков: Arduino Mini Pro + IR LED на D3 + нейрочип на RX. Код RobotControllerHeadset:
#include <IRremote.h> #include <Brain.h>
IRsend irsend; Brain brain(Serial);
void setup() { pinMode(3,OUTPUT); Serial.begin(57600); }
void loop() {
if(brain.update()) {
if(brain.readSignalQuality()==0) {
if(brain.readMeditation()>65) irsend.sendNEC(0xFF10EF,32); // left
if(brain.readAttention()>65) irsend.sendNEC(0xFF18E7,32); // forward
}
}
}
Тестирование: стань IoT-джедаем
Соберите всё, попробуйте. Робот, реле, мышь — всё управляется мыслью. Устройство не просто игрушка: биология + электроника помогают людям с инвалидностью вернуть контроль над средой.

Да пребудет с тобой Сила — всегда!
Код
- Particle Photon Code — веб-сервер (браузер IDE)
- Robot Controller Code — для UNO (IRremote)
- HC_05_Bluetooth.ino — настройка HC-05 master
- Mouse Controller Code — для Leonardo (Mouse.h)
- Arduino_Mega_Server — главный скетч (Brain, IRremote, SoftwareSerial, LiquidCrystal)
- RobotControllerHeadset.ino — упрощенная версия
Библиотеки: Brain, SoftwareSerial, IRremote.
Схемы









Производственный процесс
- Построение доступной беспроводной сети датчиков для дома
- Лучшие аксессуары для раскрытия полного потенциала Raspberry Pi
- Как правильно наносить клей-карандаш на стол Mark One
- Высокоскоростная фотография капель воды на Arduino Nano — DIY-триггер для вспышки
- Робот-ускользатор на сервоприводе: сборка на Arduino и HC-SR04
- Автономный линий-следующий робот на Arduino UNO
- Мониторинг температуры дома из любой точки через Arduino IoT Cloud
- Использование термистора: пошаговое руководство для Arduino
- 4 критичных признака, что ваш мотор вот-вот выйдет из строя
- DC vs AC двигатели: ключевые различия и выбор под вашу задачу