Преобрел недавно блютуз модуль для ардуино и хочу его сразу вам показать.
Модуль блютуз HC-06.
Схема подключения:
Источник http://arduino-ua.com/index.php?productID=241
Модуль блютуз HC-06.
Описание:
Для работы просто выбираем поиск на другом устройстве, и находим его как НС-06. Пин базовый 1234. После подключения к ардуино, данный блютуз выступает в роли порта, т.е. все что мы пошлем на последовательный порт будет отсылался а этот блютуз, также все то что мы будем слать на этот блютуз из вне, будет приниматься на ардуино как серез порт.
Пины:
STATE -- выводит сигнал от светодиода.
RXD -- контакт для получения данных. На него мы посылаем данные.
TXD -- контакт для отправки данных.
GND - земля
VCC -- питание 3.3 v
EN -- питание вкл\выкл, если подать единицу модуль будет включен. Если ноль то модуль будет отключен.
Настройка:
Для изменения базовых настроек, имя, пин. Модуль нужно подключит к ПК, через переходник. И через ПК, АТ коммандами изменять настройки. На данный момент я этого не делал, т.к. не имею переходника.
Но вот список команд для изменения:
AT - возвращает OK
AT+VERSION - посмотреть версию
AT+NAMEyyy - изменить имя устройства.
AT+PINxxxx - задать другой пин, базовый 1234
AT+BAUDx - установить скорость.
Источник http://arduino-ua.com/index.php?productID=241
Но вот список команд для изменения:
AT - возвращает OK
AT+VERSION - посмотреть версию
AT+NAMEyyy - изменить имя устройства.
AT+PINxxxx - задать другой пин, базовый 1234
AT+BAUDx - установить скорость.
Источник http://arduino-ua.com/index.php?productID=241
Схема подключения:
Пример скетча: (пример не мой, но где нашел не могу сказать )
В данном примере, по команде с телефона мы отправляем 1 и светодиод на 13 порту включается, 0 его отключает, а * заставляет его мигать с интервалом в 1 секунду.
enum { LED_PIN = 13 };
enum LedState { LED_ON, LED_OFF, LED_BLINK };
LedState led_state;
void setup()
{
led_state = LED_OFF;
pinMode(LED_PIN, OUTPUT);
pinMode(3,OUTPUT);
Serial.begin(9600);
}
void loop()
{
if (Serial.available())
{
char command = Serial.read();
switch (command)
{
case '1':
led_state = LED_ON;
Serial.println("Led On Cool");
break;
case '0':
led_state = LED_OFF;
Serial.println("Led Off Fall");
break;
case '*':
led_state = LED_BLINK;
Serial.println("Led Blink ");
break;
default:
{
for (int i = 0; i < 5; ++i)
{
digitalWrite(LED_PIN, HIGH);
delay(50);
digitalWrite(LED_PIN, LOW);
delay(50);
}
Serial.println("Fail ....");
}
}
}
switch (led_state)
{
case LED_ON: digitalWrite(LED_PIN, HIGH); break;
case LED_OFF: digitalWrite(LED_PIN, LOW); break;
case LED_BLINK:
{
static unsigned long start_millis = 0;
if (millis() - start_millis >= 300)
{
start_millis = millis();
digitalWrite(LED_PIN, !digitalRead(LED_PIN));
}
}
}
}
Вот все, что касается настройки и подключения блютуз HC-06 для ардуино.
Будут вопросы пишите, буду помогать их решать!
Источник http://arduino-ua.com/index.php?productID=241
Привет.Подскажи пожалуйста для смены скорости в Bluetooth HC-06, нужна плата УНО , или можно другим способом? Спасибо за ответ. Yuron_1@mail.ru
ВідповістиВидалитиПлата нужна но не ардуино. Нужен програматор, через который можно менять настройки bluetooth модуля. К сожалению через ардуино это не получится.
ВидалитиЗдравствуйте, подскажите пожалуйста почему ардуино не реагирует на отправляемый с телефона сигнал.
ВідповістиВидалитиПервый раз подключал и спокойно управлял через терминал светодиодом(вкл/выкл), а теперь работает только через порт платы ардуино.
в скетче есть "недоработка", т.к. последовательный порт завершается символом "конец строки", то желательно добавить этот вариант в обработку, иначе это вызывает "ошибку":
ВідповістиВидалитиcase '\n':
Serial.println("<>");
break;