8 (800) 550-13-29
Заказать звонок
Связь с директором
  • Контакты
  • Доставка
  • Оплата
  • База знаний
  • Блог
  • Акции
  • Видео
  • О 3DiY
  • Гос. закупки
  • ...
    3DIY
    3D принтеры
    Всё для 3D принтеров
    • Электроника
      Электроника
    • Механика
      Механика
    • Экструдеры
      Экструдеры
    • Пластик
      Пластик
    • 3D принтеры
      3D принтеры
    • 3D ручки
      3D ручки
    • Сопутствующие
      Сопутствующие
    Arduino/робототехника
    • Arduino
      Arduino
    • Raspberry Pi
      Raspberry Pi
    • Orange Pi
      Orange Pi
    • Одноплатники
      Одноплатники
    • Модули (Shield)
      Модули (Shield)
    • Датчики / Сенсоры
      Датчики / Сенсоры
    • Дисплеи
      Дисплеи
    • Механика
      Механика
    • Макетные платы (Breadboard)
      Макетные платы (Breadboard)
    • Светодиоды
      Светодиоды
    • Провода и кабели
      Провода и кабели
    • Источники питания
      Источники питания
    • Радиодетали
      Радиодетали
    ЧПУ
    • Электроника
      Электроника
    • Электротехника
      Электротехника
    • Электропривод
      Электропривод
    • Направляющие
      Направляющие
    • Передачи
      Передачи
    • Механика
      Механика
    • Конструкционный профиль
      Конструкционный профиль
    • Лазерная резка и аксессуары
      Лазерная резка и аксессуары
    Услуги
    • 3D печать
    • Ремонт 3D принтеров
    Ещё
      3DIY
      3D принтеры
      Каталог
      • 3D принтеры и комплектующие
        3D принтеры и комплектующие
        • Электроника
        • Механика
        • Экструдеры
        • Пластик
        • 3D принтеры
        • 3D ручки
        • Сопутствующие
      • Arduino и робототехника
        Arduino и робототехника
        • Arduino
        • Raspberry Pi
        • Orange Pi
        • Одноплатники
        • Модули (Shield)
        • Датчики / Сенсоры
        • Дисплеи
        • Механика
        • Макетные платы (Breadboard)
        • Светодиоды
        • Провода и кабели
        • Источники питания
        • Радиодетали
      • ЧПУ комплектующие
        ЧПУ комплектующие
        • Электроника
        • Электротехника
        • Электропривод
        • Направляющие
        • Передачи
        • Механика
        • Конструкционный профиль
        • Лазерная резка и аксессуары
      Услуги
      • 3D печать
      • Ремонт 3D принтеров
      Блог
      • 3D-печать
      • 3D-принтеры
      База знаний
      • Датчики
      • Модули
      • Платы
      • 3D-принтеры
      • Дисплеи
      • Механика
      • Сопутствующие
      • ЧПУ
      • Проекты
      • Компоненты
      Информация
      • Акции и Скидки
      • Условия доставки
      • Условия оплаты
      • Сashback
      • О нас
        • Наши партнеры
        • Наши клиенты
        • Вакансии
      • Гос. закупки
      Контакты
      • Как до нас добраться
      Ещё
        3DIY
        • 3D принтеры
        • Каталог
          • Назад
          • Каталог
          • 3D принтеры и комплектующие
            • Назад
            • 3D принтеры и комплектующие
            • Электроника
            • Механика
            • Экструдеры
            • Пластик
            • 3D принтеры
            • 3D ручки
            • Сопутствующие
          • Arduino и робототехника
            • Назад
            • Arduino и робототехника
            • Arduino
            • Raspberry Pi
            • Orange Pi
            • Одноплатники
            • Модули (Shield)
            • Датчики / Сенсоры
            • Дисплеи
            • Механика
            • Макетные платы (Breadboard)
            • Светодиоды
            • Провода и кабели
            • Источники питания
            • Радиодетали
          • ЧПУ комплектующие
            • Назад
            • ЧПУ комплектующие
            • Электроника
            • Электротехника
            • Электропривод
            • Направляющие
            • Передачи
            • Механика
            • Конструкционный профиль
            • Лазерная резка и аксессуары
        • Услуги
          • Назад
          • Услуги
          • 3D печать
          • Ремонт 3D принтеров
        • Блог
          • Назад
          • Блог
          • 3D-печать
          • 3D-принтеры
        • База знаний
          • Назад
          • База знаний
          • Датчики
          • Модули
          • Платы
          • 3D-принтеры
          • Дисплеи
          • Механика
          • Сопутствующие
          • ЧПУ
          • Проекты
          • Компоненты
        • Информация
          • Назад
          • Информация
          • Акции и Скидки
          • Условия доставки
          • Условия оплаты
          • Сashback
          • О нас
            • Назад
            • О нас
            • Наши партнеры
            • Наши клиенты
            • Вакансии
          • Гос. закупки
        • Контакты
          • Назад
          • Контакты
          • Как до нас добраться
        • 8 (800) 550-13-29
        Контактная информация
        Москва, Духовской пер. 17с3   |  Пн-Пт 11.00-19.00 | Сб-Вс Выходные
        info@3d-diy.ru
        • Facebook
        • Вконтакте
        • Instagram
        • YouTube

        Bluetooth модуль HC-05

        База знаний
        -
        Модули
        -
        Беспроводная связь
        -Bluetooth модуль HC-05
        Поделиться
        • Bluetooth модуль HC-05
        Беспроводные модули
        Перейти в раздел
        Беспроводные модули
        Товары
          • Bluetooth модуль HC-05
            Быстрый просмотр
            Bluetooth модуль HC-05
            Мало
            637 руб./шт
            Подробнее
          Контроллер Arduino не поддерживают беспроводную связь, а часто это просто необходимо. Например, удаленное управление роботом на Arduino, отправка данных с метеостанции на арудино в Интернет или на домашний сервер, связь нескольких устройств между собой.

          Содержание

          • Обзор
          • Технические характеристики модуля
          • Подключение
          • Программирование модуля
          • Пример использования
          • Часто задаваемые вопросы FAQ

          Обзор модуля Bluetooth HC-05

          Контроллер Arduino не поддерживают  беспроводную связь, а часто это просто необходимо. Например, удаленное управление роботом на Arduino, отправка данных с метеостанции на арудино в Интернет или на домашний сервер, связь нескольких устройств между собой. Здесь в помощь разработчикам устройств множество внешних модулей для организации различных технологий беспроводной связи: модули WiFi, GSM/GPRS, IR, Bluetooth, радиомодули для работы в различных частотных диапазонах.

          Технология Bluetooth используется для передачи данных между двумя устройствами, которые находятся в непосредственной близости друг с другом, причем необязательна прямая видимость. Технология Bluetooth обеспечивает хорошую устойчивость к широкополосным помехам, что позволяет множеству устройств, находящихся в одном месте, одновременно общаться между собой, не мешая друг другу. Очень широко данная технология используется в телефонах, планшетах, ноутбуках.

          Одно из лучших решений для организации двусторонней связь по Bluetooth вашего Arduino-устройства с планшетом, ноутбуком или другим Bluetooth-устройством – Bluetooth-модуль HC-05 , который может работать как master (осуществлять поиск Bluetooth-устройств и инициировать установку связи), так и slave (ведомое устройство).


          Технические характеристики модуля HC05

          • Чип Bluetooth: HC-05(BC417143)
          • Диапазон частот радиосвязи: 2,4–2,48 ГГц
          • Мощность передачи: 0,25–2,5 мВт
          • Чувствительность: –80 dBм
          • Напряжение питания: 3,3–5 В
          • Потребляемый ток: 50 мА
          • Радиус действия: до 10 метров
          • Интерфейс: последовательный порт
          • Режимы: master, slave
          • Температура хранения: –40…85 °C
          • Рабочий диапазон температур: –25…75 °C
          • Габариты: 27 x 13 x 2,2 мм

          .


          Подключение

          Датчик имеет 6 выводов стандарта 2,54 мм:

          • VCC — (питание 3,6 – 6 В);
          • GND — (земля).
          • TXD, RXD — UART интерфейс;
          • STATE — индикатор состояния;
          • KEY — контакт для входа в режим программирования.

          Bluetooth-modul-HC-05-1.jpg

          Настройка модуля осуществляется в режиме программирования отправкой AT-команд по последовательному порту. Для входа в режим программирования необходимо подать на контакт KEY сигнал высокого уровня. На некоторых модулях контакт KEY отсутствует, и вместо него контакт EN:

          • EN — включение/выключение модуля;

          Bluetooth-modul-HC05.jpg

          В этом случае для входа в режим программирования необходимо подать сигнал высокого уровня на контакт 34:

          Bluetooth-modul-HC.jpg

          Для модуля к плате Arduino по последовательному порту будем использовать со сторону Arduino программный UART.  Схема подключения на рисунке:

          Bluetooth-modul-HC-05.jpg

          Получить должны примерно следующие:

          Skhema-v-sbore-HC-05.jpg


          Программирование модуля Bluetooth HC05

          Настройка модуля осуществляется в режиме программирования отправкой AT-команд по последовательному порту. Подключим модуль HC05 к плате Arduino по схеме соединений на рисунке 5. На контакт KEY модуля (или вывод 34 платы) подадим 3.3В. AT-команды будем отправлять из монитора последовательного порта Arduino IDE. Загрузим в Arduino скетч из листинга 1. Нам понадобится Arduino-библиотека SoftwareSerial.  Скорость UART модуля в режиме программирования 38400 бод, но может и отличаться, в этом случае следует подобрать.

          #include <SoftwareSerial.h>
          
          SoftwareSerial mySerial(2, 3); // указываем пины rx и tx соответственно
          
          void setup()  {
            pinMode(2,INPUT);
            pinMode(3,OUTPUT);
            Serial.begin(9600);
            mySerial.begin(38400);
            Serial.println("start prg");
          }
          
          void loop() {
            if (mySerial.available()) {
              char c = mySerial.read(); // читаем из software-порта
              Serial.print(c); // пишем в hardware-порт
            }
            if (Serial.available()) {
              char c = Serial.read(); // читаем из hardware-порта
              mySerial.write(c); // пишем в software-порт
            }
          }

          После загрузки скетча откроем монитор последовательного порта Arduino IDE и начнем отправлять AT-команды:

          Otpravka-AT-komand.jpg


          Список основных AT-команд:

          • AT — тестовая команда.

          Параметров нет.

          Ответ модуля: OK

          • AT+VERSION? — получить версию прошивки модуля.

          Параметров нет.

          Ответ модуля: +VERSION: <Param>

          OK

          где <Param> — версия прошивки Bluetooth-модуля.

          • AT+RESET — сброс настроек.

          Параметров нет.

          Ответ модуля: OK

          • AT+ORGL — установка пользовательских настроек модуля.

          Параметров нет.

          Ответ модуля: OK

          • AT+ADDR? — получить адрес модуля.

          Параметров нет.

          Ответ модуля:  +ADDR:<Param>

          где <Param> — адрес Bluetooth-модуля NAP: UAP : LAP.

          • AT+NAME? — получить имя модуля.

          Параметров нет.

          Ответ модуля: +NAME:<Param>

          где <Param> — имя Bluetooth-модуля.

          • AT+NAME=<Param> — установить новое имя модуля.

          Параметр: <Param> — имя Bluetooth-модуля.

          Ответ модуля: +NAME:<Param>

          OK (или FAIL)

          • AT+PSWD? — получить пин-код доступа к Bluetooth-модулю.

          Параметров нет.

          Ответ модуля: + PSWD:<Param>

          где <Param> — пин-код. По умолчанию 1234.

          • AT+PSWD=<Param> — установить код доступа к Bluetooth-модулю.

          Параметр: <Param> — код доступа к модулю.

          Ответ модуля: OK (или FAIL)

          • AT+CLASS=<Param> — установить режим работы модуля Bluetooth-модуля.

          Параметр: <Param> — класс. В документации модуля не приведены возможные значения данного параметра. По умолчанию он установлен в 0. Если предполагается использовать модуль в режиме master, значение не надо изменять. Если использовать модуль в режиме slave, при значении параметра, равном 0, он невидим для устройств с операционной системой Android. Для видимости необходимо установить значение параметра равным 7936.

          Ответ модуля: OK

          • AT+CLASS? — получить класс модуля.

          Параметров нет.

          Ответ модуля: +CLASS:<Param>

          где <Param> — класс модуля.

          • AT+IAC — получить код доступа к запросу GIAC (General Inquire Access Code).

           Различным физическим каналам связи, исполь­зуемым в процессе установления соединения, соответствуют различные коды доступа к каналам. В каналах опроса, за исключением выделенных, используется одинаковый для всех устройств общий код доступа к запросу.

          Параметров нет.

          Ответ модуля: + IAC:<Param>

          где <Param> — код доступа к запросу.

          • AT+IAC=<Param> — установить код доступа к запросу.

          Параметр: <Param> — код доступа к запросу. Значение по умолчанию 9e8b33.

          Ответ модуля: OK (или FAIL)

          • AT+ROLE? — получить режим работы модуля.

          Параметров нет.

          Ответ модуля: +ROLE:<Param>

          где <Param> — режим работы модуля Bluetooth-модуля:

          • 0 — slave. В этом режиме другой мастер может подключиться к модулю;
          • 1 — master. В этом режиме модуль может сам подключиться к какому-нибудь Bluetooth-устройству;
          • 2 — slave-loop. Модуль отправляет обратно все байты, которые ему прислали.
          • AT+ROLE=<Param> — установить режим работы Bluetooth-модуля.

          Параметр: <Param> — режим работы Bluetooth-модуля:

          • 0 — slave;
          • 1 — master;
          • 2 — slave-

          Ответ модуля: OK

          • AT+UART=<Param1>,<Param2>,<Param3> — установить модуль для последовательного порта.

          Параметры:

          • <Param1> — скорость обмена (9600,19200,38400,57600,115200);
          • <Param2> — стоп-бит:
          • 0 — нет;
          • 1 — есть;
          • <Param3> — бит паритета:
          • 0 — нет;
          • 1 — есть.

          Ответ модуля: OK (или FAIL).

          • AT+UART? — получить параметры обмена модуля.

          Параметров нет.

          Ответ модуля: +UART:<Param1>,<Param2>,<Param3>

          где:

          • <Param1> — скорость обмена (9600,19200,38400,57600,115200);
          • <Param2> — стоп-бит;
          • <Param3> — бит паритета.
          • AT+CMODE=<Param> — установить режим подключения Bluetooth-модуля.

          Параметр: <Param> — режим подключения Bluetooth-модуля:

          • 0 — модуль может подключаться только к определенному командой AT+BIND Bluetooth-устройству;
          • 1 — модуль может подключаться к любому Bluetooth-устройству;
          • 2 — режим slave-loop.

          Ответ модуля: OK

          • AT+CMODE? — получить режим подключения модуля.

          Параметров нет.

          Ответ модуля: +CMODE:<Param>

          где <Param> — режим подключения Bluetooth-модуля:

          • 0 — модуль может подключаться только к определенному командой AT+BIND Bluetooth-устройству;
          • 1 — модуль может подключаться к любому Bluetooth-устройству;
          • 2 — режим slave-loop.
          • AT+INQM=<Param1>,<Param2>,<Param3> — установить параметры для запроса поиска Bluetooth-устройств.

          Параметры:

          • <Param1>:
          • 0 — стандартный режим запроса;
          • 1 — запрос в режиме RSSI;
          • <Param2> — максимальное количество устройств, отвечающих на запрос;
          • <Param3> — таймаут ожидания (1–48: от 1,28 сек до 61,44 сек).

          Ответ модуля: OK (или FAIL).

          • AT+INQM? — получить параметры для запроса поиска Bluetooth-устройств.

          Параметров нет.

          Ответ модуля: +UART:<Param1>,<Param2>,<Param3>

          • AT+INQ — запуск поиска Bluetooth-устройств.

          Параметров нет.

          Ответ модуля — список найденных устройств.

          • AT+BIND=<Param> — привязать Bluetooth-модуль к другому модулю.

          Параметр: <Param> — адрес авторизованного Bluetooth-модуля.

          Ответ модуля: OK (или FAIL).

          • AT+BIND? — получить адрес устройства, привязанного к Bluetooth-модулю.

          Параметров нет.

          Ответ модуля: <Param> — адрес устройства, привязанного к Bluetooth-модулю.

          • AT+FSAD=<Param> — поиск авторизированного Bluetooth-устройства.

          Параметр: <Param> — адрес авторизованного Bluetooth-модуля:

          Ответ модуля: OK (или FAIL).

          • AT+RMSAD=<Param> — удалить устройство из списка авторизированных для нашего Bluetooth-модуля.

          Параметр: <Param> — адрес авторизованного Bluetooth-модуля.

          Ответ модуля: OK (или FAIL).

          • AT+RMAAD — очистить список авторизированных устройств для нашего Bluetooth-модуля.

          Параметр: <Param> — адрес авторизованного Bluetooth-модуля.

          Ответ модуля: OK (или FAIL).

          • AT+LINK=<Param> — соединиться с Bluetooth-устройством.

          Параметр: <Param> =— адрес Bluetooth-устройства.

          Ответ модуля: OK (или FAIL).

          Полный список AT-команд можно найти здесь.


          Пример использования

          Рассмотрим пример получения на Android-устройстве (телефон, смартфон, планшет) данных влажности воздуха и температуры с датчика DHT11, подключенного к Arduino. Arduino каждые 10 секунд получает данные с датчика DHT11 и отправляет их через модуль HC05 на Android-устройство.

          Нам понадобятся следующие детали:

          • плата Arduino
          • плата прототипирования
          • датчик DHT11
          • модуль Bluetooth HC05
          • соединительные провода
          • Телефон или планшет но ОС Android

          Соберем схему, показанную на рисунке:

          Bluetooth-modul-HC-05-proekt.jpg

          Получаем:

          Skhema-v-sbore-HC05.jpg

          Загрузим на плату Arduino скетч ( смотрите ниже) – получение данных влажности и температуры с  датчика DHT11 и выдача данных в последовательный порт (hardware) через модуль HC05 на Android-устройство.

          //3d-diy.ru
          // подключение библиотеки DHT
          #include "DHT.h"
          // константы
          #define DHTPIN 8           // пин подключения контакта DATA
          #define DHTTYPE DHT11      // датчик DHT 11
          #define INTERVAL_GET_DATA 2000  // интервала измерений, мс
          // создание экземпляра объекта DHT
          DHT dht(DHTPIN,DHTTYPE);
          // переменная для интервала измерений
          unsigned long millis_int1=0;
          int pos=0;
          //  подключение библиотеки SoftwareSerial.h
          #include <SoftwareSerial.h>
          SoftwareSerial mySerial(2, 3); // указываем пины rx и tx соответственно
          
          void setup() {
            Serial.begin(9600);  // запуск последовательного порта
            mySerial.begin(9600);
            dht.begin();         // запуск DHT
            Serial.println("start prg");
          }
          
          void loop() {
            if(millis()-millis_int1 >= INTERVAL_GET_DATA) {
              pos=1-pos;
              if(pos==0)  {
                // получение данных влажности c DHT11
                int humidity = dht.readHumidity();
                // вывод в монитор последовательного порта
                Serial.print("humidity=");Serial.println(humidity);
                mySerial.print("H=");mySerial.println(humidity);
              }
              else  {
                // получение данных влажности c DHT11
                int temp = dht.readTemperature();
                // вывод в монитор последовательного порта
               Serial.print("temperature=");Serial.println(temp);
               mySerial.print("T=");mySerial.println(temp);
              }
              // старт интервала отсчета
              millis_int1=millis();
            }
          }
          

          Проверим на Android-устройстве получение данных, отправляемых Arduino через bluetooth-модуль HC05. На Android-устройчстве установим программу Bluetooth Terminal. В программе установим соединение с модулем HC05 :

          Soedinenie-modul-programme-Bluetooth-Terminal.png

          И наблюдаем прием данных, поступающих из Arduino через модуль HC05:

          Poluchenie-dannyh-Arduino-Bluetooth-Terminal.png

          И выдача данных в монитор последовательного порта Arduino IDE:

          Vydacha-dannyh-monitor-posledovatelnogo-porta.png


          Часто задаваемые вопросы FAQ

          1. На AT-команды нет ответа модуля
          • Проверьте правильность подключения модуля;
          • Проверьте подключения контакта KEY модуля (или вывода 34) к 3,3В;
          • Проверьте установленные параметры для последовательного порта (скорость 38400 бод, может у модулей разных производителей отключаться).
          2. Android-устройство не может подключиться к bluetooth-модулю HC05
          • Проверьте подключение модуля к питанию, должно быть быстрое мигание светодиода на модуле (поиск сети);
          • Проверьте отключение контакта KEY модуля (или вывода 34) от 3,3В;
          • Установите AT-командами роль slave (AT+ROLE=0).
          3. Не передаются данные на Android-устройство
          • Проверьте правильность подключения bluetooth-модулю HC05 к плате Arduino;
          • Скорость обмена данными Arduino и HC05 должна соответствовать установленной с помощью AT-команды AT+UART.


          Товары
            • Bluetooth модуль HC-05
              Быстрый просмотр
              Bluetooth модуль HC-05
              Мало
              Подробнее

            Назад к списку Следующий проект
            Компания
            О компании
            Политика
            Услуги
            Партнеры
            Клиенты
            Информация
            Акции и скидки
            Условия оплаты
            Условия доставки
            Гарантия на товар
            Кэшбэк
            Как купить
            Вопрос-ответ
            Блог
            База знаний
            Производители
            Будьте всегда в курсе!
            Узнавайте о скидках и акциях первым
            Оставайтесь на связи
            • Вконтакте
            • Facebook
            • Instagram
            • YouTube
            Наши контакты
            8 (800) 550-13-29
            info@3d-diy.ru
            Москва, Духовской пер. 17с3   |  Пн-Пт 11.00-19.00 | Сб-Вс Выходные
            2021 © 3DiY (Тридиай) - интернет-магазин комплектующих для 3D принтеров, ЧПУ станков и робототехники