Hc 06 bluetooth модуль нет подключения
В этот раз для настройки Bluetooth модуля использую USB UART TTL конвертер на микросхеме CH340G.
Подключаю к нему Bluetooth модуль HC-06, как показано на фото которое ниже.
После чего можно подключать конвертер к USB компьютера, и выполнять настройку при помощи AT команд.
AT команды для Bluetooth модуля HC-06
AT- команда для проверки модуля. При удачном подключении модуль должен вернуть ответ OK
AT+NAMExxxxx – команда для установки имени модуля, где xxxxx это будущее имя.
AT+PINxxxx – команда для установки нового пароля, где xxxx это новый пароль. Он должен состоять из 4 цифр!
AT+VERSION – команда для выяснения версии прошивки Bluetooth модуля.
AT+BAUDx – команда для установка скорости передачи данных, где x это скорость из таблицы которая ниже.
Например для установки скорости передачи данных в 115200 бод, надо отправить АТ команду AT+BAUD8
Если у вас нет такого USB UART TTL конвертера, но есть в наличии плата Arduino, то вы можете настроить Bluetooth модуль HC-06 использовав ее.
Bluetooth модуль HC-06 можно подключить к Arduino как и Bluetooth модуль HC-05, и настраивать при помощи АТ команд, с той лишь разницей что надо использовать AT команды из этой статьи.
Информацию о том как подключать Bluetooth модуль к Arduino, для настройки при помощи АТ команд, можно посмотреть по этой ссылкеКак настроить модуль HC-05
Даная статья является дополнением к проекту «Автоматическое проветривание помещений на Arduino UNO MH-Z19B и DHT11. Контроль уровня CO2 и влажности.» ознакомиться с ним можете по этой ссылкеперейти к проекту
Настройка Android приложения для управления по Bluetooth
На фото ниже показаны значения, которые должны отправляться при изменении состояния кнопок, переключателей, а также при запросе данных.
Эти настройки надо указать для управления проектом на Arduino, как это делается смотрите видео по ссылке которая ниже.
Подробное видео “ Как настроить модуль HC-06 а также Android приложение для взаимодействия по Bluetooth”
Творческая мастерская Мастер Колотушкин 2023
Проекты на базе Arduino для начинающих, электронные самоделки своими руками.
Arduino.ru
подключаю как положено и не могу ни андроид смартфоном ни старыми мобильниками увидеть его. светодиод на модуле мигает раза 3 в секунду. делаю как написано в этой теме:
через пустой скетч и монитор меняю скорость, ответа на команду АТ нету. как проверить исправен ли модуль, и как его включить если он исправен?
Я сам не давно мучался с подобным модулем, правда HC-07. помогла мне вот эта статья http://entropiya-blog.ru/podklyuchenie-bluetooth-modulya-k-arduino.html
Подключиться, передать и принять информацию — все получилось. Если у Ваш модуль не заработает даже после действий, которые описаны в статье, то думаю проблема в самом модуле.
спаял программатор, что то не увидел комп этот модуль, где то нашел что в биосе надо ЕРР выставить выставил — не поменялось ниче.. видимо дохлый модуль
Коль зашел разговор. У меня другая проблема. Может кто подскажет. Модуль НС-06 +arduino UNO = работает только с аппаратным Serial с Software Serial ни в какую. перебирал уже все возможные пины. с телефона через блютуз терминал на аппаратных пинах 0,1 работает и на комп через USB пакеты сбрасывает. Обратно через USB на Serial пакеты не приходят даже на модуль, а не только на телефон. AT команды не проходят (ни с терминала, ни с телефона) — модуль на них не реагирует. В конечном счете нужно ретранслировать команды с телефона на комп и поменять имя и пароль модуля. МОЖЕТ модуль бракованный или Я? Помогите
К слову о бракованности. Имею HC-06, работает все нормально, отдает\принемает, но стоит отнести телефон на метр — потеря связи. Не понимаю в чем проблема 🙁 с антенной что ли косяк. Заявлено 7-10 метров. может ли это быть связанно с настройками самого модуля HC ? У кого-нибудь были похожие проблемы?
Доброго времени суток!
Дабы не плодить тем, запрошу здесь. Есть HC-06. Подключен к компу через USB-адаптер, питание с него-же 3.3В. Как прозрачный мост со смартфоном работает, в обе стороны данные идут. Но ни в какую не могу заставить его реагировать на АТ-команды. Коннект со смартфоном порвал, скорость по-умолчанию 9600. Пробовал и AT и at. С ентером и без. Ответа нет. В чём может быть причина? У него же нет вывода KEY, переводящего в АТ-режим.
Идентичная ситуация. Сам адаптер работает — данные передает.
Но ни в какую не хочет переходить в режим AT-команд.
Это решаемая проблема? Что вообще можно сделать? Куда копать?
Была такая же проблема с СН-06, прокопался несколько часов, пытаясь перевести модуль в режим настроек АТ-командами. Пока не наткнулся на статью https://www.sites.google.com/site/diyheadtracking/home/nastrojka-bluetooth-modula/nastrojka-bluetooth-modula-hc06 , где нашел такую инфу:
Если модуль новый, из упаковки, то это скорость 9600 бод. При передаче AT команд, после команды не должны отсылаться символы возврата каретки и новой строки. Это значит, нужно в нижней строке Монитора порта выбрать «нет конца строки» .
Как только переставил в мониторе порта «NL & CR» на «нет конца строки», и перестал отправлять команды ЕНТЕРОМ, а давить на кнопку «ОТПРАПВИТЬ», блин!, всё сразу заработало.
Эх, не попалась мне эта статья эдак часов 10 назад.
Не соединятся с HC-06 Device not reply
Здравствуйте, я пытаюсь при помощи приложения подключиться к модулю bluetooth связи HC-06, но после ожидания мне выдает эту вот ошибку «Device not reply», раньше все нормально было, 2 дня назад подключался через ваше приложение и все работало, сегодня загрузил новый скетч и почему то перестало подключаться. думал что то с модулем уже, но залил простой скетч и через другое приложение включал выключал светодиод. вот сам скетч
// настройки соединения
#define REMOTEXY_SERIAL Serial
#define REMOTEXY_SERIAL_SPEED 9600
// конфигурация интерфейса
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
< 255,6,0,55,0,10,1,8,160,2,
129,0,80,28,10,4,44,36,10,4,
17,82,105,103,104,116,0,2,0,39,
28,14,5,22,47,17,5,2,26,16,
16,79,78,0,79,70,70,0,129,0,
37,23,20,3,21,43,20,3,17,77,
97,110,117,97,108,47,65,117,116,111,
109,0,4,0,3,5,5,55,2,17,
6,59,2,26,4,128,12,7,76,6,
3,7,58,6,2,26,4,128,26,41,
39,5,10,78,43,6,2,26,129,0,
39,36,11,3,24,84,14,4,17,71,
114,105,112,112,101,114,0,129,0,39,
48,17,3,20,70,22,4,17,82,111,
116,95,103,114,105,112,112,101,114,0,
129,0,43,3,12,4,24,3,12,4,
17,82,111,116,97,116,101,0,129,0,
9,28,7,4,9,35,7,4,17,76,
101,102,116,0,4,0,93,4,5,57,
53,16,6,62,2,26,4,128,26,53,
40,5,10,92,43,6,2,26,67,1,
40,11,20,5,19,12,19,5,2,26,
11,67,1,3,32,20,5,5,40,16,
5,2,26,11,67,1,74,33,20,5,
39,40,19,5,2,26,11,67,1,51,
35,18,4,21,75,19,5,2,26,11,
67,1,51,48,19,4,20,88,21,5,
2,26,11 >;
// структура определяет все переменные вашего интерфейса управления
struct
// input variable
uint8_t switch_1; // =1 если переключатель включен и =0 если отключен
int8_t slider_left; // =0..100 положение слайдера
int8_t slider_rot; // =0..100 положение слайдера
int8_t slider_grip; // =0..100 положение слайдера
int8_t slider_right; // =0..100 положение слайдера
int8_t slider_rot_grip; // =0..100 положение слайдера
// output variable
char text_1_rot[11]; // =строка UTF8 оканчивающаяся нулем
char text_2_left[11]; // =строка UTF8 оканчивающаяся нулем
char text_3_right[11]; // =строка UTF8 оканчивающаяся нулем
char text_4_grip[11]; // =строка UTF8 оканчивающаяся нулем
char text_5_rot_grip[11]; // =строка UTF8 оканчивающаяся нулем
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
Servo rot_servo;
Servo right_servo;
Servo left_servo;
Servo rot_grip_servo;
Servo grip_servo;
void setup()
RemoteXY_Init ();
pinMode (PIN_SWITCH_1, OUTPUT);
rot_servo.attach(5);
right_servo.attach(4);
left_servo.attach(3);
rot_grip_servo.attach(11);
grip_servo.attach(10);
RemoteXY.slider_rot=50;
RemoteXY.slider_right=70;
RemoteXY.slider_left=50;
RemoteXY.slider_rot_grip=50;
RemoteXY.slider_grip=50;
>
void loop()
<
RemoteXY_Handler ();
digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==0)?LOW:HIGH);
if (RemoteXY.switch_1==1)
float rot = RemoteXY.slider_rot*20+500; //deve essere tra 500 e 2500
float right = RemoteXY.slider_right*20+500;
float left = RemoteXY.slider_left*20+500;
float rot_grip = RemoteXY.slider_rot_grip*20+500;
float grip = RemoteXY.slider_grip*20+500;
rot_servo.writeMicroseconds(rot);
right_servo.writeMicroseconds(right);
left_servo.writeMicroseconds(left);
rot_grip_servo.writeMicroseconds(rot_grip);
grip_servo.writeMicroseconds(grip);
dtostrf(rot, 0, 1, RemoteXY.text_1_rot);
dtostrf(right, 0, 1, RemoteXY.text_2_left);
dtostrf(left, 0, 1, RemoteXY.text_3_right);
dtostrf(rot_grip, 0, 1, RemoteXY.text_4_grip);
dtostrf(grip, 0, 1, RemoteXY.text_5_rot_grip);
>