Zs 040 bluetooth подключение ардуино
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.
Crazy
Доброго времени суток, создал тему здесь, вроде уместно. Итак, пришел модуль НС-06 на плате ZS-040. Вы все специалисты и определяете работоспособность подобного своими путями и средствами. Я вообще далек от этих дебрей, загружаю скетч на ардуино нано для включения и отключения светодиода на ней через блютус НС-06 посредством установленного на телефоне блютус терминала. При подаче питания на блютус, его индикатор мигает быстро раз десять и тухнет, он не определяется и связи с ним понятно нет. Если подключить через некоторое время, снова с блютусом такая же история, помигает и тухнет. Каким-то образом его можно вернуть к нормальной работе? Ставлю заведомо рабочие модули, все нормально работают, индикатор мигает пока нет соединения и горит постоянно если соединение установлено. Внешних проблем с ним не замечено. Схема подключения простая - через USB на ардуино нано, с нее пять вольт и земля на блютус, передача-прием, прием-передача. Наверно удобнее будет конвертер USB заказать для его подключения к ноуту, хотя и через ардуино должно работать.
Crazy
Всем приветы! Плохо когда не родился с ардуиной Любителям сложновато разбираться, особенно с нештатными ситуациями. В общем продавец запросил видео, я ему закинул. Он прислал такую вот схему подключения. Вопросов она даже прибавила. Насколько я смог разобраться контакт EN выключает модуль подачей высокого уровня и не подключенный или подачей низкого уровня включается, то есть работает. Пин 27 модуля как понял при низком уровне работает, а высокий (5v) подается когда модуль типа засыпает. Вопрос - что дает эта схема конкретно? Мы принудильно заставляем его работать? Как я опять же понял питание подается на модуль отдельно и через делитель, а ардуино как же? Модуль подключается не к аппаратному вводу, выводу, а программному, надо ведь скетч какой-то прошивать. Парни, я понимаю что дураков учить - только портить но все же, прошу оказать посильную консультативную помощь. Стоит ли его подключать к монитору портов в Ардуино иде и смотреть его настройки? Или же это косяк самого модуля?
Bluetooth - популярная технология передачи данных, которую знают все, еще недавно мы передавали свои фотографии и видео ролики с телефона на телефон, но сейчас с приходом глобальной паутины и облачных технологий почти в каждый дом, необходимость в этом сошла на-нет. Популярность же bluetooth технологии тем не менее не закончилась, ее простота и надежность нашла себе новое применение. В данный момент ее используют сотни различных устройств, от беспроводных клавиатур до наушников, от колонок до весов, от пультов до дронов. Именно по этой причине найти современный телефон без поддержки технологии Bluetooth почти невозможно. Естественно данная технология не обошла себя и в области робототехники и конструирования, за небольшой промежуток времени друзья из Поднебесной выпустили несколько копеечных модулей для подключения их к различным микроконтроллерам, в том числе и к микроконтроллерам линейке Arduino. В данной же статье мы поговорим об одном из таких модулей, а именно о Bluetooth модуле ZS-040.
Описание
Bluetooth модуль ZS-040 состоит из двух печатных плат спаянных вместе:
- Универсальный заводской bluetooth модуль на микросхеме CSR BC417.
- Адаптер упрощающий подключение заводского модуля к различным микроконтроллерам.
Заводской модуль с микросхемой CSR BC417.
- Основная плата это стандартный заводской модуль который используется в тысячах разных устройств. Основой заводского модуля служит микросхема BC417 (BC417143B) [datasheet] компании CSR (Cambridge Silicon Radio). Модуль с завода прошит и имеет базовый функционал для работы с ним. Модуль поддерживает технологию Bluetooth версии 2.0 со скоростью передачи данных до 3 Мбит/сек.
- Вторая же плата это простой адаптер для более удобного подключения основного модуля к различным микроконтроллерам типа 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 может обеспечить простую последовательную связь, модуль поддерживает стандартные AT-команды и удобен в проектах Arduino.
Характеристики
- Рабочая частота: 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 и Распиновка CC2541
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 команд
Команда без параметров | Команда с параметрами | Параметры | Описание |
---|---|---|---|
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 секунды т.е тот же режим АТ
вот краткий лог
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
как пришел ,так сразу подключил к телефону и в имени он стоял как нс-05
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
00:1D:A5:03:C2:D5 это кто?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
это первый адаптер,который версии 1.5
который самый нижний нули и единицы это версия 2.0
коннект к ним разный.
на версии 1.5 Pair и Bind проходят нормально.
Только нет LINK,ошибка вданном месте и постоянно статус попытка подключения
на версии 2.0 сразу ошибка при BIND
тестирую их по отдельности
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Да,проверяю пока на одном,на версии 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)нет,ничего не трогал.
Вчера попробовал подпаять на место кнопки проводки и замыкать как в инструкциях.
Результат такой же как и раньше
Читайте также: