118

Борьба с bluetooth модулями HC-05 и HC-06 + Arduino

Много букв, постарался чуток с юмором. Записки начинающего ардуинщика.
Понадобилось мне для одной самоделки с arduino прикрутить bluetooth. Погуглив, выбор пал на модули bluetooth HC-06. Купил, успешно прикрутил, но захотелось мне сменить имя и пароль. В общем то в гугле валом инфы по этому поводу. Да не тут то было. На youtube и в блогах у людей все прекрасно, меняют имена и пароли, смотрят версию, меняют скорость, а на деле не работает!
Не воспринимает AT команды ни HC-05 и HC-06 через ардуину.
Сначала я купил HC-06, потом купил HC-05, перепробовал многое, описанное в статьях.
В итоге понял что мои китайские ардуинки не работают правильно, а именно RX и TX не передается.
Это можно понять замкнув их на ардуине и попробовать в мониторе порта отослать что угодно, при замкнутых  RX и TX отосланное вернется. А вот у меня не вернулось. (Должен быть залит пустой скетч в ардуинку)
В статьях и на форумах народ мучился вопросом почему через аруинку нельзя сменить пароль и название bluetooth модуля. Да и вообще AT команды не работают. Одни ставили крест на CH340G мол он плохой и надо что то другое итд.

Многие выходили из положения покупая отдельно модуль USB- UART на другой микросхе которую они хвалили, и у них все получалось, другие писали мост с сериал порта на цифровые выходы, пробовал, но не работало.
Может получилось бы и у меня с модулем, но я купил не тот модуль!) А это и к лучшему, потому что я раскопал почему не работает RX и TX в китайских Arduino.
В моем древнем компе есть физический COM порт, и я решил шить через него, и купил переходник с преобразователем уровней MAX3232, а не UART! 

Ну с arduino я недавно, и про UART я знал мало, да и сейчас еще не знаю всего)
Я еще тот динозавр который помнит AT команды диалаповских модемов.
Я не понимал, почему в терминале (отдельная программа) на мои AT - команды возвращается кириллица, в виде букв - "я"  "яя " итд
"яя дас ист фантастиш" подумал я, мне модуль стал отвечать! Я очень обрадовался что он жив! Да, но почему на "немецком" и в кириллице он отвечает?)) .. или [00] [01] итд. В общем ответы были, да не те, да потому что это не UART! это я понял позже.
Ехать еще раз на другой конец города за правильным модулем USB- UART я не хотел.
Начал гуглить глубже, почему не работает RX и TX в ардуине? и нашел!
Один разработчик в своей самоделке докопался почему нет ответа через ардуинку, оказалось китайцы мать их, запаяли резисторы большего номинала, по 1кОм.  Если заменить их на 220 Ом, все начинает прекрасно работать! Фото прилагаются. Это Arduino Uno (китайская копия)
Необходимо заменить резисторы R8 и R9 на 220 Ом.

А это мои запаянные резисторы на 220 Ом, правда не смд но у меня Uno в пластиковой коробке, и деформация с замыканием исключены.

Вот где эти резисторы на Arduino Nano многие на форумах как раз мучаются с этой версией ардуинки.
В итоге я прошил HC-05 и HC-06, правда AT команды для них немного различаются, но это все легко гуглится.

Надеюсь что эта информация поможет кому-то сэкономить время и нервы.

Всем удачи.

Arduino & Pi

1.5K поста20.8K подписчиков

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

0
Автор поста оценил этот комментарий
Запишу. HC-06 и HC-05 не брать, придется ибаццо.
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

хорошие модули!) это китайские ардуинки кривые

показать ответы
1
Автор поста оценил этот комментарий

В общем то с резисторами 220 Ом все прекрасно работает, и шьётся и RX и ТХ нормально проходит, я гуглил еще, и нашел в комментариях к одной из статей, что это какие-то кривые CH340. Толи партия такая, а резисторы во всех схемах по 1 кОм, т.е. номинал верный, на китайцев я зря ругался). Но в чём именно проблема, я не откопал, такие вот дела. Главное чтоб работало и не ломалось.

0
Автор поста оценил этот комментарий
Я скачал референсные схемы Uno и Nano с arduuno.cc. Везде значатся килоомные резисторы. Что я делаю не так?
Иллюстрация к комментарию
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

скачал и я несколько схем, действительно везде 1к
вот накопал еще одного мученика, но он не смог https://3dtoday.ru/blogs/eta4ever/a-sudden-rake-from-sky-eng...

0
Автор поста оценил этот комментарий
Я скачал референсные схемы Uno и Nano с arduuno.cc. Везде значатся килоомные резисторы. Что я делаю не так?
Иллюстрация к комментарию
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

очень странно,  но с 1к не работает Uno и Nano, на тех версиях что у меня и встречал на формах.
А что вы думаете по этому поводу?

показать ответы
0
Автор поста оценил этот комментарий

Подскажите пожалуйста: есть NAS c консольным интерфейсом, без проблем подключается через конвертор USB FT232RL к ПК. Так как NAS далеко от ПК, питаюсь заменить USB FT232RL на НС-05 чтобы подключатся по bluetooth. Но пока ни в какую, на ПК putty молчит как немой, с мобильного телефона выводит пару квадратных скобочек и часто рвется коннект. НС-05 рабчий проверял, подключив через USB FT232RL, в режиме АТ настроил имя и параметры передачи данных как на NAS: 115200,1,0.

В схеме телефон(bluetooth) <-> (bluetooth) HC-05-> USB FT232RL -> ПК режим передачи данных работает буквы передаются но потоком, а не командами по нажатию Enter. В гугле пишут только как подключить HC-05 к ардуинам, но ничего не пишут как подключить к другим девайсам. Мож кто наступал на подобные грабли ? В чем может быть проблема ?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

возможно скорость порта другая в НС-05, по умолчанию 9600
рекомендую перебором найти
вот это возможно вам поможет
https://wiki.iarduino.ru/page/at-komandy-bluetooth-hc-05

0
Автор поста оценил этот комментарий

а в обратную сторону?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

RX и TX в ардуине работал с модулем, принимал от него данные, но вот от компа через юсб - юарт данные не проходили, до замены резисторов.

0
Автор поста оценил этот комментарий
Я думаю, там дело в логических уровнях. Всё-таки HC-05 и 06 имеют уровень 3.3V и по-хорошему нужно ставить преобразователь уровня. Обычно ограничиваются делителем направления по линии RX блютусины. Но вообще это всё очень странно.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

делитель я ставил из двух резисторов, мне это не помогло.

показать ответы