Войти
Компьютерный журнал для новичков и профессионалов
  • Эксперт рассказал, как правильно заряжать аккумуляторы iPhone и iPad
  • Заводской сброс Philips S257 Телефон филипс сброс настроек стер контакты
  • От чего зависит качество фотоизображения От чего зависит качество изображений в фотоаппарате
  • Что делать, если ваш смартфон не заряжается
  • Как открыть текстовые файлы в телефоне
  • Как снять бан в Warface – способ
  • Управление arduino по bluetooth. Управление реле ардуино: скетч. Скетч для Arduino дабы он работал с модулем Bluetooth

    Управление arduino по bluetooth. Управление реле ардуино: скетч. Скетч для Arduino дабы он работал с модулем Bluetooth

    Bluetooth — это пожалуй самый распространенный тип связи для коротких дистанций, которым пользуются большинство современных электронных устройств. Телефонные гарнитуры, наушники, клавиатуры и мышки, принтеры и бог знает какие еще гаджеты. Некоторое время назад bluetooth был распространен как средство передачи файлов между телефонами. Главными достоинствами BT можно назвать хорошую устойчивость к широкополосным помехам и простоту реализации. Первое значит, что куча устройств, находящихся в одном месте, могут одновременно общаться между собой, не мешая друг другу. Второе же помогло широкому распространению Bluetooth в среде DIY, и вообще во всех средах. Лично я использую BT для управления роботами со смартфона. В Google play уже есть несколько приложений с удобным интерфейсом именно для этих целей. Участники нашего хакспейса MakeItLab с помощью Bluetooth управляют удаленно светом и собирают телеметрию с борта квадрокоптеров. Самыми доступными на сегодня Bluetooth модулями можно назвать HC-05 и HC-06. Они в изобилии присутствуют в Китайских онлайн-магазинах и на ebay. Отличия между ними в том, что первый может работать как в режиме ведущего (slave), так и в режиме ведомого (master). Второй же является чисто ведомым устройством (но это поправимо!). Другими словами, HC-06 не может сам обнаружить парное устройство и наладить с ним связь, он может лишь подчиниться ведущему. Оба устройства базируются на чипе CSR BC417 , который поддерживает Bluetooth версии 2.0 со скоростью до 3 Мбит/сек. Именно об этих модулях далее и пойдет речь.

    1. Варианты исполнения

    Обычно модули продаются в виде двух спаянных вместе плат. Меньшая из них — заводской модуль, широко используемый в разных электронных устройствах. Большая — специальная макетная платка для DIY. Так выглядит меньшая плата с чипом BC417:
    А так сами DIY модули HC-05 и HC-06:
    Для своих коварных целей я обычно беру HC-05, так как они не сильно отличаются по цене от HC-06, и позволяют без лишних проблем связать вместе два устройства. Например, можно сделать робота и пульт к нему. Из Китая мне обычно приходят модули, точь в точь как на левой картинке, но иногда без кнопки. Очень распространен и другой вариант макетной платки. В отличие от показанных выше, в них нет ноги EN, но есть нога KEY, что немного удобнее.
    Распиновка Итак, за что отвечают ноги у всех вариантов модулей.
    • EN — включение/выключение модуля;
    • VCC — питание +5В;
    • GND — земля;
    • TXD, RXD — UART интерфейс для общения с контроллером;
    • STATE — индикатор состояния;
    • KEY — нога для входа в режим AT-команд.
    Настройка модуля осуществляется в режиме AT-команд, который включается с помощью ноги KEY. Отсюда, у многих счастливых обладателей модуля может возникнуть вопрос: что делать, если мне попался модуль без KEY? На самом деле, на малой плате эта нога конечно есть, просто она не разведена на большой плате. Черт знает зачем китайцы так сделали, но проблема решается легко. KEY-нога растет отсюда:

    2. Подключение к Ардуино Уно

    Ног не так много, так что запутаться не получится. Подключаем к bluetooth к Arduino Uno по следующей схеме:
    Bluetooth GND VCC TXD RXD KEY
    Ардуино Уно GND +5V 10 11
    TX и RX подключаем к GPIO ногам 10 и 11, так как аппаратный UART на ногах 0 и 1 будет занят общением с компьютером. В рабочем режиме KEY никуда не подключается, так что в таблице я его не стал соединять с GPIO ногами Arduino.

    3. Сопряжение уровней напряжения

    Малая платка Bluetooth модуля имеет напряжение логики 3.3 Вольта. А это значит, что Ардуино Уно может либо сжечь у нее порты, либо просто неправильно передавать сигналы. К счастью, в большинстве случаев большая плата имеет на своем борту все необходимое, чтобы этого избежать. Указанные выше модули легко подключаются к Arduino, без лишних заморочек. Даже не смотря на то, что сами изготовители написали на платке предупреждение об уровне сигналов 3.3 Вольта. Однако, в некоторых ситуациях может потребоваться поставить на линию Ардуино TX — BT RX делитель напряжения для понижения логических уровней. На самом деле, даже если все работает и без делителя, лучше его все-таки поставить, для порядка. Схема делителя ниже:

    4. Подготовка Arduino

    Для того чтобы начать настройку, нам потребуется зашить в Ардуино вспомогательный скетч. По-сути — программу ретранслятор, которая будет осуществлять обмен данными между терминалом на компьютере и Bluetooth модулем. Программа крайне проста: #include #include int gLedPin = 13; int gRxPin = 10; int gTxPin = 11; SoftwareSerial BTSerial(gRxPin, gTxPin); void setup() { # 38400 - для метода №1, 9600 - для метода №2 BTSerial.begin(38400); Serial.begin(9600); delay(500); } void loop() { if (BTSerial.available()) { Serial.write(BTSerial.read()); } if (Serial.available()) { BTSerial.write(Serial.read()); } } Загружаем скетч на Ардуино и переходим к следующему шагу.

    5. Подготовка терминала

    В качестве терминала можно использовать встроенный в Arduino IDE монитор порта, а можно любой другой. Я использовал сторонний терминал TeraTerm. Перед соединением необходимо сделать две важные настройки:
    • скорость обмена: 9600;
    • символа перевода строки: CR+LF.
    Вот как настройки выглядят в TeraTerm:
    Когда все правильно настроено, подключаемся к COM-порту и проверяем соединение. Все дальнейшие манипуляции рационально поделить на две части: для ведомого модуля HC-06 и для ведущего HC-05.

    6. Настройка HC-06

    Проверка соединения

    После подачи питания на модуль, светодиод начнет бодро мигать:
    Теперь заходим в терминал и пишем команду: AT В ответ, модуль нам должен сказать: OK Следующая наша команда запросит у модуля его версию: AT+VERSION? Получаем что-то вроде такого: OKLinvor1.5 Получилось? Если нет, то проверяем:
    1. Скорость соединения с модулем, которая задается в программе-трансляторе: для связи с ведомым скорость должна быть 9600.
    2. Настройки символа перевода строки: не забываем про CR+LF!
    3. Нажимаем ли после каждой команды Enter? Мало ли…

    Полезные команды

    У ведомого Bluetooth модуля есть всего три параметра для настройки:
    • команда смены пароля на устройстве: AT+PIN<пароль>
    • смена скорости: AT+BAUD<скорость>
    • смена имени устройства: AT+NAME<имя>
    Например, для смены пароля пишем: AT+PIN4321 В общем-то готово! Теперь можно соединиться с модулем, например, со смартфона. Об этом речь пойдет во второй части моего повествования.

    7. Настройка HC-05

    Переход в режим AT-команд

    Чтобы получить доступ к настройка ведущего модуля, его необходимо перевести в режим AT-команд. Для входа в этот режим можно воспользоваться двумя методами (я всегда использую первый). Первый метод:
    1. Отключаем модуль от питания.
    2. Подаем на ногу KEY сигнал +3.3V.
    3. Включаем модуль.
    В это варианте скорость обмена с модулем устанавливается в 38400. Второй метод
    1. Включаем модуль.
    2. Подаем на ногу KEY сигнал +3.3V;
    В этом случае скорость обмена с модулем будет равна стандартной, установленной настройками. По-умолчанию 9600. После успешного перехода в режим AT-команд светодиод на модуле начнет мигать раз в две секунды.

    Проверка соединения HC

    Проверим командный режим HC-05 так же как и в случае ведомого модуля: >>: AT <<: OK >>: AT+VERSION? <<: +VERSION:2.0-20100601

    Настройка HC-05 как ведомого (slave)

    Для превращения модуля в ведомого потребуется выполнить несколько команд: Сброс предыдущих настроек: AT+ORGL Сброс спаренных устройств: AT+RMAAD Установка пароля: AT+PSWD=1234 Включение режима ведомого: AT+ROLE=0 Дополнительно можно узнать адрес устройства (понадобится для настройки спаренного модуля): AT+ADDR? В ответ получим сам адрес: ADDR=12:6:143117 После настройки, отключаем ногу KEY от +3.3В, и перезапускаем модуль. Готово!

    Настройка HC-05 как ведущего (master)

    С завода модуль идет ведомым, и чтобы сделать его ведущим потребуется выполнить следующие команды. Сброс предыдущих настроек: AT+ORGL Сброс спаренных устройств: AT+RMAAD Включение режима ведущего: AT+ROLE=1 Рестарт после смены роли: AT+RESET Если мы хотим связать ведомого и ведущего, пишем такие команды: Установка пароля ведомого: AT+PSWD=1234 Указываем парное устройство: AT+PAIR=<адрес>,<таймаут> (пример: AT+PAIR=12,6,143117, 5 ) Связываем с конкретным адресом: AT+BIND=<адрес> (пример: AT+BIND=12,6,143117 ) Запрещаем соединяться с другими адресами: AT+CMODE=0 Готово! Теперь модуль связан с ведомым, и при каждом включении будет пытаться с ним соединиться.

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

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

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

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

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

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

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

    Подключение к Arduino

    Bluetooth HC-05/06 Arduino
    VCC +5V
    GND GND
    TX RX
    RX TX

    При подаче питания на модуль встроенный светодиод начинает мигать.

    1) C компьютером (операционка WIN7)

    2) C телефоном (операционка ANDROID)

    В обоих случаях нам будет необходимо выполнить 2 действия : выполнить сопряжение модуля и устройства, управлять через какой-нибудь терминал.

    Часть 1. Соединение с компьютером (WIN7)

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

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

    . Действие 1

    Идем в панель управления, щелкаем на иконку блютуза и выбираем "Показать устройства Bluetooth"

    Через некоторое время компьютер произведет поиск и вы увидите ваш модуль (У вашего модуля может быть другое имя).

    Выбираем второй вариант - "Введите код образования пары устройства"

    Для HC-06 этот код 1234

    Завершается все такой картиной.

    А за ним еще одно

    Первый этап настройки завершен

    В случае, если вы забудете каким COM портом у вас определился блютуз, это всегда можно посмотреть выполнив следующие действия:

    Действия

    P.S. Или посмотреть в диспетчере устройств

    . Действие 2

    Для передачи данных можно использовать любой терминал. Я использовал простой и бесплатный "Termite ".

    В качестве примера мы будем изменять состояние встроенного на плату Arduino светодиода "LED 13". Включаться он будет при приеме символа "W", а отключаться при "S". Приведенный ниже скетч нужно залить в плату Arduino. При заливке в плату необходимо отсоединить питание от блютуз модуля , после заливки снова подсоединить.

    пример программного кода:

    int val; int LED = 13; void setup () { Serial .begin (9600); pinMode (LED, OUTPUT ); } void loop () { if (Serial .available ()) { val = Serial .read (); // При символе "W" включаем светодиод if (val == "W" ) { digitalWrite (LED, HIGH ); } // При символе "S" выключаем светодиод if (val == "S" ) { digitalWrite (LED, LOW ); } } } Открываем программу "Termite "

    В настройках выбираем наш порт, скорость (9600).

    Также модуль можно проверить и без Arduino просто замкнув выводы TX и RX. Termite отправляемые символы отмечает синим цветом, полученные зелеными. Т.е. если при закороченных выводах мы отправили и нам пришло тоже самое - значит что модуль работает исправно. На фото ниже это и продемонстрировано.

    Часть 2. Соединение с телефоном (Android)

    В качестве подопытного будет взят телефон Samsung Galaxy Ace 2 на операционке Android.

    . Действие 1

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

    . Действие 2

    В качестве терминала выберем опять-таки простой и бесплатный, но уже "Bluetooth Terminal "

    P.S. В случае если не удается подключиться, отключайте питание от блютуза и подключайте заново.

    В статье рассмотрим подключение и управление Arduino по bluetooth.

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

    В нашем проекте будем через bluetooth включать и выключать светодиод, подключенный к 13 порту.

    Начнем с написания приложения на android-смартфон. Приложение будет писаться в удобной и простой среде программирования App Inventor. Программы будут составляться онлайн.

    Пройдите по ссылке http://ai2.appinventor.mit.edu/ . Там вас попросят войти в Google-аккаунт, который вам придется завести, если его еще нет.

    После входа вы попадете в программу, где сможете создать проект нажав «start new project». Вам потребуется ввести имя проекта. Назовем его led_control.

    Откроется пустое окно приложения.

    Здесь будем располагать необходимые компоненты. Выберите ListPicker в окне слева и поместите его в проект.

    У компонента ListPicker в окне справа найдите свойство Text, и измените «Text for ListPicker1» на «Выберите BT-устройство».

    Откройте закладку Layout в окне слева, поместите в приложение компонент HorizontalArrangement, измените его свойство Width на «Fill parent». Добавьте в HorizontalArrangement 2 кнопки Button, у каждой из них установите свойство Width в «Fill parent». Должно получиться так:

    Изменим подписи на кнопках: на первой будет написано LED ON, на второй — LED OFF.

    Ниже добавим Label и очистим его Text.

    Осталось добавить компонент, организующий передачу данных по bluetooth. Откройте закладку Connectivity и поместите в проект BluetoothClient. Этот компонент окажется не на экране телефона, а под ним, т.к. он не является визуальным.

    Теперь можно приступать к написанию программы. В верхней правой части программы выберите режим Blocks.

    Здесь будет составляться программа из графических блоков. Слева кликните на компонент ListPicker1 и выберите ListPicker1.BeforePicking.

    Снова нажмите на ListPicker1 и выберите set ListPicker1.Elements to

    Поставьте его как на скриншоте.

    Этим мы получили список сопряженных bluetooth-устройств. Теперь подключимся к выбранному устройству. Напишите блок как на скриншоте ниже.

    Розовый блок с надписью Connected — это первый блок в закладке Text. Впишите Connected в пустое окошко.

    Теперь напишем обработчик кнопок. При нажатии на первую кнопку будет отсылаться текст «led_on», а при нажатии на вторую — «led_off». Так же будет изменяться и надпись в Label1.

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

    Для первого варианта вам понадобятся интернет и считыватель QR-кодов. Нажмите и дождитесь окончания сборки проекта и формирования QR-кода, после чего откройте считыватель QR-кодов на смартфоне и считайте код. Останется только загрузить и установить файл.

    Во втором варианте проект в формате.apk сохранится на ваш компьютер и вы сможете скинуть его на смартфон любым удобным способом (например по USB).

    Теперь займемся программой на Arduino.

    Прием-передача данных осуществляется через COM-порт, поэтому будем использовать Serial. Будем посимвольно принимать сигналы, формировать строку и дальше сравнивать сформированную строку с командами led_on и led_off.

    Arduino

    String val = ""; void setup() { Serial.begin(9600); pinMode(13, OUTPUT); } void loop() { while (Serial.available()) { //пока приходят данные char c = Serial.read(); //считываем их val += c; //и формируем строку delay(3); } if (val != "") { Serial.println(val); } if (val == "led_on") { digitalWrite(13, HIGH); } else if (val == "led_off") { digitalWrite(13, LOW); } val = ""; }

    String val = "" ;

    void setup () {

    Serial . begin (9600 ) ;

    pinMode (13 , OUTPUT ) ;

    void loop () {

    while (Serial . available () ) { //пока приходят данные

    char c = Serial . read () ; //считываем их

    val += c ; //и формируем строку

    delay (3 ) ;

    }

    Загрузите код в Arduino.

    Теперь можно подключить Bluetooth-модуль HC-06. Подключается он очень просто:

    Vcc 5v (можно 3,3 v)

    ЕСЛИ ПОПЫТАТЬСЯ ЗАГРУЗИТЬ ПРОГРАММУ В ARDUINO С ПОДКЛЮЧЕННЫМ МОДУЛЕМ, ТО ВЫЛЕЗЕТ ОШИБКА, Т.К. И МОДУЛЬ И ЗАГРУЗКА ПРОГРАММЫ ЗАДЕЙСТВУЮТ ПОРТЫ RX И TX!

    Подайте питание на Arduino. На bluetooth-модуле должен заморгать светодиод, это означает, что он ожидает подключения. Возьмите смартфон, найдите в настройках bluetooth, включите его и запустите поиск. Найдите устройство с именем hc-06 и подключитесь к нему. С первого раза может не получиться. После однократного успешного сопряжения можно запускать программу на смартфоне.

    Сначала нажмите на «Выберите BT-устройство» и выберите модуль среди сопряженных устройств. Далее нажимайте кнопки включения и выключения светодиода. Если все сделано правильно, то все будет работать.

    Мы сделали очень простое приложение с использованием Bluetooth, без дизайна и даже проверки, подключились мы к модулю или нет. В следующих уроках будем делать более сложные приложения и получше познакомимся с App Inventor.

    Для беспроводного обмена информации, между различными устройствами на небольших дистанциях, можно использовать Bluetooth-технологию. Для этих целей китайской промышленностью выпускаются различные Bluetooth-модули, среди которых широкую популярность получили модели HC-05 и HC-06. В своё время на Алиэкспресс я приобрёл HC-06, на котором и буду проводить дальнейшие эксперименты, а так же подключать к своему китайскому аналогу Arduino.

    Непосредственно сам Bluetooth-модуль. В таком виде он может использоваться в различных устройствах, где впаивается непосредственно в плату. Модуль имеет 34 вывода, среди которых: выводы для соединения с компьютером по UART, передачи звука по методу PCM (импульсно кодовая модуляция), аналоговый вход и выход, контакты для подключения к USB разъёму, SPI интерфейс, а также порты общего назначения. На самом деле не все эти выводы доступны к использованию, заблокирован доступ к выводам передачи звука (5-8), аналоговым входу и выходу (9, 10), а так же к группе контактов для подключения к USB (15, 20).

    HC-06 построен на чипе BC417 (BlueCore4-External device), спецификация Bluetooth V2.0. На борту так же имеется кварц на 26 МГц и флеш-память на 8 Мб. Питание осуществляется от 3,3В.

    Для своих конструкций удобнее всего использовать модуль с макетной платой, на которой выведены необходимые контакты для подключений, а так же имеется стабилизатор напряжения, который позволяет питаться от 5 вольт.
    При покупки подобных модулей, можете столкнуться с различными их маркировками. По сути это одно и то же устройство, отличающееся прошивкой, которая определяет режим модуля (master / slave).

    Отличие HC-05 от HC-06 состоит в том, что HC-05 можно использовать в качестве ведомого (master) или ведущего (slave). Данные режимы задаются с помощью АТ-команд. Кнопка на плате модуля переключает его в режим ввода АТ-команд. Режим master даёт возможность модулю самому обнаруживать подобное устройство и организовывать связь с ним. Модуль HC-06 может работать только в одном фиксированном режиме slave.

    Так же существуют модели HC-03 и HC-04, но они выпускаются для промышленных целей.

    Обозначение контактов на плате HC-06.

    STATE - проверка состояние модуля. На этом контакте дублируется сигнал, который отображает встроенный на плате светодиод. Если он очень быстро мигает, значит модуль находится в активном состоянии. В режиме установления связи ток составляет 30-40 мА. Когда модуль устанавливает связь с другим устройством, светодиод просто горит. В режиме передачи данных ток составляет 8 мА.
    RX - получение данных.
    TX - передача данных.
    GND - подключается к земле.
    +5V - питание +5 Вольт
    EN - включение / выключение модуля. Если на этот контакт подать логическую 1 (5 вольт), модуль выключится, если подать логический 0 или не подключаться к этому контакту, модуль будет работать.

    По-умолчанию HC-06 имеет имя для обнаружения другими устройствами «HC-06 », с пин-кодом «1234 ».

    Для изменения этих данных нужно модуль подключить к компьютеру и с помощью программы-терминала ввести АТ-команды. Это можно сделать с помощью переходника USB to COM с TTL уровнями. Для этих целей подойдёт адаптер на PL2303HX , CH340G , либо другой подобный. На компьютере к этому моменту уже должен быть установлен драйвер для USB адаптера.

    Контакты соединяем следующим образом:

    HC-06 Переходник USB to COM
    +5V +5V
    GND GND
    RX TX
    TX RX

    При подключении этой сборки к компьютеру, красный светодиод на плате Bluetooth-модуля начнёт быстро мигать. Для ввода АТ-команд можно воспользоваться любой терминальной программой, я использую для этой цели Arduino IDE.

    В настройках выбираем номер виртуального COM-порта, на котором подключен USB адаптер, в моём случае это COM44. Откроем окно «Монитора последовательного порта ».

    Введём заглавными буквами команду «AT », если устройство удачно подключилось, в ответ должно возвратится «ОК ». По-умолчанию скорость обмена данными 9600 бод.

    Для проверки версии прошивки, введём команду «AT+VERSION », в моём случае ответ возвратился «OKlinvorV1.8 ».

    Командой «AT+NAMEyyy », где ууу - произвольный набор символов на латинице, можем сменить имя, по которому будут находить наш модуль bluetooth-устройства (по-умолчанию HC-06). В своём примере я ввёл «AT+NAMEfox », ответ возвращается OKsetname .

    Командой «AT+PINxxxx », где xxxx – произвольный набор цифр, можно сменить пин-код (по-умолчанию 1234). В ответ возвращается «OKsetPIN ».

    Командой «AT+BAUDx », где x – значение от 1 до 9, можно изменить скорость в бодах (по-умолчанию 9600).

    1 - 1200
    2 - 2400
    3 - 4800
    4 - 9600
    5 - 19200
    6 - 38400
    7 - 57600
    8 - 115200
    9 - 230400

    Допустим, если ведём команду «AT+BAUD8 », где 8 - скорость 115200 бод, в ответ возвратится «OK115200 ».

    Подключение HC-06 к Arduino.

    Пример 1. Зальём в Arduino скетч, с помощью которого будем включать и выключать светодиод, распаянный на 13 пине Arduino, через Bluetooth-модуль.

    int data;
    int LED = 13;
    void setup()
    {
    Serial.begin(9600);
    pinMode(LED, OUTPUT);
    digitalWrite(LED, HIGH);
    }
    void loop()
    {
    if (Serial.available())
    {
    data = Serial.read();
    if (data == "1")
    {
    digitalWrite(LED, HIGH);
    }
    if (data == "0")
    {
    digitalWrite(LED, LOW);
    }
    }
    }

    Если у вас нет на плате данного светодиода, подключите его к 13 пину по схеме, номиналы резисторов можно взять от 220 Ом до 1кОм.

    Обесточим Arduino и подключим HC-06. Контакт TX модуля подключаем к контакту RX Ардуино (пин 0 на плате UNO), а контакт RX , к контакту TX (пин 1). Контакты +5V и GND , подключаются к соответствующим пинам Ардуино.

    Конструкция в сборе. Подав питание на Ардуино, светодиод на HC-06 должен быстро мигать.

    Управление Arduino через HC-06, с помощью компьютера.

    Пример буду показывать на Windows XP. К компьютеру должен быть подключен любой USB Bluetooth-адаптер и установленны на него драйвера.

    В моём случае использовался вот такой адаптер.

    При его подключении к ПК, в трее (возле часов) появляется соответствующая иконка.

    Нажимаем правой кнопкой мыши на данной иконке и в контекстном меню выбираем «Добавить устройство Bluetooth ».

    Ставим переключатель «Устройство установлено и готово к обнаружению » и нажимаем «Далее ».

    В списке обнаруженных устройств отобразится наш Bluetooth-модуль, с новым именем, которое я поменял ранее. Выбираем его и нажимаем «Далее ».

    В следующем окне вводим пин-код для подключения к модулю, выбрав пункт «Использовать ключ доступа из документации: ». По-умолчанию это «1234», но я его сменил на «9999». Нажимаем «Далее ».

    Bluetooth-модуль успешно связался с компьютером, о чём можно узнать с соответствующего окна. Следует обратить внимание, при образовании связи между двумя Bluetooth-устройствами, на компьютере создастся два новых виртуальных COM-порта (будут отображаться в диспетчере устройств), один для исходящих данных, другой для входящих. Нам понадобится порт для исходящих данных, в моём случае это COM45.

    Вновь открываем какую-нибудь программу-терминал, я воспользуюсь Arduino IDE. В настройках выбираем исходящий порт (у меня COM45), открываем «Монитор последовательного порта », вводим переменно команды «1 » и «0 ». При команде «1» светодиод загорается, при «0» гаснет.

    Управление Arduino через HC-06 с помощью смартфона.

    Наверное уже все современные смартфоны имеют в своём составе встроенный Bluetooth. Остаётся только установить программу терминал. В моём случае использовалась Lumia 640 DS , с установленной Windows mobile 10 . В качестве программы терминала использую «». На Android-смартфонах всё аналогично, в качестве программы можно использовать «Bluetooth Terminal ».

    Для обладателей смартфонов компании Apple не получится работать с Bluetooth-модулями HC-05 и HC-06 (Bluetooth V2.0), для них придётся использовать адаптеры с технологией BLE (Bluetooth low energy), спецификация Bluetooth 4.0. Ярким представителем является модуль HM-10.

    Сопрягаем HC-06 с блютузом смартфона.

    1. В «Параметрах » смартфона выбираем пункт «Устройства ».
    2. Далее «Bluetooth и другие устройства ».
    3. Включаем ползунком блютуз смартфона и нажимаем на «плюс в квадрате » для поиска и добавления нового Bluetooth-устройства, в нашем случае HC-06.

    4. В разделе «Добавить устройство » выбираем «».
    5. Смартфон произведёт поиск Bluetooth-устройств находящихся в округе и отобразит их имена. В моём примере найден модуль HC-06, который я переименовал в «fox ».

    6. Вводим пин-код устройства, к которому подключаемся, нажимаем кнопку «Подключиться ».

    Устанавливаем и запускаем терминальную программу «». Подключенный к смартфону модуль HC-06, отображается в списке, выбираем его.

    Появится поле для ввода команд и кнопка для отправки. Вводим попеременно «1 » и «0 » и наблюдаем за светодиодом на 13 пине, который будет зажигаться или гаснуть.

    Пример 2 . Подключим к Arduino три светодиода и попробуем управлять ими через Bluetooth-модуль HC-06.

    Светодиоды подключил к 9, 11 и 13 пину, если будите использовать другие пины, их нужно указать в скетче.

    int data;
    int LED1 = 9;
    int LED2 = 11;
    int LED3 = 13;
    void setup()
    {
    Serial.begin(9600);
    pinMode(LED1, OUTPUT);
    pinMode(LED2, OUTPUT);
    pinMode(LED3, OUTPUT);
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, HIGH);
    digitalWrite(LED3, HIGH);
    }
    void loop()
    {
    if (Serial.available())
    {
    data = Serial.read();
    if (data == "1")
    {
    digitalWrite(LED1, HIGH);
    }
    if (data == "2")
    {
    digitalWrite(LED1, LOW);
    }
    if (data == "3")
    {
    digitalWrite(LED2, HIGH);
    }
    if (data == "4")
    {
    digitalWrite(LED2, LOW);
    }
    if (data == "5")
    {
    digitalWrite(LED3, HIGH);
    }
    if (data == "6")
    {
    digitalWrite(LED3, LOW);
    }
    }
    }

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

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

    Пример 3 . Подключим к Arduino реле-модуль из статьи « » и попробуем управлять мощной нагрузкой через Bluetooth. По сути, у нас получится «умная розетка». К реле-модулям можно подключать различные нагрузки (лампочки, насосы, вентиляторы) и управлять ими на расстоянии.

    Скетч по этому примеру появится в ближайшее время.

    Эта статья будет иметь «итоговый» характер, то есть резюмировать столь невысокие, но мои достижения по работе с микроконтроллером Ардуино. Чтобы впоследствии, когда будет будет необходимо, можно было вернуться к этой платформе и реализовать не ней включение выключение каких-либо устройств.
    Как я вижу сложившееся, с помощью Bluetooth модуля можно осуществлять управление устройствами для умного дома или сделать даже обычное открывание –закрывание ворот во дворе или гараже. То есть подъехал, открыл. Уезжаешь – закрыл. В принципе у меня пока нет ни частного дома, ни ворот, но как управлять ими я уже знаю:)

    Итак, давайте теперь об этом я поведаю и вам.

    Принцип включения выключении нагрузки по Bluetooth с помощью Arduino

    Собственно принцип очень прост. Необходимо иметь какой либо девайс с возможностью установить управляющее ПО под системой Android. Скажем телефон или планшет. Далее берем Ардуино, а также блок Bluetooth, все это соединяем между собой и заливаем в Ардуино программку. Вот и все.

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

    Само собой в нашем случае первым делом будет физическое подключение, а затем и программное обеспечение. Так вот, начнем с подключения. Если у вас есть Ардуино UNO и модуль Bluetooth HC-06 или 05, то подключать надо будет следующим образом. При этом на схеме ни коим образом не отражено подключение для управляющих цепей. То есть приведено подключение непосредственно модуля Bluetooth HC-06 к Ардуинке.

    Само собой если у вас управляющими будут выходы 11 и 13, как в нашем случае, смотрите статью далее, то к ним и будет подключаться силовой блок или просто светодиод. Важным будет то, что при подключении модуля RX на одном устройстве идет к TX на другом и наоборот. Учтите это!

    Скетч для Arduino дабы он работал с модулем Bluetooth

    Теперь о скетче, то есть о ПО, которое заставляет работать нашу аппаратную платформу, выразимся так. Все очень просто. Смотрим.

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

    Собственно здесь идет назначение переменных, два светодиода на 11 и на 13 ножку в нашем случае. Потом с помощью Serial.begin(9600) мы подключаем наш блютуф. Ну и собственно осталось найти программку для управления блютуф.

    Программа для планшета или телефона (Android) для управления нагрузкой через Bluetooth

    Вы собственно сами можете найти любую из программ, которая поддерживает управление блютуф модулем с телефона, это уже на ваше усмотрение. Я для себя нашел и прибрал (скачать ArduinoRC) тоже установочную программку. Именно ее я и поставил на телефон.

    Собственно с помощью этой программки и можно будет задавать критерии-условия для скетча, а значит получать сигнал на выходных ножках 11 и 13. В нашем случае задействованы кнопки 0,1,2,3. Именно они включают и выключают светодиоды. Смотрите скетч.
    Первый раз при подключении устройства возможно затребует пароль, типа 000 или 1234.

    Траблы с заливкой программы в Arduino

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

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

    Теперь тоже самое в видео...