Arduino и bluetooth jdy-31

Step 1: The Parts List

HARDWARE
— Arduino Uno (R2) or clone.
— Bluetooth serial transceiver connected to Arduino. I got one from Ebay with the BlueCore4 chipset. Search Ebay for Wireless Bluetooth Transceiver Module RS232 / TTL.
— Bluetooth USB dongle to be connected to PC. I used an old MSI pc2pc Bluetooth as well as a Bollionton Bluetooth USB dongles and both worked fine. 
— The 1.2K Ohms & 2.2K Ohms resistors will be used as voltage dividers to drop the Arduino’s 5V to about 3.3V. You can substitute these with 10K Ohms & 20K Ohms resistors. If you know how to calculate voltage dividers, feel free to use other values for your resistors. 
— Breadboard and jumper wires.
— Power source. I used a 9V battery.
— Any PC that supports Arduino IDE will be needed to program the Arduino microcontroller. 
— Most PCs and  smartphone w/Bluetooth and a terminal emulator can be used to control the Arduino. SOFTWARE
— Windows 7 64-bit. But this should work on other platforms supported by the Arduino IDE.
—  Arduino IDE 1.0
—  Tera Term Pro  terminal emulator but other similar emulators should work.
— Tera Term by the original author of the software

Как подключить блютуз модуль к Ардуино

Для этого занятия нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • Bluetooth модуль HC-05/06;
  • светодиоды и резисторы;
  • сервомотор;
  • провода «папа-папа» и «папа-мама».

Обратите внимание, что при подключении любого модуля к портам TX и RX на Arduino, скетч загрузить в плату не получится — у вас будет выходить ошибка, что Arduino Nano не доступна. Перед загрузкой скетча — отключайте Bluetooth модуль

Во-вторых, вам потребуется установить приложение на смартфон для отправки данных на блютуз модуль hc-05/06, скачайте приложение здесь и загрузите на телефон с компьютера.


Схема подключения блютуз модуля к Ардуино

Для начала мы будем дистанционно включать и выключать светодиод, подключенный параллельно к 13 порту на Ардуино и, расположенный на самой плате. После установки приложения на смартфон или планшет и загрузки скетча (скачать архив со скетчем можно далее), подключите блютуз модуль к Ардуино, как изображено на схеме выше. До сопряжения устройств, светодиод на модуле HC-05 начнет быстро мигать.

Скетч для Bluetooth модуля Arduino

int val; // освобождаем память в контроллере для переменой

void setup() {
  Serial.begin(9600);  // подключаем последовательный порт
  pinMode(13, OUTPUT); // объявляем пин 13 как выход
}

void loop() {
  if (Serial.available()) // проверяем, поступают ли какие-то команды
  {

    val = Serial.read(); // переменная val равна полученной команде

    if (val == '1') {digitalWrite(13, HIGH);} // при 1 включаем светодиод
    if (val == '0') {digitalWrite(13, LOW);}  // при 0 выключаем светодиод

  }
}

Соединение с телефоном Bluetooth модуля

Для сопряжения смартфона с Bluetooth модулем HC-06 и HC-05 перейдите в настройки телефона и включите блютуз. У вас активируется поиск устройств, кроме названия HC-05 или HC-06, вы увидите адрес устройства. Для подключения потребуется ввести пароль, обычно, это «1234» или «0000». Пароль потребуется ввести только один раз, при последующих подключениях сопряжение будет происходить автоматически.


Соединение между смартфоном и блютуз модулем HC-05

Далее откройте приложение, которое вы установили на смартфон или планшет и нажмите на кнопку «Подключить Блютуз». У вас появится список устройств с адресами — выберите нужное устройство. Если сопряжение прошло успешно, то светодиод на модуле начнет мигать реже — примерно 1 раз в две секунды. Теперь вы можете дистанционно включать/выключать светодиод на Ардуино, используя блютуз модуль.


Приложение для управление Ардуино через блютуз модуль

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

Скетч для управления блютуз модулем

#include <Servo.h> // подключаем библиотеку для работы с сервоприводом
Servo servo1;      // объявляем переменную servo типа "servo1"

int val; // освобождаем память в контроллере для переменой

void setup() {
  servo1.attach(11);   // привязываем сервопривод к аналоговому выходу 11
  Serial.begin(9600);  // подключаем последовательный порт
  pinMode(13, OUTPUT); // объявляем пин 13 как выход
}

void loop() {
  if (Serial.available()) // проверяем, поступают ли какие-то команды
  {

    val = Serial.read(); // переменная val равна полученной команде

    if (val == '1') {digitalWrite(13, HIGH);} // при 1 включаем светодиод
    if (val == '0') {digitalWrite(13, LOW);}  // при 0 выключаем светодиод

    if (val == '4') {servo1.write(0);}   // ставим угол поворота 0
    if (val == '5') {servo1.write(90);}  // ставим угол поворота 90
    if (val == '6') {servo1.write(180);} // ставим угол поворота 180

  }
}

Пояснения к коду:

  1. кроме цифр можно отправлять команды в виде букв латинского алфавита, при этом важен регистр — заглавная или строчная буква будет получена;
  2. перед загрузкой скетча — отключайте Bluetooth модуль от портов TX и RX;
  3. приложение подходит только для ОС Android. Вы можете сделать собственное приложение, воспользовавшись нашими уроками в разделе Программирование.

История версий операционной системы Android

История операционной системы Android началась в 2003 году, когда американский программист и инженер Энди Рубин вместе с несколькими партнерами основал компанию Android Inc, которая взялась за разработку новой операционной системы для мобильных устройств. Уже через 2 года компанию Энди Рубина приобрела Google и с этого момента развитие Android значительно ускорилось.

Интересным фактом является то, что первые версии Android были ориентированы на мобильные устройства с аппаратными кнопками, поскольку тогда считалось, что сенсорный экран не может полностью заменить управление физическими кнопками. Но, после того как в 2007 году появился первый iPhone, концепция Android была переработана и он полностью переориентировался на работу с сенсорным экраном.

Первым коммерческим продуктом на базе операционной системы Android стал смартфон HTC Dream, который был представлен мобильным оператором T-Mobile под названием T-Mobile G1. Смартфон HTC Dream имел конструкцию слайдера, при открытии которого пользователь получал полноценную аппаратную клавиатуру для набора текста. Также у данной модели были аппаратные кнопки под экраном. HTC Dream работал на базе версии Android 1.0, но в дальнейшем получил обновления до версии 1.6.

Всего с 2008 по 2018 год вышло 9 крупных версий операционной системы Android. Начиная с Android 1.1 каждая версия получала кодовое название в виде сладкого десерта, а начиная с Android 1.5 эти десерты идут в алфавитном порядке (C — Cupcake, D — Donut, E — Eclair и т.д.). Данные кодовые названия хорошо прижились и очень часто используются без указания номера. Например, если вы слышите Android Gingerbread, то это означает что речь идет о Android 2.3.

Кодовое название Версия Android Ядро Linux Дата выхода API
1.0 ? Сентябрь 2008 1
Petit Four 1.1 2.6 Февраль 2009 2
Cupcake 1.5 2.6.27 Март 2009 3
Donut 1.6 2.6.29 Сентябрь 2009 4
Eclair 2.0 – 2.1 2.6.29 Октябрь 2009 5 – 7
Froyo 2.2 – 2.2.3 2.6.32 Май 2010 8
Gingerbread 2.3 – 2.3.7 2.6.35 Декабрь 2010 9 – 10
Honeycomb 3.0 – 3.2.6 2.6.36 Февраль 2011 11 – 13
Ice Cream Sandwich 4.0 – 4.0.4 3.0.1 Октябрь 2011 14 – 15
Jelly Bean 4.1 – 4.3.1 3.0.31 — 3.4.39 Июль 2012 16 – 18
KitKat 4.4 – 4.4.4 3.10 Октябрь 2013 19 – 20
Lollipop 5.0 – 5.1.1 3.16 Ноябрь 2014 21 – 22
Marshmallow 6.0 – 6.0.1 3.18 Октябрь 2015 23
Nougat 7.0 – 7.1.2 4.4 Август 2016 24 – 25
Oreo 8.0 – 8.1 4.10 Август 2017 26 – 27
Pie 9.0 4.4.107, 4.9.84, 4.14.42 Август 2018 28
Android Q 10.0 ? 2019 29

На данный момент, последней версией Android является Android 10. Эта версия пока не была представлена официально, ее релиз ожидается в 2019 году. Пока точно неизвестно какое кодовое название получит Android 10, но это будет какой-то сладкий десерт на букву «Q».

Если вы хотите узнать версию Андроид на своем телефоне, то это можно сделать через настройки. Для этого откройте приложение «Настройки» и найдите раздел с информацией об устройстве (обычно данный раздел называется «О телефоне»). В данном разделе вы сможете узнать версию Андроид, а также получить другую информацию о вашем устройстве. Более подробно о том, как найти нужный раздел, мы раскажем чуть ниже.

3Скетч для Arduinoдля работы по bluetooth

Напишем такой скетч и загрузим в память Arduino:

const int ledPin = 13; // вывод встроенного светодиода
char incomingbyte; // переменная для данных Bluetooth

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  if (Serial.available() > 0) { // если порт доступен
    incomingbyte = Serial.read(); // считываем с порта данные
      switch(incomingbyte) {
      case '1': // если приходит "1"
          digitalWrite(ledPin, HIGH); //
          break;
      case '0': // если приходит "0"
          digitalWrite(ledPin, LOW); // 
          break;
      }
  }
}

Включаем собранную схему с Arduino и подключённым к нему bluetooth-модулем. Правильно подключённый модуль сразу входит в режим ожидания подключения, о чём будет свидетельствовать ритмично мигающий светодиод статуса.

Немного теории

Здесь я приведу несколько основных терминов, которые необходимы нам для воплощения задачи (о ней мы поговорим немного позже) в жизнь.

Bluetooth

Стандарт беспроводной радиосвязи, связывающий на коротком расстоянии различные типы устройств. Для управления железками через Web Bluetooth API нам потребуется Bluetooth v4.0.

Сервисы

Внутри bluetooth-устройства есть сервисы. Сам по себе сервис — это коллекция характеристик и связей с другими сервисами. У каждого сервиса есть свои UID и имя. Зачастую будут попадаться “Unknown services”. Это связано с тем, что количество устройств и вариантов их использования велико.

Характеристики

Внутри каждого сервиса есть характеристики, в которые можно писать, считывать их, а также подписаться на них. Характеристика также имеет свой UID.

Схема сборки машинки на Ардуино

Если у вас есть все необходимые детали (в проекте можно обойтись без светодиодов и резисторов), то далее мы рассмотрим, как сделать машинку из ардуино своими руками. Для начала следует припаять к контактам моторчиков провода и зафиксировать их изолентой, чтобы контакты не оторвались. Провода необходимо соединить с клеммниками M1 и M2 на Motor Shield (полярность потом можно будет поменять).


Схема сборки машинки с Блютуз управлением

Питание на Bluetooth модуль идет от контактов для сервопривода, в проекте серво нам не понадобятся. А на питание идет стабилизированное напряжение 5 Вольт, что нам подходит. К портам TX и RX удобнее будет припаять коннекторы «мама», а к портам «Pin0» и «Pin1» на Motor Shield припаять штырьки (BLS). Таким образом, вы сможете легко отключать Bluetooth модуль от Arduino при необходимости загрузки скетча.

Управление светодиодами идет от порта «Pin2», здесь провод можно припаять напрямую к порту. Если вы делаете несколько машинок с Блютуз, которыми будете управлять одновременно, то рекомендуем сделать перепрошивку модуля HC-05. Делается прошивка модуля очень просто, а затем вы уже не будете путать машинки, так как у каждой будет отображаться свое уникальное имя на Андроиде.

Что делать, если не работает Блютуз в Windows 10, 8, 7

Первым делом обратите внимание на следующие важные моменты:

  1. Если настройки Bluetooth есть, он включен, идет поиск устройств, но не находит ни одно устройство, то смотрите решения в этой статье: ноутбук не видит Bluetooth устройства.
  2. Возможно, Bluetooth просто выключен, поэтому он не работает. Это больше относится к ноутбукам. Смотрите статью как включить Bluetooth на ноутбуке.
  3. Если у вас стационарный компьютер или ноутбук, и вы не знаете, есть ли в нем вообще Блютуз, то эта статья вам пригодится: как проверить, есть ли Bluetooth на ноутбуке или компьютере и как его найти.
  4. У многих после успешного подключения наушников или колонок возникаю проблемы со звуком. Если звука нет вообще: Bluetooth наушники не воспроизводят звук с ноутбука.
    И если звук есть, но плохого качества: плохой звук в Bluetooth наушниках на компьютере или ноутбуке.

Если же в Windows вообще нет никаких кнопкой и настроек связанных с Блютуз, то нужно посмотреть, есть ли Bluetooth адаптер в диспетчере устройств и работает ли он. Чтобы быстро открыть диспетчер устройств, нажмите сочетание клавиш Win + R и выполните команду devmgmt.msc.

Там должна быть вкладка «Bluetooth», или «Радиомодули Bluetooth». В этом разделе должен быть Bluetooth адаптер. В зависимости от модели и установленного драйвера имя может быть разным. В Windows 10:

В Windows 7:

Если такого раздела и соответственно адаптера в диспетчере устройств нет, то либо не установлен драйвер, либо в компьютере/ноутбуке физически нет Bluetooth модуля. Либо же он отключен, или сломан. Но если не установлен драйвер (при этом адаптер работает и система его видит), то в диспетчере устройств должны быть неизвестные устройства (наш адаптер).

Как установить драйвер?

Драйвер можно скачать с сайта производителя ноутбука, или адаптера (модуля). Windows 10, например, практически всегда автоматически устанавливает драйвер. Но бывает, что драйвер установлен, а Bluetooth не работает. В таком случае нужно скачать и установить драйвер с сайта производителя устройства.

Например, ноутбук Acer модель Aspire 5 A515-54G. Заходим на сайт Acer и ищем свою модель (обычно в разделе «Поддержка», «Загрузки»).

Выбираем систему.

На сайте может быть несколько драйверов на Блютуз адаптер. Для разных поставщиков беспроводного модуля. Откройте в диспетчере устройств вкладку сетевые адаптеры и посмотрите, какого производителя у вас там Wi-Fi (Wireless) адаптер. Для этого же производителя загрузите драйвер. Просто скачайте его и сохраните на компьютер. Если не можете определить производителя беспроводного модуля, то скачайте драйвер для разных производителей и попробуйте установить их по очереди.

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

Другие решения:

  • Если в диспетчере устройств есть Bluetooth модуль, но при этом наблюдаются какие-то неполадки в работе Bluetooth, то попробуйте просто удалить адаптер и перезагрузить компьютер.
  • Если адаптер отключен – включите его (Задействовать).
  • Установите все обновления операционной системы.
  • Если есть неизвестные устройства (Другие устройства), то можно попробовать найти драйвер по ИД оборудования (статья на примере Wi-Fi). Возможно, одно из этих устройств и есть Блютуз адаптер.
  • Если у вас проблемы с Bluetooth в Windows 7, то так же есть смысл скачать и установить с сайта производителя ноутбука утилиту, которая отвечает за работу функциональных клавиш. И включить беспроводную связь сочетанием клавиш на клавиатуре, или отдельным переключателем на корпусе ноутбука.
  • Посмотрите еще решения из другой похожей статьи: нет значка Bluetooth в трее, центре уведомлений Windows 10, в диспетчере устройств.

Сложно, конечно, дать конкретные решения по каждой возможной проблеме. Хотя бы по той причине, что у всех разные адаптеры, разные ноутбуки и ПК, на которых установлены разные версии Windows. К тому же, не для всех устройств, которые отвечают за работу Bluetooth, есть драйверы под определенные версии Windows. Например, на старых ноутбуках, на которые устанавливают Windows 10, Блютуз может не работать. Даже если в диспетчере устройств все хорошо. Или наоборот: когда на новый ноутбук устанавливают Windows 7.

35

Сергей

Bluetooth

Демонстрация работы

В следующий раз я планирую подключить к роботу ультразвуковой дальномер и реализовать алгоритм объезда препятствий.

Очень часто в ваших проектах возникает необходимость в дистанционном управлении или передачи данных с ваших телефонных гаджетов.

Один из самых популярных и распространенных методов обмена данными посредством Bluetooth.

Сегодня мы разберем простые примеры как можно подключить Bluetooth модуль к Arduino и настроить дистанционное управление с телефона.

Нам понадобится:

  • Набор проводов ПАПА-МАМА
  • HC-06 Bluetooth

Подключать Bluetooth модуль к микроконтроллеру Arduino удобнее всего с помощью проводков ПАПА-МАМА .

Arduino Bluetooth
Pin 1 (TX) RXD
Pin 0 (RX) TXD
GND GND
5V VCC

Будьте внимательны, подключать подключать нужно TX

-> RXD

,RX

-> TXD

.

Теперь необходимо записать пробный код программы:

Во время загрузки скетча необходимо что бы Bluetooth модуль был отключен от микроконтроллера arduino. В противном случае скетч не запишется, потому что связь с Bluetooth модулем происходит по одному и томуже порту RX и TX, что и USB.

Int val;
int LED = 13;
void setup()
{
Serial.begin(9600);
pinMode(LED, OUTPUT);
digitalWrite(LED, HIGH);
}
void loop()
{
if (Serial.available())
{
val = Serial.read();
// При символе «1» включаем светодиод
if (val == «1»)
{
digitalWrite(LED, HIGH);
}
// При символе «0» выключаем светодиод
if (val == «0»)
{
digitalWrite(LED, LOW);
}
}
}

После того как скетч записан и Bluetooth модуль подключен к Arduino, можно перейти к следующему шагу.

Подключение Bluetooth к телефону

Желательно в качестве источника питания для arduino использовать не USB, а внешний Блок питания на 9 В.

  1. Включаем Bluetooth на телефоне и ищем новые устройства
  2. Находим в списке расстройств «HC-06″

    и подключаемся к нему.
  3. Телефон спросит пин-код. необходимо ввести «1234

    » или «0000

    «
  4. Ура. Устройство подключено.

Теперь нужно скачать bluetooth terminal на ваш телефон. Мы рассмотрим на примере платформы Android.

Вы можете установить разные bluetooth терминалы, как правило они отличаются только разными дизайнами, функционал от этого не меняется. Так же можно найти и терминал и для продуктов ios.

После того как мы установили терминал, запускаем его выбираем наш bluetooth модуль HC-06 и подключаемся к нему.

Пришло время попробовать проект в деле. Пишем в терминале цифру «0» и отправляем. Светодиод L который находится на плате arduino рядом с pin 13, должен погаснуть. Теперь отправим через терминал цифру «1» и светодиод L должен зажечься.

Демонстрация работы:

Домашняя работа:

  • Изменить скетч так, что бы светодиод зажигался и потухал с помощью одной и той же команды например «G».
  • Дописать скетч и научить его преобразовывать текстовые данные приходящие через блютус в цифровые и реализовать димер, зажигать светодиод с помощью ШИМ, на заданную яркость от 0 до 254 приходящую через bluetooth.

Вам необходимо дистанционно управлять вашей Arduino платой, обмениваться данными с другими bluetooth устройствами? Блютуз модули HC-05, HC06 помогут справиться с этой задачей.

В первой части статьи мы расскажем о том, как установить беспроводное соединение между Arduino и компьютером, а во второй части как установить соединение между Arduino и телефоном на платформе Android. .

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

Компоненты для повторения (купить в Китае):

Модули HC-05/06 представляют из себя голые блютузы с дополнительной обвязкой.

А именно: установлены на подложку, на которой расположен стабилизатор с 5 на 3.3Вольта, светодиод, указывающий на состояние модуля (образовано соединение или нет), и конденсаторы на линиях питания. Также на плате установлен mosfet транзистор (Q1), который при надобности может разрывать цепь питания блютуза, тем самым отключая его, но в нашем обзоре это задействовано не будет.

С лицевой стороны модуль выглядит вот так

Способы включения

Пользователю нужно знать, что существует 2 принципиально различных уровня включения/выключения Bluetooth:

  1. Аппаратный, при котором модуль отключен полностью. В этом случае девайс не определяется в системе и средствами ОС или прикладных программ включено быть не может.
  2. Программный или функциональный, при котором устройство остается включенным на аппаратном уровне, но не работает на прием/передачу радиосигнала. Включить или выключить блютуз на этом уровне позволяет системный или прикладной софт.

С помощью горячих клавиш

Многие ноутбуки, например Dell, Sony Vaio, Asus позволяют включать блютуз прямо с клавиатуры ПК. Как правило, в сочетаниях задействована специальная кнопка расширения функций клавиатуры Fn. Другие горячие зависят от модели ноутбука.

От подхода производителя зависит и их действие. Так, большинство ПК Asus, на которых есть эта функция, используют аппаратное отключение. Другие производители выносят на горячие клавиши программное включение/отключение.

Через диспетчер устройств

Включение блютуз-модуля в Диспетчере устройств следует рассматривать в двух вариантах.

  1. Адаптер блютуз определен системой, его драйверы установлены и работают нормально. Способ доступен во всех версиях Виндовс и позволяет включить устройство программно. Для этого достаточно:
  • войти в Диспетчер устройств, например, из Панели управления или командной строки;
  • найти блютуз в списке оборудования;
  • вызвать контекстное меню (использовать правую кнопку мыши на строке адаптера);
  • выбрать пункт «Задействовать».
  1. Адаптер не работает – ярлык помечен восклицательным (на желтом фоне) или вопросительным знаком, отсутствует в списке установленного оборудования. Скорее всего, проблема с драйверами для модуля. Их нужно скачать с сайта производителя и обновить.

Функции операционной системы

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

Win XP, 7, 8, 10

Во всех версиях Windows это легко сделать через Центр управления сетями. Пользователь:

  1. Переходит в Центр из меню параметров системы (в Win 8, 10) или из панели сетевых подключений (в 7-ке или XP).
  2. Выбирает пункт «Изменение параметров адаптера».
  3. В списке установленных адаптеров выбирает Bluetooth-модуль и вызывает его контекстное меню правой кнопкой мыши.
  4. Выбирает пункт «Включить».

После включения может понадобиться настройка видимости и обнаружения блютуз-устройств.

Чтобы ее выполнить нужно:

В Win 8

В Windows 8 включение модуля производится проще и быстрее. Для этого достаточно:

  1. Открыть боковую панель ОС (например, нажать Win+C).
  2. В меню «Параметры» использовать пункт «Изменение параметров компьютера».
  3. Выбрать в списке устройств Bluetoth.
  4. Перевести переключатель в положение «ВКЛ.» (ON).

В Win 10

Проще всего включить или выключить блютуз на ноутбуке с Windows 10.

Для этого можно воспользоваться функциями Центра уведомлений:

  1. Кликнуть на иконку Центра в Панели задач.
  2. Нажать кнопку устройства блютуз.
  1. Вызвать меню Параметров (Пуск-Параметры или Win+I).
  2. В пункте «Устройства» выбрать «Bluetooth и другие…».
  3. Передвинуть ползунок переключателя в положение «Вкл.»(ON).

С помощью программы

Если в комплекте ПО для ноутбука есть специальное приложение для работы с Bluetooth, в его функции обязательно входит управление модулем.

Чтобы его включить или выключить необходимо:

  1. Установить приложение.
  2. Запустить его.
  3. Выбрать пункт главного меню, отвечающий за управление блютуз (например, «Настройки». «Опции», «Управление» или др.).
  4. Выбрать нужный пункт.

Аналогичные функции содержат все наборы утилит, позволяющие контролировать состояние ноутбука и управлять его аппаратными ресурсами.

Через BIOS

Аппаратное включение/выключение модуля можно выполнить в BIOS ноутбука. Пошаговая инструкция проста:

  1. Во время загрузки нажать на кнопку (-и), отвечающие за задание начальной конфигурации системы. Сочетание клавиш зависит от версии BIOS используемой производителем ПК.
  2. В меню выбрать пункт расширенной настройки аппаратного обеспечения.
  3. В списке аппаратных ресурсов выбрать Bluetooth-модуль.
  4. Включить или выключить его.
  5. Перед выходом согласиться с сохранением произведенных изменений.
  6. Дождаться загрузки ПК.

Классы и диапазоны Bluetooth

В сети можно найти информацию о трёх классах Bluetooth. Их основной задачей является определение максимальной дальности передачи и мощности беспроводного соединения.

  • 1 класс позволяет осуществлять беспроводное подключение мощностью 100 милливатт (мвт). Это означает максимальный охват до 100 метров (при отсутствии препятствий, таких как стены, между подключенными устройствами). Это класс с большой дальностью и мощностью. Такого рода модули Bluetooth используются в компьютерах и системах громкой связи в автомобилях.
  • Класс 2 имеет максимальную мощность передачи на уровне 10 милливатт (мвт). Ограничение мощности в 10 раз приводит к снижению максимального расстояния передачи данных до 50 метров (при отсутствии препятствий, таких как стены, между подключенными устройствами). Такого типа адаптеры используюстя в модулях Bluetooth на USB.
  • Класс 3 используется для передачи данных с минимальной силой, которую установили на 1 miliwat (мвт). Bluetooth Класса 3 позволяет передавать данные на расстояние 10 метров. Решение такого рода мы находим во всех мобильных устройствах.

Самые популярные версии Bluetooth

В настоящее время на рынке тяжело найти устройства с Bluetooth 1-2.1. Доступные на рынке устройства используют одну из следующих версий Bluetooth:

Bluetooth 3 – в случае Bluetooth 3.0, мы точно имеем дело с версией 3.0 HS Bluetooth. Аббревиатура HS расшифровывается как High Speed, что означает повышенную скорость передачи данных. Это решение позволяет отправить данные со скоростью 24 Мбит/сек. Новая версия Bluetooth 3.1 ТН увеличила эту скорость до 40 Мбит/сек.

Bluetooth 4 – первая версия Bluetooth 4.0 имела дополнение LE в названии. Этот ярлык означает Low Energy

При разработке этого стандарта создатели особое внимание уделили снижению потребления энергии и увеличению радиуса действия до 100 метров – всё это обошлось за счёт пропускной способности, которая упала до 1 Мб/сек. Передача в режиме экономии энергии ещё медленнее и имеет радиус действия до 10 метров.

Bluetooth 4.1 является модификацией Bluetooth 4.0 и создан для устройств IoT (Интернет Вещей)

Позволяет прямое подключение этих устройств к интернету с помощью Bluetooth.

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

Bluetooth 5.0 фокусируется на сочетании возможностей Bluetooth 4.2, а также Bluetooth 3.0. В режиме BLE пропускная способность увеличивается до 2 Мбит/сек. Благодаря этому решению можно быстрее обновить фитнес-браслет и смарт-часы без Wi-Fi.

Если производитель решит ограничить передачу скоростью 125 КБ/сек, то возможно увеличение дальности до 200 метров (на открытых пространствах). Они также могут повысить скорость за счет энергоэффективности или сделать медленнее, но повысить энергоэффективность передачи данных.

2Схема подключенияbluetooth-модуля к Arduino

Подключим bluetooth модуль к Arduino по приведённой схеме

Обратите внимание, что передатчик (Tx) Ардуино подключается к приёмнику (Rx) модуля, и наоборот

Схема подключения модуля bluetooth к Arduino

На выводе Status появляется высокий уровень, когда модуль сопряжён с другим bluetooth устройством, и низкий – когда не сопряжён. Можно считывать его значение, подключив к пину Arduino и назначив ему режим работы pinMode(pinStatus, INPUT) и таким образом узнавать состояние модуля. Но не на всех модулях индикатор статуса работает корректно, поэтому мы не будем его использовать в данном примере.

В результате должно получиться примерно как на фотографии.

Bluetooth модуль подключён к Arduino

SoftwareSerial

В качестве примера подключим модуль по второй схеме (на пины D2 и D3) и загрузим простую программу, которая будет пересылать данные с программного Serial (на пинах D2 и D3, Bluetooth) на аппаратный (который мы можем смотреть через монитор порта в Arduino IDE):

#include <SoftwareSerial.h>
SoftwareSerial mySerial(3, 2); // RX, TX

void setup() {
  Serial.begin(9600);
  mySerial.begin(9600);
}

void loop() {
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

Откроем терминал и монитор порта и можем общаться с компьютером, Arduino выступает в роли посредника и перекидывает данные с Bluetooth на USB и наоборот:

Точно так же можно использовать SoftwareSerial для программ и приложений, если аппаратный UART на Arduino нужен для других целей.