🤖 Робототехника 🚗 Робомашинка
1 2 3 4 5 6 7 8 9 10 11 12
Урок 5 · связь

Bluetooth — режем провод

Цель урока Подключить Bluetooth-модуль и управлять машиной без провода. Понять: Bluetooth — это тот же serial-канал, только по воздуху, а Firmata по нему работает так же, как по USB.
💡 Главная мысль урока Прошивку менять не нужно! Та же Firmata общается и по USB, и по Bluetooth. Модуль подключается к тем же пинам RX/TX, что и USB. В Python мы лишь укажем, что плата теперь на беспроводном порту.

🔌 Подключение модуля

Bluetooth-модуль ставится на пины RX/TX платы (через плату-расширение — обычно просто «воткнуть в гнездо»). Правило перекрёста:

⚠️ Снимай модуль на время заливки Bluetooth-модуль занимает те же пины RX/TX, что и загрузка по USB. Когда заливаешь Firmata — вынь модуль, потом вставь обратно. Прошивка остаётся прежней.

🔗 Спариваем с ноутбуком

В системе включи Bluetooth и найди устройство (имя вроде HC-06, PIN обычно 1234 или 0000). После спаривания привяжем порт:

# привязать спаренный модуль к порту /dev/rfcomm0
sudo rfcomm bind 0 XX:XX:XX:XX:XX:XX   # адрес модуля

Теперь в Python укажем этот порт при подключении:

board = pymata4.Pymata4(com_port="/dev/rfcomm0")

В robot.py это одна строчка в функции connect() — раскомментируй вариант с Bluetooth.

⚠️ Честно про Bluetooth Firmata «болтливая»: по Bluetooth она работает, но может подтормаживать, особенно когда радар постоянно опрашивает датчик. Для первых заездов надёжнее USB-кабель, а беспроводной режим включай как улучшение, когда всё уже работает по проводу.
✅ Проверка Появился порт /dev/rfcomm0, и программа из урока 4 рулит машиной без провода. Дальше дадим машине «глаза».

🧠 Проверь себя

Выбери ответ. Ошибёшься — 30 секунд на то, чтобы вернуться в урок и перечитать.

Нужно ли менять прошивку для работы по Bluetooth?

✅ Bluetooth — тот же serial-канал, только по воздуху. В Python меняем лишь порт подключения.

Как соединяют провода модуля с Arduino?

✅ Правило перекрёста: передатчик одного идёт в приёмник другого (TX→RX, RX→TX).
← НазадУрок 4 — Моторы из Python