Блютуз модуль принципиальная схема

Bluetooth модуль HM-10 (ZS-040). Урок 14. Ардуино

Bluetooth модуль HM-10 (ZS-040)

Привет! Как известно, все становится лучше, если добавить bluetooth. Поэтому пришло время добавить к нашим проектам bluetooth модуль HM-10. И попробовать управлять схемой на Ардуино через телефон.

В этом уроке мы будем модифицировать схему с rgb светодиодом. Поэтому, посмотрите урок с ней, если уже забыли или пропустили его.

Для того, чтобы выполнить этот урок нам понадобиться

  • Ардуино UNO
  • Макетная плата
  • Перемычки
  • 3 Резистора номиналом 220 Ом
  • 3 Резистора номиналом 1 кОм
  • RGB Светодиод
  • Bluetooth модуль HM-10
  • Кабель USB

В прошлом уроке мы настроили схему на Ардуино, которая управляется из последовательного порта. Мы записывали в последовательный порт данные через программу на Processing и плата Ардуино управляла цветом на rgb светодиоде.

Теперь заменим Processing программу на bluetooth модуль и программу в телефоне.

Программа и схема

Соберем схему для управления rgb светодиода и добавим в схему bluetooth модуль.

Принципиальная схема подключения bluetooth модуля

Контакт TXD подключаем напрямую к контакту 8 Ардуино. А RXD подключаем к 9 контакту через делитель напряжения. Используем сопротивление 1 кОм с одной стороны и 2 кОм с другой.

После подключения питания к Ардуино, лампочка на модуле начнет мигать. Значит питание к нему подключено, и, первоначально, все работает правильно.

После этого уже можно попробовать найти его среди других Bluetooth устройств. С помощью компьютера или телефона. В моем случае, он определяется как BT05

Поиск bluetooth устройств в windows 10

Но сначала напишем программу для Ардуино и загрузим на плату.

В программе используем библиотеку для bluetooth. И создадим все переменные, которые понадобятся в будущем.

#include SoftwareSerial BT(8, 9);// Контакты bluetooth модуля. 8 для TXD, 9 для RXD char c = ""; // Переменная для считывания символа из последовательного порта String str = ""; // Переменная для формирования целой строки int rgb[] = ; // Массив контактов rgb светодиода int light = 0; // Переменная для отправки на контакты светодиода int i = 0; // Счетчик цикла для переключения цветов светодиода

В функции setup() настроим основные параметры программы. Включим последовательные порты на ардуино и на bluetooth.

Читайте также:  Блютуз елм ваз 2107

Сразу отправим тестовые сообщения в оба монитора.

Самое интересное будет в цикле loop(). Будем считывать информацию с последовательного порта bluetooth. Считывается только один символ. Поэтому нужно подумать, как считать всю строку и обработать уже ее. Для этого найдем символ перевода строки ‘\n’ . Все, что было до этого символа соберем в одну строку.

Кроме того, мы собираем только цифры, поэтому всю строку можно представить как число. Ограничим это число функцией constrain(), чтобы можно было написать в программе что угодно, но Ардуино записал на пин корректное значение.

С помощью счетчика цикла i будем переключать контакты rgb светодиода и сбрасывать счетчик, когда он будет равен 3.

Не забудем сбросить переменную для формирования строки перед следующим вводом данных.

void loop() < if (BT.available())< // На порту bluetooth есть что считать delay(50); // Задержка между считыванием символов c = BT.read(); // Считываем код символа в переменную типа int if (isDigit(c)) < // Если считана цифра str += (char)c; // символ присоединяем к строке >if (c == '\n') < // Если обнаружен символ конца строки if( i == 3 )// Сбрасываем счетчик на 0 light = constrain(str.toInt(), 0, 255 );// Ограничиваем значени Serial.println(light); // Выводим строку в монитор порта analogWrite(rgb[i], light); // Записываем на контакт светодиода i++; // Переходим к следующему цвету str = ""; // Очищаем строку > > >

Полный текст программы

#include SoftwareSerial BT(8, 9); // Контакты подключения bluetooth модуля. 8 для TXD, 9 для RXD char c = ""; // Переменная для считывания символа из последовательного порта String str = ""; // Переменная для формирования целой строки int rgb[] = ; // Массив контактов rgb светодиода int light = 0; // Переменная для отправки на контакты светодиода int i = 0; // Счетчик цикла для переключения цветов светодиода void setup() < BT.begin(9600); // Инициализация bluetooth последовательного порта Serial.begin(9600); // Инициализация arduino последовательного порта Serial.println("Test for Arduino"); BT.println("Test for Phone"); pinMode(rgb[0], OUTPUT); pinMode(rgb[1], OUTPUT); pinMode(rgb[2], OUTPUT); >void loop() < if (BT.available())< // На последовательном порту bluetooth есть что считать delay(50); // Задержка между считыванием символов c = BT.read(); // Считываем код символа в переменную типа int if (isDigit(c)) < // Если считана цифра str += (char)c; // Конвертируем байт в символ и присоединяем к строке >if (c == '\n') < // Если обнаружен символ конца строки if( i == 3 )// Если счетчик массива больше чем размер массива сбрасываем его на 0 light = constrain(str.toInt(), 0, 255 );// Ограничиваем значение для вывода на контакт Serial.println(light); // Выводим строку в монитор порта как цифру analogWrite(rgb[i], light); // Записываем значение на контакт светодиода i++; // Переходим к следующему цвету str = ""; // Очищаем строку перед следующим вводом > > >

Serial Bluetooth Terminal

Теперь нам понадобиться клиент для Android, который сможет подключиться к последовательному порту через bluetooth. Найдем такое приложение в Play Market.

Читайте также:  Bluetooth headphones ear hooks

Найдем наш модуль в меню devices. И попробуем к нему подключиться.

Наше устройство на экране поиска в Serial Bluetooth Terminal

Попробуем подключиться, и если все правильно, то увидим сообщение Connected.

Подключились к нашему модулю

И наконец, отправим на наш модуль команды. На которые должна среагировать программа в Ардуино и изменить цвет rgb светодиода.

Задаем белый цвет rgb светодиода через приложение

Каждая введенная цифра отвечает за свой цвет на rgb светодиоде. Как вы помните, цвета переключаются в цикле. Если на два цвета отправить 0, а на последний 250, то гореть должен только один цвет.

Заключение

Мы научились использовать Bluetooth модуль HM-10. И подключили его к Ардуино. Это дает возможности управлять схемой на Ардуино с помощью программы в телефоне или компьютере без подключенных проводов. Естественно, возможности использовать bluetooth почти не ограничены. Постараемся использовать его чаще в наших проектах.

Источник

СХЕМА УСТРОЙСТВА BLUETOOTH

Словом Bluetooth – называют технологию передачи данных по радиоканалу на небольшом расстоянии в несколько метров, для связи мобильных телефонов, компьютеров и других цифровых устройств. Интерфейс Bluetooth отличается низким уровнем энергопотребления и невысокой стоимостью. В настоящее время используется чаще всего для связи между сотовыми телефонами и беспроводными гарнитурами. Радиоинтерфейс Bluetooth предназначался для передачи данных и речевых сообщений.

разобранная гарнитура Bluetooth

В традиционном варианте гарнитуры модуль Bluetooth имеет микросхему, небольшой литий-ионный аккумулятор 3,7В 50 мА, микрофон, динамик и кнопку включения.

микросхема и плата Bluetooth

Низкая стоимость аппаратной части, хорошая степень защиты и простота в использовании — сделали весьма популярным этот стандарт. Bluetooth использует частоты в районе 2,4-2,48 ГГц и не требует лицензирования. На настоящее время мировое промышленное сообщество приняло эту технологию как общий стандарт.

открытая гарнитура Bluetooth

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

Читайте также:  Samsung та 310 bluetooth

структурная схема передачи данных блютус

Bluetooth-модуль содержит формирующую, приёмо-передающую часть аппаратуры и встроенное программное обеспечение. Связь между модулем и хост-контроллером производится с помощью высокоскоростного USB-интерфейса или UART/PCM-интерфейса. Интерфейс хост-контроллера в модуле Bluetooth является командным интерфейсом. Хост через ИХК направляет команды, а в ответ принимает от модуля сообщения об их выполнении; менеджер связи устанавливает необходимую конфигурацию хост-контроллера.

Bluetooth-модуль гарнитуры мобильного телефона

Вluetooth имеет два варианта связи: синхронную и асинхронную. Первый вид рассчитан на установление симметричного соединения и служит для передачи голоса. Скорость передачи информации при этом 64 Кит/с. Асинхронный вариант предназначен для пакетной передачи данных, скорость передачи cоставляет 720 Кбит/с. В начале блока находится код доступа, за ним идёт заголовок пакета, содержащий контрольную сумму пакета и информацию о его параметрах, и в конце область, непосредственно содержащая пересылаемую информацию.

Схема одного из радиомодулей Bluetooth приведена ниже:

Схема радиомодуля Bluetooth

Спектр частот, выделенный для Bluetooth, имеет диапазон 2,402…2,480 ГГц, который разбит на несколько каналов. Полоса каждого канала 1 МГц. Смена каналов производится по псевдослучайному закону. Постоянное чередование частот позволяет радиоинтерфейсу транслировать информацию по всему диапазону и исключать воздействия помех со стороны других устройств. Если данный канал занят, система перейдёт на другой, свободный от помех.

Источник

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