Блютус работает в одну сторону.
- Войдите на сайт для отправки комментариев
Чт, 11/04/2013 - 22:13
Добрый день.
Помогите пожалуйста, со следующей проблемой:
Подключаю Bluetooth HC-05 к ардуине следующим образом:
GND - GND
RX - TX
TX - RX
3.3v - 3.3v
Так же просто подключаю обычный диод к 12 пину.
Потом прописываю такой код:
char incomingByte; // входящие данные int LED = 12; // LED подключен к 12 пину void setup() { Serial.begin(9600); // инициализация порта pinMode(LED, OUTPUT); Serial.println("Press 1 to LED ON or 0 to LED OFF..."); } void loop() { if (Serial.available() > 0) { //если пришли данные incomingByte = Serial.read(); // считываем байт if(incomingByte == '0') { digitalWrite(LED, LOW); // если 1, то выключаем LED Serial.println("LED OFF. Press 1 to LED ON!"); // и выводим обратно сообщение } if(incomingByte == '1') { digitalWrite(LED, HIGH); // если 0, то включаем LED Serial.println("LED ON. Press 0 to LED OFF!"); } } }
Драйвера на блютус установлены.
Через программу Termite или Tera Term устанавливаю соединение (все делал как написанно вот тут http://cxem.net/arduino/arduino63.php), но данные идут только с ардуины, а вот когда пытаюсь послать сигнал на неё - никакой реакции. Хотя, если посылать сигнал с порта ардуины, то все работает (т.е. код правильны).
Подскажите, пожалуйста, что делаю не так и где ошибка?
Заранее благодарен!
Если замкнуть RX и TX блютуса (т.е. сигнал не проходит через ардуину), то тогда он эхом отвечает на сигналы от компьютера. Т.е. сама плата сигналы принимает и сразу же их отсылает обратно. Это исключает механическое повреждение.
решение проблемы: заменил входящие пины ардуины RX и TX на "искусственно" созданные.
Вот код:
идею взял из статьи http://habrahabr.ru/post/139477/
Все работает: сигналы идут с блютуса на ардуину в обе стороны (т.е. управляю с терминала и на него приходит ответ).