Bluetooth module for microcontrollers

Подключение Bluetooth модуля HC-05 к STM32 Blue Pill

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

Технология Bluetooth работает на частоте 2.4 ГГц и имеет радиус действия около 10 метров. Ее достоинствами являются низкая стоимость, простота использования и низкое энергопотребление.

Внешний вид проекта подключения Bluetooth модуля HC-05 к плате STM32 Blue Pill

В данной статье мы рассмотрим подключение Bluetooth модуля HC-05 к плате STM32F103C8, также известной под названием STM32 Blue Pill («синяя таблетка»). С помощью связи по технологии Bluetooth мы будем с мобильного телефона, работающего на операционной системе Android, управлять включением/выключением светодиода, подключенного к плате STM32 Blue Pill.

Ранее на нашем сайте мы рассматривали подключение данного модуля (или его аналога HC-06) к следующим микроконтроллерам (платам):

Также на нашем сайте вы можете посмотреть все проекты с использованием Bluetooth модуля HC-05.

Необходимые компоненты

Аппаратное обеспечение

  1. Плата разработки STM32F103C8 (STM32 Blue Pill) (купить на AliExpress).
  2. Bluetooth модуль HC-05 (купить на AliExpress).
  3. Светодиод (купить на AliExpress).
  4. Смартфон на Android.
  5. Макетная плата.
  6. Соединительные провода.

Программное обеспечение

Bluetooth модуль HC-05

Вешний вид обеих сторон Bluetooth модуля HC-05 показан на следующем рисунке.

Вешний вид обеих сторон Bluetooth модуля HC-05

HC-05 является Bluetooth модулем с последовательной связью. Его можно настроить с помощью AT команд. Он может работать в различных конфигурациях: Master (ведущий), Slave (ведомый), Loop back). В нашем проекте он будет использоваться в качестве ведомого устройства.

Технические характеристики Bluetooth модуля HC-05:

  • типовая чувствительность: -80dBm;
  • скорость передачи данных: 9600 бод, 8 бит данных, 1 стоповый бит, нет бита четности;
  • pin код для автоматического соединения: “1234” или “0000”;
  • 6 контактов;
  • контакты Vcc и Gnd используются для подачи питания на модуль;
  • контакты Tx и Rx используются для взаимодействия с микроконтроллером;
  • контакт Enable для активации модуля, когда на нем low – модуль деактивирован (отключен);
  • контакт State работает как индикатор состояния модуля. Когда модуль не соединен с другим Bluetooth устройством, светодиод мигает постоянно. Когда он соединен с другим Bluetooth модулем – светодиод мигает с постоянной задержкой 2 секунды.
Читайте также:  Пропал значок устройства bluetooth

Режимы индикации светодиода модуля:

  • светодиод красного цвета на модуле показывает состояние Bluetooth модуля HC-05;
  • когда модуль не подключен ни к какому устройству светодиод мигает непрерывно;
  • когда модуль подключен к какому либо устройству светодиод мигает с некоторой задержкой.

Порты последовательной связи (USART Ports) в STM32 Blue Pill

Распиновка платы STM32 Blue Pill (STM32F103C8) показана на следующем рисунке.

Назначение контактов (распиновка) платы STM32F103C8 (Blue Pill)

Порты последовательной связи (USART Ports) в плате STM32 Blue Pill обозначены на представленном рисунке синим цветом. Всего в плате STM32 Blue Pill доступны три канала (порта) последовательной связи – они находятся на контактах PA9-TX1, PA10-RX1, PA2-TX2, PA3-RX2, PB10-TX3, PB11- RX3.

Схема проекта

Схема подключения Bluetooth модуля HC-05 к плате STM32 Blue Pill (STM32F103C8) представлена на следующем рисунке.

Схема подключения Bluetooth модуля HC-05 к плате STM32 Blue Pill (STM32F103C8)

В схеме сделаны следующие соединения между платой STM32F103C8 и Bluetooth модулем HC-05:

  • контакт TX (PA9) платы STM32F103C8 подключен к контакту RX Bluetooth модуля;
  • контакт RX (PA10) платы STM32F103C8 подключен к контакту TX Bluetooth модуля;
  • контакт VCC (+5V) Bluetooth модуля подключен к контакту 5V платы STM32F103C8;
  • контакт GND Bluetooth модуля подключен к контакту GND платы STM32F103C8.

Положительный вывод светодиода в представленной схеме подключен через токоограничивающий резистор к контакту PA0 платы STM32F103C8, другой вывод светодиода подключен к контакту GND платы.

Объяснение программы для платы STM32

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.
Подключение Bluetooth модуля HC-05 к плате STM32 Blue Pill во многом аналогично его подключению к плате Arduino. Программировать плату STM32 мы будем с помощью Arduino IDE.

Как уже указывалось ранее, мы с помощью приложения Bluetooth Terminal, запущенном на смартфоне с Android, будем управлять включением/выключением светодиода, подключенного к плате STM32 Blue Pill.

Примечание : контакты RX & TX должны быть отключены во время загрузки кода в плату STM32F103C8.

Поскольку в плате STM32F103C8 у нас три порта последовательной связи (USART), то в программе необходимо указать какой из них мы будем использовать.

Также укажем контакт, к которому в нашей схеме подключен светодиод.

Читайте также:  Bluetooth kia rio x line

Источник

Подключение Bluetooth-модуля HC-05 к микроконтроллеру AVR ATmega8

В этой статье мы рассмотрим подключение Bluetooth-модуля HC-05 к микроконтроллеру ATmega8 (семейство AVR), а затем установим связь между смартфоном под управлением операционной системы Android и микроконтроллером ATmega8 с помощью Bluetooth-модуля, который будет использовать для связи с микроконтроллером универсальный асинхронный приемопередатчик (UART). Для контроля за успешностью процесса взаимосвязи будем использовать светодиод.

Подключение Bluetooth-модуля HC-05 к микроконтроллеру AVR ATmega8: внешний вид

Необходимые компоненты

Аппаратное обеспечение

  1. Микроконтроллер ATmega8 (купить на AliExpress).
  2. Программатор AVR-ISP (купить на AliExpress), USBASP (купить на AliExpress) или другой подобный.
  3. Bluetooth-модуль HC-05 (купить на AliExpress).
  4. 10-пиновый FRC кабель.
  5. Светодиод (купить на AliExpress).
  6. Макетная плата.
  7. Соединительные провода.
  8. Источник питания с напряжением 5 Вольт.

Программное обеспечение

CodeVisionAVR (или другое подобное, например, Atmel Studio)
SinaProg – для загрузки программы в микроконтроллер ATmega8 с помощью программатора USBASP

Скачать CodeVisionAVR — http://www.hpinfotech.ro/cvavr_download.html.

Общие принципы работы Bluetooth-модуля HC-05

Bluetooth-модуль может работать в двух режимах:

В режиме управления можно конфигурировать свойства Bluetooth-модуля такие как: имя источника сигнала Bluetooth, пароль, бодовая скорость и т.д. В режиме функционирования можно получать и передавать данные между Bluetooth-модулем и микроконтроллером, поэтому в данном проекте мы будем использовать режим функционирования. Для режима управления оставим его настройки по умолчанию. То есть имя устройства будет HC-05 (автор статьи использует HC-06), пароль будет 0000 или 1234, а скорость передачи будет равна 9600 бод/с.

Внешний вид Bluetooth-модуля HC-05

Модуль работает при напряжении питания 5В, а его сигнальные контакты оперируют напряжением 3.3В, поэтому регулятор данного напряжения (3.3В) присутствует в данном модуле. Следовательно, нам не нужно беспокоиться о стабильности этого напряжения. У модуля 6 выходных контактов, но в режиме функционирования используются только 4. Схема соединения контактов модуля приведена в следующей таблице.

Создание проекта для ATmega8 в программной среде CodeVision

Аналогичные операции можно произвести и в других программных средах для программирования микроконтроллеров AVR, например, Atmel Studio.

После установки CodeVision вам необходимо выполнить следующие ниже перечисленные шаги чтобы создать проект и написать программу.

Шаг 1. Создайте новый проект в CodeVision, выбрав пункт меню File -> New -> Project. В появившемся диалогом окне нажмите Yes.

Создание нового проекта в CodeVision

Шаг 2. Откроется CodeWizard. Кликните в ней на первой опции, то есть AT90, затем нажмите OK.

Выбор первой опции в CodeVision

Шаг 3. Выберите свой микроконтроллер, в нашем случае им будет Atmega8.

Читайте также:  Выберите версию bluetooth avrcp

Выбор модели микроконтроллера в CodeVision

Шаг 4. Кликните на Ports (порты). В нашем проекте мы будем использовать Port C4 и C5 для управления светодиодом. Таким образом, необходимо сконфигурировать биты 4 и 5 как выходные кликнув на них, как показано на рисунке:

Выбор портов в CodeVision

Шаг 5. Мы будем использовать универсальный асинхронный последовательный приемопередатчик (USART) для Rx и Tx (приема и передачи данных). Поэтому необходимо выбрать настройки USART, в них кликнуть на настройки приема и оставить их по умолчанию.

Выбор параметров последовательного порта в CodeVision

Шаг 6. Выберите Program -> Generate, Save and Exit. Теперь более половины вашей работы по программированию микроконтроллера Atmega8 можно считать выполненной.

Выбор опций сохранения в CodeVision

Шаг 7. Создайте новую папку на рабочем столе чтобы записывать туда наши файлы.

Выбор директория для сохранения проекта

У нас будет 3 диалоговых окна (будут появляться последовательно одно за другим) для сохранения наших файлов.

Сделайте то же самое (что и на представленном рисунке) с двумя другими диалоговыми окнами – то есть сохраните предлагаемые ими файлы.

После этого рабочая область программы будет выглядеть следующим образом:

Фрагмент кода программы в CodeVision

Теперь большая часть работы по программированию микроконтроллера Atmega8 нами выполнена с использованием такой удобной программной среды как CodeVision. Но ели вы не хотите использовать данную программную среду, то вы можете запрограммировать работу с последовательным портом микроконтроллера вручную по аналогии с последовательностью действий в таких статьях на нашем сайте как:

Работа схемы

Схема подключения Bluetooth-модуля HC-05 к микроконтроллеру AVR ATmega8 приведена на следующем рисунке.

Схема подключения Bluetooth-модуля HC-05 к микроконтроллеру AVR ATmega8

Подключите одну сторону FRC кабеля к программатору USBASP, а другую к контактам SPI микроконтроллера.

Назначение контактов FRC кабеля

Необходимо сделать следующие соединения:
1. Pin1 of FRC female connector -> Pin 17 ,MOSI of Atmega8
2. Pin 2 connected to Vcc of atmega8 i.e. Pin 7
3. Pin 5 connected to Reset of atmega8 i.e. Pin 1
4. Pin 7 connected to SCK of atmega8 i.e. Pin 19
5. Pin 9 connected to MISO of atmega8 i.e. Pin 18
6. Pin 8 connected to GND of atmega8 i.e. Pin 8

Соедините остальные компоненты на макетной плате в соответствии с представленной выше схемой.

Пояснение части кода программы

Полный код программы вместе с видео, демонстрирующим работу схему, приведен в конце статьи. В этой же части статьи мы лишь поясним как правильно объявить переменные в программе, в которых будут храниться символы, поступающие от Bluetooth-модуля.

Источник

Оцените статью
Adblock
detector