Самоделки на микроконтроллерах

авторский проект Александра Писанца

+38 097 8875581
 Skype: alex
Е-mail: im48@yandex.ru

Bluetooth модуль HC-06 Урок 1

Оцените материал
(5 голосов)

Всех приветствую. В данной статье помогу начинающим освоить Bluetooth модуль на начальном уровне, в качестве ознакомления я выбрал простой Bluetooth модуль HC-06. Данный материал содержит как текстовую так и видео информацию, изучив которую вы сможете подключить Bluetooth модуль к микроконтроллеру. Вы сможете сделать устройство на микроконтроллере. С его помощью удастся установить соединение с компьютером и произвести удалённое управление светодиодом.

 Введение:

Применяя Bluetooth модули, нам стает доступным подключение микроконтроллера к большинству существующих современных гаджетов, это может быть как телефон, планшет, компьютер так другие устройства оснащенные Bluetooth модулем. При этом обмен данными происходит на расстоянии, без использования каких либо соединительных проводов, что очень удобно.  

                                                  модуль для Arduino

В настоящее время можно найти большое количество различных Bluetooth модулей для своих устройств. В зависимости от версии прошивки, модуль может выступать в роли ведомого, так имастером, либо только быть ведомым. Поэтому, при выборе модуля для своих электронных устройств, учитывайте данные моменты.

Большинство модулей являются завершенными устройствами, соответствено паять не чего не нужно, в основном реализованные на чипе BC417 и микросхеме Flash-памяти на 8 Мбит. Чип поддерживает спецификацию Bluetooth версии 2.0 + EDR, скорость передачи данных составляет до 2 Мбит, при этом максимальная дальность соединения, составляет порядка 10 метров. На сегодняшний день можно найти более продвинутую версию модулей 4.0 (к примеру НС-10) с улучшенными характеристиками. Данная версия обеспечивает большую скорость передачи данных, значительно снижено энергопотребление, дальность подключения составляет до 100 метров.

Не зависимо от версии, Bluetooth модули управляются посредством AT- команд, через USART. Перечень АТ – команды для модуля HC-06 не большой, так как данный модуль может работать только в роли ведомого. Команды, позволяют настроить протокол USART, также задать как новое имя модулю, так и четырехзначный код, который требуется для безопасного подключения. Но мы не будем рассматривать в данном уроке эти команды подробно, хоть их и не много, это материал для другого урока. Дело в том, что модуль изначально имеет заводские настройки, и может передавать и принимать данные сразу после включения, без каких либо настроек.

AT - тестовая команда. Ответ – OK.
AT+VERSION– версия прошивки модуля.
AT+ВАUDn – установка скорости UARTгде 
  1 – 1200 бит
  2 – 2400 бит
  3 – 4800 бит
  4 – 9600 бит (установлено по умолчанию)
  5 – 19200 бит
  6 – 38400 бит
  7 – 57600 бит
  8 – 115200 бит
  9 – 230400 бит
  А – 460800 бит
  B – 921600 бит
  С – 1382400 бит
AT+NAMEname – имя модуля (устанавено по умолчанию НС06 но может быть и другим)
AT+PINxxxx – установка пароля (по умолчанию 1234)
AT+PN– отключить проверку четности
AT+PO – установить проверку по четному биту
AT+PE– установить проверку по нечетному биту.

Устройство на микроконтроллере: 

Функциональное назначение сего девайса простое. Электронное устройство на микроконтроллере AVR позволяет управлять светодиодом через Bluetooth модуль HC-06, отправляя простые команды с компьютера используя программу терминал. Для включения светодиода отправляем с компьютера цыфру один, в ответ об успешном включении светодиода микроконтроллер отправит символ “O”. Для выключения светодиода отправляем  цифру “2”, светодиод выключится, в подтверждение о данном действии мы примем символ “F”.  

схема для микроконтроллеров

Как я уже раннее говорил, HC-06 является ведомым и не может выступать в роли мастера, это значит, что наше устройство не может самостоятельно подключится к другому устройству. Подключение происходить, наоборот, к нашему устройству. Для подключения к нашему устройству, нужен модуль который выступает мастером. В роли мастера я использую встроенный блюдуз на компьютере, при помощи программы терминал, будем в дальнейшем производить общение между микроконтроллером и компьютером. Но для начала нужно с компьютера произвести поиск и подключение к нашему блютуз модулю. Данный процесс и многое другое увидете в видео.

Программа для микроконтроллера простая именно для начинающих, написана в AtmelStudio 6.2 на си, при желании можете скачать и ознакомится. 

#include <avr/io.h>
#include <avr/interrupt.h>
#define Led   0
volatile unsigned char buf;
//*********************//
ISR(USART_RXC_vect) 
 {
    buf = UDR;   // сохраняем принятые данные
 }
 //********************//
int main(void)
 {
    UBRRL = 103;   //9600
   UCSRB |= (1 << RXCIE)|(1<<TXEN)|(1<<RXEN);
    UCSRC |= (1 << URSEL)|(1 << UCSZ1)|(1 << UCSZ0);
//-------------
   DDRB |=(1<<Led ); // порт на выход
   asm("sei"); // разрешаем работу прерываний
    while(1)
     {
        switch (buf)
         {
           case 0x31:  // принята цифра 1
                          PORTB |=( 1<<Led ); // вкл.светодиод
                          UDR = 0x4F; // передаем обратно символ "0"
                          buf = 0;
                          break; 
            case 0x32: // принята цифра 2
                          PORTB &=~( 1<<Led ); // откл. светодиод
                          UDR = 0x46; // передаем обратно символ "F"
                          buf = 0;   
                          break;
            default:                
                          break;      
       }
    }
 }

Bluetooth модуль HC-06 в Китае где брал я - http://ali.pub/90m6z

Скачать: принципиальную схему, программу терминала, программу для микроконтроллера

Прочитано 7719 раз

Галерея изображений

Комментарии   

0 # Анатолий 02.08.2017 10:58
В ascii 0x4f означает букву о а не цифру 0
Правильней будет отправить 0x30
Ответить | Ответить с цитатой | Цитировать

Добавить комментарий


Защитный код
Обновить