Подключение HM-11 BLE Module к Arduino Uno
- Войдите на сайт для отправки комментариев
Привет, неделю назад мне привезли кучу всяких штук и я пытаюсь разобраться как их можно подключить к плате и запрограммировать.
Если со всякими датчиками проблем нет, то с подключением BT - ряд проблем, если сможете помочь - будет супер!
Итак: Есть новенький модуль BT HM-11 BLE, который только появился и еще нет информации как его подключить.К нему есть описание распиновки, причем на сайте магазина она отличается от сайта производителя. Т.е. первые 4 пина на разных схемах отличаются - я припаял выходы ко всем 4м.
Первый вопрос - как определить - какая же схема верна и найти правильный пин для RX и TX? Есть еще оди нвопрос - как понять где на плате TOP View?
Вторая часть вопроса больше программная: Для того, чтобы читать и писать в BT - я переопределил стандартные пины 2 и 3 с помощью "софтверного сериного порта":
#include <SoftwareSerial.h> #define rxPin 2 #define txPin 3 SoftwareSerial mySerial(rxPin,txPin); mySerial.begin(9600);
Потом пытаюсь в него писать и читать что он вернет:
Serial.println("AT:"); mySerial.print("AT"); Serial.write(mySerial.read()); Serial.write("-");
: -AT: -AT: -AT: -A
Топ вью это вид сверху, rx and tx и там, и там указаны одинаково
Ну то, что TOP View - это вид сверху, это понятно, но как понять - какой вид является видом сверху?
Что касается выходов, ну как же:
На wiki магазина:
Pin 1 UART_TX
Pin 2 UART_RX
В документации - раздел 1.7:
Pin 2 UART_TX
Pin 4 UART_RX
Или я не правильно все понял?
Ну то, что TOP View - это вид сверху, это понятно, но как понять - какой вид является видом сверху?
Что касается выходов, ну как же:
На wiki магазина:
Pin 1 UART_TX
Pin 2 UART_RX
В документации - раздел 1.7:
Pin 2 UART_TX
Pin 4 UART_RX
Или я не правильно все понял?
У hm-11 пинов (контактов) меньше, чем у hm-10. В многих даташитах, которые нагуглились, написано что у hm-11 ТХ и RХ это 2 и 4 контакты, а у hm-10 - 1 и 2 --> вики seeedstuduo наверное врет. https://www.dropbox.com/s/cff0ftu7tc3qirq/Bluetooth40_en.pdf
Поэкспериментируйте, в конце концов:)
Дык в том-то и дело, что я даже понять не могу - работает этот модуль или нет!
С одной стороны он вроде как находится приложениями, но при всех моих попытках заципить его за Arduino - так и не заработал:
- пробовал пины 1 и 2, а так же 2 и 4.
- пробовал разные пины на Arduino делать с помощью SoftwareSerial
- пробовал подключать tx-tx, rx-rx(ну а вдруг) и конечно tx-rx, rx-tx
При всех ппытках с Arduino написать AT, никакого ответа нет.
Дык в том-то и дело, что я даже понять не могу - работает этот модуль или нет!
С одной стороны он вроде как находится приложениями, но при всех моих попытках заципить его за Arduino - так и не заработал:
- пробовал пины 1 и 2, а так же 2 и 4.
- пробовал разные пины на Arduino делать с помощью SoftwareSerial
- пробовал подключать tx-tx, rx-rx(ну а вдруг) и конечно tx-rx, rx-tx
При всех ппытках с Arduino написать AT, никакого ответа нет.
Соедините на ардуине rst и gnd, модуль цепляйте к 0 и 1 пинам ардуины (если у вас не леонардо, конечно).
Для проверки модуля я бы поступил так. Запитайте Ваш модуль напряжением, согласно документации. Замкните между собой выводы Rx и Tx на модуле. С помощью ноутбука или блютуз-донгла найдите (в эфире) Ваше устройство. Запустите какую либо терминальную программу (я предпочитаю пользоваться "Termite 2.9"). Отправляйте из программы символы - должен прийти ответ от HM-11 BLE. Если не приходит - перебирайте скорости в программе, подключайте/отключайте при передаче символы CR, LF (смотреть настройки в терминальной программе). О полученных результатах отписывайтесь. Ардуина на данном этапе - преждевременна.
Для проверки модуля я бы поступил так. Запитайте Ваш модуль напряжением, согласно документации. Замкните между собой выводы Rx и Tx на модуле. С помощью ноутбука или блютуз-донгла найдите (в эфире) Ваше устройство. Запустите какую либо терминальную программу (я предпочитаю пользоваться "Termite 2.9"). Отправляйте из программы символы - должен прийти ответ от HM-11 BLE. Если не приходит - перебирайте скорости в программе, подключайте/отключайте при передаче символы CR, LF (смотреть настройки в терминальной программе). О полученных результатах отписывайтесь. Ардуина на данном этапе - преждевременна.
Спасибо за идею! Попробовал, как только отключаешь от портов RX\TX на Arduino - сразу перестает находиться :(
Попробовал оставить подключенным к Arduino и замкнуть оба порта - перестает находиться.
Я вот не понял: а при каких условиях Вы её находите, если "...Попробовал, как только отключаешь от портов RX\TX на Arduino - сразу ПЕРЕСТАЁТ находиться :(.....". Плата Ардуины для такого эксперимента вообще не нужна, уберите её вообще со стола, что бы не мешала. Каким напряжением запитываете HM-11 BLE? Где его берёте?
Для питания HM-11 BLE мне нужно 3.3V на 9 Pin и землю на 12. Т.к. никакого другого источника питания кроме Arduino у меня нет, то я плату использую для питания HM-11 BLE.
А что получается, если делать как я советую (от Ардуины брать ТОЛЬКО питание)? Желательно ссылку на схему Вашей платы.
Если только питание и землю - плата по BT не находится.
Только что обнаружил, что на сайте магазина подправили документацию. С выходами разобрались.
Сыылка: http://www.seeedstudio.com/wiki/Bluetooth_V4.0_HM-11_BLE_Module
А что получается, если делать как я советую (от Ардуины брать ТОЛЬКО питание)? Желательно ссылку на схему Вашей платы.
Спасибо большое за помощь, разобрался! В общем распайка была не правильная - перепутал top view. Теперь плата ожила и можно дальше с ней разбираться :)
Спасибо большое за помощь, разобрался! В общем распайка была не правильная - перепутал top view. Теперь плата ожила и можно дальше с ней разбираться :)
Выложите, пожалуйста, итоговый скетч. У меня связка Arduino Pro Mini и HM-11, никак не могу понять как разбирать данные от HM-11, приходят непонятные символы постоянно.