Беспроводная прошивка Arduino через Bluetooth HC-05: щит без USB-кабеля
Компоненты и материалы
- Arduino UNO — 1 шт.
- Bluetooth-модуль HC-05 — 1 шт.
- Резисторы: 1 кОм, 2.21 кОм (делитель напряжения на пин RESET)
- Конденсатор 100 нФ
- Монтажная плата, разъёмы (shield-формат)
Программное обеспечение
- Arduino IDE
Суть проекта
Замена USB-кабеля на Bluetooth для загрузки скетчей. HC-05 настраивается в режим AT-команд, меняются параметры: имя, роль (slave), скорость 115200 бод, полярность. Пин 32 (PIO9) HC-05 через делитель напряжения подключается к RESET Arduino — при начале прошивки модуль сбрасывает микроконтроллер.
Этапы настройки HC-05
- Вход в AT-режим: зажать кнопку KEY (или подать 3.3В на пин KEY) до подачи питания. LED мигает медленно (2 сек).
- Подключить HC-05 к Arduino через SoftwareSerial (D10=RX, D11=TX) для ввода AT-команд из Serial Monitor.
- Выполнить команды по порядку:
AT+ORGL // сброс к заводским AT+NAME=BLUE_P // задать имя (опционально) AT+ROLE=0 // slave AT+POLAR=1,0 // полярность AT+UART=115200,0,0 // скорость 115200, 8N1 AT+INIT // инициализация профиля SPP
Сборка щита
- Tx Arduino → Rx HC-05, Rx Arduino → Tx HC-05 (после настройки AT).
- PIO9 (пин 32) HC-05 → делитель 1к/2.21к → RESET Arduino.
- Питание HC-05 от 5V Arduino, общая земля.
- Конденсатор 100 нФ между VCC и GND HC-05.
- Всё собрано в виде щита на монтажной плате с male/female разъёмами.
Сопряжение с ПК
- В настройках Bluetooth ПК найти устройство (например, BLUE_P), пароль 1234.
- Определить исходящий COM-порт (в «Дополнительных параметрах Bluetooth» → COM-порты).
- В Arduino IDE: Инструменты → Порт → выбрать исходящий COM-порт Bluetooth.
- Загрузить любой скетч (например, Blink) — прошивка пойдёт по воздуху.
Код для входа в AT-режим (Program 1)
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // RX, TX
void setup() {
pinMode(9, OUTPUT); // пин 9 тянет KEY (пин 34) HC-05 в HIGH
digitalWrite(9, HIGH);
Serial.begin(9600);
Serial.println("Enter AT commands:");
BTSerial.begin(38400); // скорость AT-режима по умолчанию
}
void loop() {
if (BTSerial.available()) Serial.write(BTSerial.read());
if (Serial.available()) BTSerial.write(Serial.read());
}
Нюансы
- Не все HC-05 имеют кнопку KEY — у некоторых только пин KEY на плате.
- Делитель напряжения на RESET обязателен: HC-05 — 3.3В логика, Arduino — 5В.
- Скорость 115200 критична: загрузчик Arduino работает на этой скорости.
- Щит универсален: подходит для любых плат с стандартным расположением пинов (UNO, Nano, Mega с адаптером).
Производственный процесс
- Создание умного робота с Bridge Shield — интеграция Raspberry Pi и Arduino
- Создание потрясающей системы Ambilight для монитора на Arduino
- Веб-управляемая DMX-система освещения: Arduino Mega как мастер-контроллер
- Беспроводная передача данных по магнитному полю на Arduino с 3D-сенсором Infineon
- Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
- Умный вольтметр на Arduino и смартфоне — простое DIY-проект
- IoT-монитор пульса в реальном времени на Arduino и MAX30100
- Android-управляемая робот-платформа на Raspberry Pi и Motor Shield
- Веб-сервер на Arduino Uno WiFi: управление LED через браузер
- USB-BLE MIDI-адаптеры на Arduino: беспроводное подключение инструментов к iOS