Bluetooth модуль HC-05 не работает с Arduino UNO (а с nano работает)
- Войдите на сайт для отправки комментариев
Люди добрые,
Подскажите в чем может быть причина и лечится ли каким образом.
Подключил модуль HC-05 к Arduino UNO V3 на стандартные пины последовательной шины: 0 (RX) и 1 (TX). Не заработало. После чего стал разбираться, стал использовать SoftwareSerial ну и логи смотреть через стандартный Serial. Схема подключения такая:
Извиняюсь за модуль bluetooth - единственно что нашлось аналогичное.
Код отладки следующий...
#include <SoftwareSerial.h> // Software Serial Port #define baudRate 9600 /* ********** Define Arduino PINs usage ********** */ #define TxD 12 #define RxD 11 // SoftwareSerial PINs declaration /* ********** End of PINs usage definition ********** */ SoftwareSerial btSerial(RxD,TxD); // Define logging #include <stdarg.h> void log(char* format, ...) { char line[512]; va_list args; va_start(args, format); vsnprintf(line, sizeof(line), format, args); va_end(args); Serial.print(line); } void setup() { Serial.begin(baudRate); // initialize serial communication at 9600 bits per second: /* ********** SoftwareSerial setup ********** */ pinMode(RxD, INPUT); pinMode(TxD, OUTPUT); btSerial.begin(9600); //Set bluetooth HC-05 BaudRate to default baud rate 9600 /* ********** End of SoftwareSerial setup ********** */ log("Begin:\n"); } void loop() { char recvChar; if(btSerial.available()) { recvChar = btSerial.read(); log("bluetooth: recv: %u\n", recvChar); } if(Serial.available()) { recvChar = Serial.read(); log("bluetooth: send: %u\n", recvChar); btSerial.write( recvChar ); } }
Данные подавались через Android. И как в песне поется, "Я менял города (провода) я менял имена (пины разные пробовал)" ... "но счастья не знал (ничего не передавалось)" ((с) песня «Я в весеннем лесу»). Причем пайринг проходил без проблем, что было видно по LEDу линка.
Дома завалялась так же Arduino nano. Смеху ради попробовал потестить модуль через нее, и о чудо! - все заработало с первого раза. При чем на разных пинах пробовал (RxD:10/TxD:11;RxD:11/TxD:12; RxD:12/TxD:12) - все прекрасно работает. В остально с UNO все нормально (по USB норамльно шьется, все пины для других датчиков работают).
Что не так с UNO или модулем HC-05?
Логические уровни и рабочее напряжение HC-05: 3.3V
нужно или UNO от 3.3V питать или преобразователь делать(или купить)
У меня подобная проблема. Использую HC-06 + Arduino Mega R3 + Android планшет. Блютуз вот такой http://www.ebay.com/itm/130941272273?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649
Использая этот код, данные с ардуино на планшет приходят:
А при отправке данных с планшета (1 или 0), ардуино не реагирует:
В чем проблема?
Логические уровни и рабочее напряжение HC-05: 3.3V
На платке HC-05 написано Power 3.3V - 6V, логические уровни 3.3. Саму HC-05 пробовал питать как от 3.3 так и от 5. Поведение стандартное - с обоими питаниями работает с nano и не работает с UNO. Nano ведь тоже 5V на логических уровнях имеет, в чем различия в работоспособности?
нужно или UNO от 3.3V питать или преобразователь делать(или купить)
Логические уровни и рабочее напряжение HC-05: 3.3V
Я понимаю конечно, что китайцам не следует доверять, но по поводу логических уровней, часто кстати указывают что допустимо использовать 5V (например http://www.aliexpress.com/item/HC05-HC-05-master-slave-6pin-JY-MCU-anti-reverse-integrated-Bluetooth-serial-pass-through-module/1327975786.html):
Interface level 3.3V, can be directly connected the various SCM (51, AVR, PIC, ARM, MSP430, etc.), the 5V MCU also can be connected directly, without MAX232
Некоторым (читая архивы данного форума), помог переход на SoftwareSerial, как указано у меня в примере. Мне к сожалению не помог. Попробуйте.
Кроме догадок, почему так, у меня ничего нету.
Некоторым (читая архивы данного форума), помог переход на SoftwareSerial, как указано у меня в примере. Мне к сожалению не помог. Попробуйте.
Кроме догадок, почему так, у меня ничего нету.
Сегодня проверю и сообщу о результатах.
Проверил на примере вашего кода, ситуация не изменилась. Буду заказывать другой блютуз модуль.
Извиняюсь нашел ошибку. В картинке (или в коде по усмотрению) нужно поменять местами RxD<->TxD. RxD bluetooth модуля должен приходиться на TxD в коде, и наоборот.
Извеняюсь. А не могли бы вы подсказать, как с ним работать то=)
ну или ссылочку на документацию, которой пользуетесь с парой примерчиков.
а то ковыряю - ковыряю, и что-то всё не то(((
Здравствуйте! Помогите пожалуйста бедному студенту. У меня есть задача передать медицинские данные с прибора по каналу bluetooth на мобильное устройство, который имеет выход RS232. Каким образом можно это реализовать имея HC-05 или аналоги. Планируется передача данных на андроид.
Очень нужна помощь)
Здравствуйте! Имея Arduino Uno R3 и модуль HC-05 установленный на буферную плату с пятью выходами сам столкнулся с подобной проблемой и решил ее следующим образом:
1. Решение с резистивным мостом не работает. Отсюда идея необходимости согласования сигналов TX и RX по напряжению (3.3v HC-05 и 5v у Arduino Uno), т. е. CMOS и TTL.
2. В дебрях дома была найдена микруха CD4050 (даташит найдете по поиску) которая работает как Hex non-inverting buffers.
3. Уже когда все заработало было найдено видео и проект android to arduino led в котором автор в конце ролика показывает аналогичную микруху на бреадборде и дает соответствующие комментарии: http://www.youtube.com/watch?v=USeZd9jthZM#t=625
4. Два замечания, у меня версия буферной платы HC-05 по разъемам такая же как у автора TechBitar с расположением слева-направо 1:KEY | 2:RX | 3:TX | 4:5v | 5:3.3v | 6: GND и подавать 5v на платку HC-05 не надо, и, если вы захотите использовать скетч автора, то поправьте в нем 9600 на 38400.
Удачи с экспериментами.
TechBitar
Добрый день!.
У меня аналогичная проблема как и у ZSeregaA
коннект планшета и arduino mega+hc05 ,на планшет данные идут,а наоборот нет.
на нано тоже не запустилась
в чем может быть проблема?
и еще непонятно почему работает модуль только на пинах rx0/tx0