Технический форум по робототехнике.
r0man » 11 окт 2012, 03:19
Вспоможите пожалуйста советом!
Никак не могу заставить передавать данные по BT с помощью модуля принимает модуль четко.
Предположительно HC-04 или HC-06 (default имя - linvor, скорость - 9600, пароль 1234)
куплен здесь
http://dx.com/p/wireless-bluetooth-rs23 ... dule-80711)
Питаю от Arduino Nano 3.3V пина. На RX модуля входящий сигнал делю как здесь:
http://www.instructables.com/image/F4H8GM6H1QML3ZCСкетч для arduino IDE 1.0/0.22 мигающий диодиком от посланных из терминалки комманд работает четко и с winxp и с android.
- Код: Выделить всё • Развернуть
#include <SoftwareSerial.h>
SoftwareSerial btSerial(4,3);
void setup()
{
btSerial.begin(9600);
}
void loop()
{
if (btSerial.available())
{
char command = btSerial.read();
btSerial.write(command);
}
}
Serial.read - работает, а вот Serial.write уже нет, совсем ничего не шлет.
без SoftwareSerail и на 0 и 1 пинах тоже пробовал - без изменений.
Без arduino посылка 'AT' ничего не возвращает, вроде должно приходить 'OK'.
Подача 3.3V на pio11 (контакт 34) ничего ни меняет, команды не воспринимает, работает по прежнему на 9600 и только на прием модулем.
Как мне добиться передачи данных этим модулем?? Все проверил-перепроверил, голову уже сломал почти.Что можно еще попробовать?
И еще как точно определить его идентичность - HC-04 или HC-06 ?
elmot » 11 окт 2012, 10:04
на AT модуль отвечает OK при определенных условиях:
- БТ связь НЕ установлена
- символы AT передаются быстро и без перевода строки в конце. Вот такая там дурацкая прошивка.
pio11 на hc-06 не задействовано, он и не делает ничего.
Почитайте еще вот тут, там спутано hc-05 и hc-06, в основном речь про 06.
forum73/topic10762.htmlЧто принимает данные от блютуза с другой стороны? может там проблема?
r0man » 11 окт 2012, 19:43
Не понял про "БТ связь НЕ установлена", а как же он примет данные то без установки связи, ведь и com не будет подключен ?
Про отсутствие CR и LR я в курсе, слал AT разом из разных терминалок.
Данные принимает (пытается) hyper termnial, termite, putty с winxp/win7.
elmot » 11 окт 2012, 19:50
На АТ команд модуль реагирует ТОЛЬКО по линиям rx/tx и только тогда, когда блютуз связь не установлена, отсылать команды ему по bt связи бесполезно вообще.
r0man » 11 окт 2012, 22:18
К сожалению нет uart-usb переходника, можно как-нибудь подключить модуль к winxp с помощью Arduino Nano порта usb?
Можно просто из скетча на 0,1 кидать Serial.println("AT");
?? Должен он в этот arduino'вский usb-com 'OK' возвращать ?
С другой стороны если в скетче BTserial.read() работает, то как-же тут же в обратку BTserial.print() не работает ??!
Последний раз редактировалось
r0man 11 окт 2012, 23:14, всего редактировалось 1 раз.
elmot » 11 окт 2012, 23:03
должен возвращать. Какая разница- комп или дуина?
r0man » 11 окт 2012, 23:23
Попробовал - не возвращает зараза.
Не пойму, как вообще так может глючить сам модуль, он либо работает, либо нет. Если завелся, то как TX без RX может быть ??
elmot » 12 окт 2012, 07:56
Да как глючить-то?
1)заведи ему светодиод статуса
2)законтри rx-tx безо всяких дуин, запитай от 3.3В и получишь блютуз эхо, убедись что работает.
Ну мало ли причин ему глючить? мож ты ему ногу прожег случайно уже давно?
Добавлено спустя 2 минуты 55 секунд:
Re: bluetooth модуль НС-04/HC-06 принимает,но не передает данные
кстати, а в качестве command что идет?
И вообще, я не понимаю как можно пинать эти модули, не имея usb-uart. Весь вопрос на $5
r0man » 16 окт 2012, 07:27
Нашел баг в железке! Дорожка на платке не контачила с контактной площадкой Tx на торце. Спасибо за советы!
Madf » 16 окт 2012, 12:32
В итоге обычный непропай.
Mikroda » 29 мар 2014, 19:48
Всем привет! Мое первое сообщение на форуме.
Ситуация следующая:
Модуль HC-06 после покупки один раз успешно подключился к телефону (Красный светодиод перестал моргать, горел постоянно)
Затем я несколько раз перезаливал код в ардуино, провода и модуль не трогал. Пробовал подключить, телефон пишет подключен, но светодиод продолжает моргать.
Кто - нибудь сталкивался с такой ситуацией ?
Myp » 29 мар 2014, 20:15
попробуй на телефоне удалить устройство и спарить заново
linvinus » 31 мар 2014, 15:19
Mikroda писал(а):Всем привет! Мое первое сообщение на форуме.
Ситуация следующая:
Модуль HC-06 после покупки один раз успешно подключился к телефону (Красный светодиод перестал моргать, горел постоянно)
Затем я несколько раз перезаливал код в ардуино, провода и модуль не трогал. Пробовал подключить, телефон пишет подключен, но светодиод продолжает моргать.
Кто - нибудь сталкивался с такой ситуацией ?
Не знаю как в андроиде,а в линуксе связь устанавливается только после того как откроешь устройство на чтение-запись, например если открыть терминал minicom.
Вот тут есть неплохая инструкция как настроить подключение в линуксе и в винде
http://robocraft.ru/blog/electronics/587.html
Mikroda » 31 мар 2014, 16:47
Все получилось, правда теперь следующая проблема.
Залил скетч, который слушает сериал порт и по нажатию 1 включает светодиод, по нажатию 0 выключает его, при этом пишет сообщение "Led ON\OFF". Это стандартный скетч который первым гуглится.
С компьютера, через монитор порта, светодиод слушается команд, успешно включается выключается. Если установить соединение телефон-блютус, то видно дубли сообщений "Led ON\OFF" на телефоне.
Но отправка команд с телефона не производит эффекта, светодиод не реагирует.
Плата у меня LEONARDO, вычитал на соседнем форуме что это может быть из за наличия сопротевлений со стороны ардуино и блютуса, но не пойму как их обойти.
Madf » 31 мар 2014, 20:24
Проблема кроется скорее всего в глючности терминальной программы на мобиле, их там куча и все кривые, всё упирается в эхо и как заканчивается строка (0D 0A или отдельно 0D или только 0A или вообще местами поменяно).