Zs 040 bluetooth подключение ардуино

Обновлено: 05.07.2024

Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.

Crazy

Доброго времени суток, создал тему здесь, вроде уместно. Итак, пришел модуль НС-06 на плате ZS-040. Вы все специалисты и определяете работоспособность подобного своими путями и средствами. Я вообще далек от этих дебрей, загружаю скетч на ардуино нано для включения и отключения светодиода на ней через блютус НС-06 посредством установленного на телефоне блютус терминала. При подаче питания на блютус, его индикатор мигает быстро раз десять и тухнет, он не определяется и связи с ним понятно нет. Если подключить через некоторое время, снова с блютусом такая же история, помигает и тухнет. Каким-то образом его можно вернуть к нормальной работе? Ставлю заведомо рабочие модули, все нормально работают, индикатор мигает пока нет соединения и горит постоянно если соединение установлено. Внешних проблем с ним не замечено. Схема подключения простая - через USB на ардуино нано, с нее пять вольт и земля на блютус, передача-прием, прием-передача. Наверно удобнее будет конвертер USB заказать для его подключения к ноуту, хотя и через ардуино должно работать.

Crazy

Всем приветы! Плохо когда не родился с ардуиной Любителям сложновато разбираться, особенно с нештатными ситуациями. В общем продавец запросил видео, я ему закинул. Он прислал такую вот схему подключения. Вопросов она даже прибавила. Насколько я смог разобраться контакт EN выключает модуль подачей высокого уровня и не подключенный или подачей низкого уровня включается, то есть работает. Пин 27 модуля как понял при низком уровне работает, а высокий (5v) подается когда модуль типа засыпает. Вопрос - что дает эта схема конкретно? Мы принудильно заставляем его работать? Как я опять же понял питание подается на модуль отдельно и через делитель, а ардуино как же? Модуль подключается не к аппаратному вводу, выводу, а программному, надо ведь скетч какой-то прошивать. Парни, я понимаю что дураков учить - только портить но все же, прошу оказать посильную консультативную помощь. Стоит ли его подключать к монитору портов в Ардуино иде и смотреть его настройки? Или же это косяк самого модуля?


Bluetooth - популярная технология передачи данных, которую знают все, еще недавно мы передавали свои фотографии и видео ролики с телефона на телефон, но сейчас с приходом глобальной паутины и облачных технологий почти в каждый дом, необходимость в этом сошла на-нет. Популярность же bluetooth технологии тем не менее не закончилась, ее простота и надежность нашла себе новое применение. В данный момент ее используют сотни различных устройств, от беспроводных клавиатур до наушников, от колонок до весов, от пультов до дронов. Именно по этой причине найти современный телефон без поддержки технологии Bluetooth почти невозможно. Естественно данная технология не обошла себя и в области робототехники и конструирования, за небольшой промежуток времени друзья из Поднебесной выпустили несколько копеечных модулей для подключения их к различным микроконтроллерам, в том числе и к микроконтроллерам линейке Arduino. В данной же статье мы поговорим об одном из таких модулей, а именно о Bluetooth модуле ZS-040.

Описание

Bluetooth модуль ZS-040 состоит из двух печатных плат спаянных вместе:

  • Универсальный заводской bluetooth модуль на микросхеме CSR BC417.
  • Адаптер упрощающий подключение заводского модуля к различным микроконтроллерам.

Arduino UNO

Заводской модуль с микросхемой CSR BC417.

Arduino UNO

  1. Основная плата это стандартный заводской модуль который используется в тысячах разных устройств. Основой заводского модуля служит микросхема BC417 (BC417143B) [datasheet] компании CSR (Cambridge Silicon Radio). Модуль с завода прошит и имеет базовый функционал для работы с ним. Модуль поддерживает технологию Bluetooth версии 2.0 со скоростью передачи данных до 3 Мбит/сек.
  2. Вторая же плата это простой адаптер для более удобного подключения основного модуля к различным микроконтроллерам типа Arduino, Raspberry PI и так далее. Второй модуль содержит в себе стабилизатор напряжения на 3.3В, защиту от переполюсовки и в некоторых случаях кнопку. Именно этот адаптер и называется ZS-040. Как правило все в месте имеет название HC-05 или HC-06 в зависимости от конфигурации и режима работы.

Подключение

Подключается модуль к Arduino довольно просто (смотри таблицу или схему подключения снизу). Питание модуля осуществляется от 5В линии Arduino (Так как адаптер содержит стабилизатор напряжения на 3.3В подключать модуль от линии 3.3В - нельзя). Линия передачи (TXD) подключается напрямую к одному из портов Arduino, а вот линию приема (RXD) необходимо подключать через делитель напряжения, так как нам надо преобразовать 5В сигналы от Arduino в 3.3В для модуля. Выполняется это двумя резисторами в 1 и 2 кОм-а. На самом деле модуль стерпит и не выйдет из строя и от сигналов в 5В. Тем не менее это скажется на его сроке службы. По этому использовать делитель напряжения строго рекомендуется.

Arduino
ZS-040
GND
GND
5V
VCC
8
TXD
9 (Через делитель напряжения)
RXD


Пример

В данном примере мы передаем данные из монитора порта в bluetooth модуль и обратно.

Проверка связи

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

Теперь нам надо перейти в настройки телефона и найти там пункт для работы с Bluetooth устройствами. Включить Bluetooth если он был выключен и подождать пока ваш телефон найдет новое устройство. У меня Bluetooth модуль появился под названием HC-06. Выбираем его и вводим пароль. По умолчанию пароль 1234 или 0000. Если по какой либо причине пароли не подходят попробуйте другие простейшие пароли вроде 1111, 5555 и тд.

Теперь запускаем наше приложение Serial Bluetooth Terminal. Открываем выпадающий список и переходим в меню "Devices". В списке выбираем наш модуль HC-06 и возвращаемся на главное окно (Тап по выпадающему списку и далее по меню Terminal). В верхнем правом углу нажимаем на кнопку соединиться (Значок двух коннекторов). Все. передаем данные из приложения в монитор порта и обратно. Ниже я сделал несколько скриншотов для наглядности.


AT команды

Как я упомянул ранее наш bluetooth модуль имеет базовую прошивку, а это значит что его настройки можно менять. Для этого существуют AT команды, ввод которых изменяет наименование bluetooth модуля, пароль к нему и скорость передачи данных. К сожалению модуль отказывается принимать АТ команды через приложение на телефоне или из монитора порта в режиме передачи данных. Но есть небольшая хитрость. Для этого нам надо подключить bluetooth модуль напрямую к ПК. Для этого необходимо подключить контакты модуля RXD и TXD непосредственно к контактам Arduino (RX и TX), а саму Arduino отключить установив перемычку между портами RST и GND. При этом не важно какой скетч залит в Arduino ведь оно будет отключено нашей перемычкой.



Далее открываем Arduino IDE, запускаем монитор порта и отправляем AT команды в наш модуль. Если по какой либо причине ваш модуль не отвечает на команды, в выпадающих списках снизу необходимо выбрать "Нет конца строки" и скорость передачи данных 9600 бод.

Список АТ команд

Команда

Ответ
Комментарий
AT

OK
Проверка связи.
AT+VERSION

hc01.comV2.0
Версия прошивки bluetooth модуля.
AT+NAMEnewName

OKsetname
Задать новое имя bluetooth модулю (newName).
AT+PIN6789

OKsetPIN
Задать новый пароль (6789).
AT+BAUD1

OK1200
Установить скорость передачи данных 1200 бод.
AT+BAUD2

OK2400
Установить скорость передачи данных 2400 бод.
AT+BAUD3

OK4800
Установить скорость передачи данных 4800 бод.
AT+BAUD4

OK9600
Установить скорость передачи данных 9600 бод.
AT+BAUD5

OK19200
Установить скорость передачи данных 19200 бод.
AT+BAUD6

OK38400
Установить скорость передачи данных 38400 бод.
AT+BAUD7

OK57600
Установить скорость передачи данных 57600 бод.
AT+BAUD8

OK115200
Установить скорость передачи данных 115200 бод.
AT+BAUD9

OK230400
Установить скорость передачи данных 230400 бод.
AT+BAUDA

OK460800
Установить скорость передачи данных 460800 бод.
AT+BAUDB

OK921600
Установить скорость передачи данных 921600 бод.
AT+BAUDC

OK1382400
Установить скорость передачи данных 1382400 бод.

Заключение

Это первая вводная статья посвященная bluetooth модулям. Оставляйте свои комментарии и задавайте ваши вопросы. Ну а у меня на этом все, успех вам и удачи.

MLT-BT05 (HM-10) - CC2541

Модуль MLT-BT05 Bluetooth Low Energy (BLE) - вид снизу

Не смотря на проблемы, MLT-BT05 может обеспечить простую последовательную связь, модуль поддерживает стандартные AT-команды и удобен в проектах Arduino.

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

Модуль MLT-BT05 Bluetooth Low Energy (BLE) - вид сверху

  • Рабочая частота: 2.4ГГц ISM;
  • Модуляция: GFSK;
  • RF мощность: -23dbm, -6dbm, 0dbm, 6dbm;
  • Напряжение питания: от 3.6 до 6В;
  • Логика (RXD, TXD): 3.3В, НЕ ЯВЛЯЮТСЯ 5 ВОЛЬТ ТОЛЕРАНТНЫМИ;
  • Потребление в режиме передачи данных: 50мА;
  • Дальность действия: до 100м;
  • Рабочая температура: от -40 до +85 °C;

Распиновка адаптера ZS-040

Адаптер ZS-040 упрощающий подключение основного модуля к различным микроконтроллерам типа Arduino, Raspberry PI и так далее, содержит в себе стабилизатор напряжения на 3.3В, защиту от переполюсовки и в некоторых случаях кнопку.

Модуль MLT-BT05 Bluetooth Low Energy - Распиновка ZS-040

Схема MLT-BT05 и Распиновка CC2541

Модуль MLT-BT05 Bluetooth Low Energy (BLE) - клон HM-10 - Схема

AT команды

Синтаксис команды AT

MLT-BT05, как и HM-10 (и CC41-A), ожидает символы новой строки и перевода каретки (CR-NL) в конце команд. Однако есть тонкая разница. «MLT-BT05» ожидает, что символы CR и NL будут отправлены одновременно с командой без каких-либо задержек, в то время как HM-10 и CC41-A будет работать, даже если между командой и CR-NL будет небольшая задержка.

Модуль MLT-BT05 не нуждается в «?» в конце команд при запросе на текущее значение, в отличии от HM-10.

Примечание:

Список всех AT команд

Чтобы получить список всех AT команд нужно набрать команду AT+HELP.

* AT + VERSION Get firmware , bluetooth , HCI and LMP version

Подробное описание AT команд

Команда без параметров Команда с параметрами Параметры Описание
AT Проверяет, нормально ли работает командный терминал
AT+DEFAULT Восстановление заводских настроек
AT+BAUD AT+BAUD<Param> 8 – 115200
7 – 57600
6 – 38400
5 – 19200
4 – 9600
3 – 4800
2 – 2400
1 – 9600
0 – 9600
По умолчанию – 0
Получить/Установить скорость передачи данных
AT+RESET Перезагрузка программного обеспечения
AT+ROLE AT+ROLE<Param> 1 – ведущий
0 – ведомый
Получить/Установить текущую роль
AT+DISC Отсоединить
AT+ADVEN AT+ADVEN<Param> 1 – включить
0 – выключить
По умолчанию – 0
Широковещательный коммутатор
AT+ADVI AT+ADVI<Param> 6 – 8000 мс
5 – 4000 мс
4 – 2000 мс
3 – 1000 мс
2 – 750 мс
1 – 500 мс
0 – 100 мс
По умолчанию – 0
Интервал вещания
AT+NINTERVAL AT+NINTERVAL<Param> 5 – ? мс
4 – ? мс
3 – ? мс
2 – ? мс
1 – ? мс
0 – ? мс
По умолчанию – 0
Интервал подключения
AT+POWE AT+POWE<Param> 3 – -23 дБм
2 – -6 дБм
1 – 0 дБм
0 – 6 дБм
По умолчанию – 2
Получить/Установить мощность сигнала передатчика
AT+NAME AT+NAME<Param> Имя Получить/Установить имя локального устройства
AT+LADDR Получить локальный адрес Bluetooth
AT+VERSION Получить версию прошивки, Bluetooth, HCI и LMP
AT+TYPE AT+TYPE<Param> 3 – ?
2 – спаривание и привязка паролей
1 – спаривание паролей
0 – нет пароля
По умолчанию – 0
Настройки привязки и сопряжения
AT+PIN AT+PIN<Param> 6-байтовый пароль сопряжения
По умолчанию – «123456»
Получить/Установить пин-код для сопряжения
AT+UUID AT+UUID<Param> От: 0x0001
До: 0xFFFE
По умолчанию – 0xFFE0
Получить/Установить SERVER_UUID системы
AT+CHAR AT+CHAR<Param> От: 0x0001
До: 0xFFFE
По умолчанию – 0xFFE1
Получить/Установить CHAR_UUID системы
AT+INQ Поиск с устройств
AT+RSLV<Param> От: 1
До: 8
Прочитать MAC-адрес списка сканирования
AT+CONN AT+CONN<Param> От: 1
До: 8
Подключенные устройства списка сканирования
AT+CONA AT+CONA<Param> MAC-адрес Подключиться к указанному MAC-адресу
AT+BAND<Param> От: 1
До: 8
Связывание с устройства
AT+CLRBAND От: 1
До: 8
Отмена привязки
AT+GETDCN Количество устройств отсканированного списка
AT+GETSTAT Возвращает 0 – если нет подключённых устройств и 1 в противном случае
AT+SLEEP Режим сна
AT+HELP Список всех команд

Настройка связи между двумя MLT-BT05

Скорость передачи данных для последовательного порта по умолчанию составляет 9600 бит/с.


2)с версией 1.5 создает пару,опрашивает нормально имя,но при команде AT+Link та же проблема.

а при запросе статуса AT+state ? пишет постоянно INQUIRING

вроде бы простая вещь по подключению.но застрял и не знаю что с этим делать

En есть, подаю 3.3v чтобы включить режим команд AT

тут еще читал статью по подключению к elm,так там после настройки модуля есть такая строка

"Повторим выдачу АТ-команд в рабочем режиме (после сброса питания):

Видим: HC-05 команды "AT+…" (адресованные HC-05) возвращает, другие AT команды проходят на ELM, соответственно, видим ответы ELM327."

но я так и не смог добиться так ,чтобы выдавал ZS-040 команды эхом

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

En есть, подаю 3.3v чтобы включить режим команд AT

Странно, для этого есть пин Key. ZS-040 у меня нет, только HC05. Не думаю, что они настолько сильно отличаются. Для HC05: EN <- управление питанием. HIGH - включено, LOW - выключено. Key <- переключение режимов. HIGH - режим AT, LOW - режим DATA. State -> соединение с ELM. HIGH - есть, LOW - нет. AT, PAIR и LINK могут отрабатывать не с первого раза. В режим настроек HC05 вхожу только через снятия/подачу питания (En+Key). Некоторые экземпляры ELM327 нормально реагируют только после нажатия кнопки на морде.
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Пина Key нет,так же как и кнопки

подключил 3.3 к 34 контакту.результат тот же.

мигание рза в 2 секунды т.е тот же режим АТ

вот краткий лог

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Что-то у меня подозрение, что этот модуль сможет быть мастером. Внешне очень похож на HC06.
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии


как пришел ,так сразу подключил к телефону и в имени он стоял как нс-05

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Что-то у меня подозрение, что этот модуль сможет быть мастером. Внешне очень похож на HC06.
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

00:1D:A5:03:C2:D5 это кто?

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

это первый адаптер,который версии 1.5

который самый нижний нули и единицы это версия 2.0

коннект к ним разный.

на версии 1.5 Pair и Bind проходят нормально.

Только нет LINK,ошибка вданном месте и постоянно статус попытка подключения

на версии 2.0 сразу ошибка при BIND

тестирую их по отдельности

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Логи-то с какого приводили? Остановитесь на одном ELM, версии 1.5. Проверил. HC05 как ведомый - смартфон его находит, может подключиться. Удаляю это сопряжение в смартфоне. HC05 как мастер - смартфон его не находит. Т.е. Ваш "HC05" есть ведомый, раз его видно. Удалите из смартфона текущее сопряжение HC-05. Выполните вот такую инициализацию: Перегрузите по питанию. Попытайтесь найти его со смартфона и подключиться. Удалите из смартфона сопряжение HC-05. Затем вот такую инициализацию: Перегрузите по питанию. Попытайтесь найти его со смартфона и подключиться.
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Да,проверяю пока на одном,на версии 2.0

Версии 1.5 сейчас нет под рукой

скрин с мак адресами старый,еще при первом тестировании был использован.чтоб имелись под рукой все мак адреса.

в данный момент Hc-05 как мастер,смартфон его не находит.

Если включаю bluetooth смартфона виден только OBD2(но bluetooth выключаю,чтоб не было ошибок)

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

Если включаю bluetooth смартфона виден только OBD2(но bluetooth выключаю,чтоб не было ошибок)

После удаления сопряжения поиск делаете? Выключать/включать BT на смартфоне не надо, просто удалять.

виден смартфону,принимает комманды как слейв

Получается, что оно-таки умеет быть мастером. Попробуйте подключаться к ELM 1.5.
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

да.конечно,удаляю,потом нажимаю refresh и он ищет новые устройства.

да,притом и в режим ат команд входит,поэтому меня это и удивляет.

как смартфон легко подключается к elm,а hc-05 нет.

попробовал подключиться к телефону,все подключилось легко

еще попробовал функцию поиска AT + INQ

явно не видит этого устройства,при том,что смартфон его находит
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

да.конечно,удаляю,потом нажимаю refresh и он ищет новые устройства.

да,притом и в режим ат команд входит,поэтому меня это и удивляет.

Пишите сумбурно, приходится перечитывать по нескольку раз. Поясните, что удивляет? 2. Как мигает светодиод после подачи питания до AT-режима? 5. Откуда подаете команды на "HC05", чем смотрите ответы? А вообще то, что управляющий питанием пин переводит в AT-режим есть полный бред. Промойте плату. Если подать на En 3.3v на продолжительное время, то светодиод моргает, светит, потух?
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Удивляет,то,что HC05 к смартфону коннектится легко и быстро.
Так же как и смартфон к elm.
А вот hc05 к elm не хочет

1)компьютер-arduino uno-hc-05 т.е от порта usb
2) быстро (3-4 раза в секунду)
3) медленно (1-2 секунды горит,1-2 секунды нет)
4)с порта 3,3v arduino uno
5)с arduino ide
6)комп-arduino uno-hc05(rx(softserial 10),tx (softserial 11),vcc-5v,до переписки с вами en-3.3v,после подал сразу на pin34(но режим ат включался и так и так одинаково))
7)нет,фотографии из интернета,но платы идентичные,только у меня на нижней микросхеме золотой краской галочка поставлена
Ок,сделаю.
8)нет,ничего не трогал.
Вчера попробовал подпаять на место кнопки проводки и замыкать как в инструкциях.
Результат такой же как и раньше

Читайте также: