roboforum.ru

Технический форум по робототехнике.


Bluetooth HC-05 для Arduino

Как собрать и запрограммировать робота на Arduino(Freeduino, Roboduino, Seeduino ...). Используем Wiring и Processing.

Re: Bluetooth HC-05 для Arduino

Сообщение dccharacter » 12 апр 2013, 13:46

отключи от дуни блютус, замкни на дуне РХ/ТХ, попиши че-нить в консоли ардуино ИДЕ, посмотри, работает ли скетч
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Bluetooth HC-05 для Arduino

Сообщение gloriaDeo » 12 апр 2013, 13:53

dccharacter писал(а):отключи от дуни блютус, замкни на дуне РХ/ТХ, попиши че-нить в консоли ардуино ИДЕ, посмотри, работает ли скетч


а, то есть, по идеи, должно получится такое-же эхо, как и с блютусом, да? и если не пройдёт, то значит дело в плате - правильно?

Спасибо большое! вечером попробую и отпишу!
gloriaDeo
 
Сообщения: 11
Зарегистрирован: 12 апр 2013, 00:59
Откуда: Киев/Ялта
прог. языки: чуть-чуть С++ ^^
ФИО: Миша

Re: Bluetooth HC-05 для Arduino

Сообщение Kitam1n » 12 апр 2013, 14:00

elmot писал(а):Чо? Вы там соединяете два TX с разных UART и ждете данных? Недождетесь, однозначно. А может еще и спалите что-нибудь, если повезет. Причем тут батарейка?


Я тоже пытался соединить Rx и Tx Bluetooth с Tx и Rx Arduino (крест на крест). И именно так советуют во всех уроках для начала, вот например тут http://robocraft.ru/blog/electronics/587.html и тут http://www.instructables.com/id/Cheap-2 ... Arduino-a/

И ничего не вышло.

Потом я "открыл" еще один Serial програмно и использовал другие пины Arduino, а не те что использует сама Arduino по умолчанию.

Гуглите библиотеку SoftwareSerial которая позволяет создавать дополнительный USART (оно же Serial) порты на цифровых пинах
Последний раз редактировалось Kitam1n 12 апр 2013, 14:08, всего редактировалось 1 раз.
Лучше переесть, чем недоспать.
Аватара пользователя
Kitam1n
 
Сообщения: 343
Зарегистрирован: 30 мар 2012, 16:39
Откуда: Москва
прог. языки: C#, Си, php
ФИО: Влад

Re: Bluetooth HC-05 для Arduino

Сообщение gloriaDeo » 12 апр 2013, 14:07

тоже интересная идея. спасибо. попробую вечером и отпишу
gloriaDeo
 
Сообщения: 11
Зарегистрирован: 12 апр 2013, 00:59
Откуда: Киев/Ялта
прог. языки: чуть-чуть С++ ^^
ФИО: Миша

Re: Bluetooth HC-05 для Arduino

Сообщение dccharacter » 12 апр 2013, 14:08

ну логично, там на RX дуни прилетает напрямую TX ФТ-шки и через килоомник ТХ от блютуса. ПОэтому там в ноль линия никогда не падает...
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Bluetooth HC-05 для Arduino

Сообщение Kitam1n » 12 апр 2013, 14:13

dccharacter писал(а):ну логично, там на RX дуни прилетает напрямую TX ФТ-шки и через килоомник ТХ от блютуса. ПОэтому там в ноль линия никогда не падает...



Понятно. Т.е. родные Rx и Tx Arduino Uno не годны для стороннего использования?
Не пойму почему интернет завален этими примерами, и ведь у кого то работало...

Добавлено спустя 1 минуту 59 секунд:
gloriaDeo,
Смотри тут как раз про это: http://habrahabr.ru/post/139477/

Только пины для нового Serial ставь свои в зависимости от своей Arduino
Лучше переесть, чем недоспать.
Аватара пользователя
Kitam1n
 
Сообщения: 343
Зарегистрирован: 30 мар 2012, 16:39
Откуда: Москва
прог. языки: C#, Си, php
ФИО: Влад

Re: Bluetooth HC-05 для Arduino

Сообщение gloriaDeo » 12 апр 2013, 14:22

ух ты! здорово! спасибо большое, буду пробовать!
gloriaDeo
 
Сообщения: 11
Зарегистрирован: 12 апр 2013, 00:59
Откуда: Киев/Ялта
прог. языки: чуть-чуть С++ ^^
ФИО: Миша

Re: Bluetooth HC-05 для Arduino

Сообщение gloriaDeo » 12 апр 2013, 21:54

Ребята! Товарищи! Всем спасибо большое! :beer:

Суть решения проблемы: заменил входящие пины ардуины RX и TX на "искусственно" созданные. Вот код:

Код: Выделить всёРазвернуть
#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // указываем пины rx и tx соответственно

char incomingByte;  // входящие данные
int  LED = 12;      // LED подключен к 12 пину

void setup() {
  mySerial.begin(9600); // инициализация порта
  pinMode(LED, OUTPUT);
  mySerial.println("Press 1 to LED ON or 0 to LED OFF...");
}

void loop() {
  if (mySerial.available() > 0) {  //если пришли данные
    incomingByte = mySerial.read(); // считываем байт
    if(incomingByte == '0') {
       digitalWrite(LED, LOW);  // если 0, то выключаем LED
       mySerial.println("LED OFF. Press 1 to LED ON!");  // и выводим обратно сообщение
    }
    if(incomingByte == '1') {
       digitalWrite(LED, HIGH); // если 1, то включаем LED
       mySerial.println("LED ON. Press 0 to LED OFF!");
    }
  }
}


идею взял из статьи http://habrahabr.ru/post/139477/ , которую посоветовал Китамин.
Все работает: сигналы идут с блютуса на ардуину в обе стороны (т.е. управляю с терминала и на него приходит ответ).

Всем приношу огромную благодарность :beer: :good:
gloriaDeo
 
Сообщения: 11
Зарегистрирован: 12 апр 2013, 00:59
Откуда: Киев/Ялта
прог. языки: чуть-чуть С++ ^^
ФИО: Миша

Пред.

Вернуться в Arduino и другие Xduino

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Mail.ru counter