Bluetooth & Arduino Pro mini
Современные достижения юго-восточных соседей позволяют с помощью простых и недорогих аппаратных средств пользоваться современными коммуникационными технологиями. В этой статье рассмотрим применение в радиолюбительской практике bluetooth.
Слева на фото маленький (я бы даже сказал миниатюрный) модуль HC-06. На нем распаян кристалл BC417 и "флэшка" с программным обеспечением. Модуль, в числе прочего, обеспечивает реализацию моста Bluetooth - UART; ну а с последовательным интерфейсом, как правило, проблем в работе уже не возникает...
Модуль в интернет магазинах можно обнаружить по типичному названию, например, hc-06 HC 06 RF Wireless Bluetooth Transceiver Slave Module RS232 / TTL to UART converter and adapter. Описание довольно скудное и изобилует неточностями и ошибками:
Слева на фото маленький (я бы даже сказал миниатюрный) модуль HC-06. На нем распаян кристалл BC417 и "флэшка" с программным обеспечением. Модуль, в числе прочего, обеспечивает реализацию моста Bluetooth - UART; ну а с последовательным интерфейсом, как правило, проблем в работе уже не возникает...
Модуль в интернет магазинах можно обнаружить по типичному названию, например, hc-06 HC 06 RF Wireless Bluetooth Transceiver Slave Module RS232 / TTL to UART converter and adapter. Описание довольно скудное и изобилует неточностями и ошибками:
Default serail port setting : 115200(optional 4800,9600,19200), N, 8, 1
Pairing code : 1234 Running in slave role: Pair with BT dongle and master module Usage Coupled Mode: Two modules will establish communication automatically when powered. PC hosted mode: Pair the module with bluetooth dongle directly as virtual serial. Bluetooth protocal : Bluetooth Specification v2.0+EDR Frequency : 2.4GHz ISM band Modulation : GFSK(Gaussian Frequency Shift Keying) Emission power : 4dBm, Class 2 Sensitivity : -84dBm at 0.1% BER Speed : Asynchronous: 2.1Mbps(Max) / 160 kbps, Synchronous: 1Mbps/1Mbps |
Security : Authentication and encryption
Profiles : Bluetooth serial port CSR chip : Bluetooth v2.0 Wave band : 2.4GHz—2.8GHz, ISM Band Protocol : Bluetooth V2.0 Power Class : (+6dbm) Reception sensitivity: -85dBm Voltage : 3.3 (2.7V—4.2V) Current : Paring - 35mA, Connected - 8mA Temperature : -40C~ +105C User defined Baud rate : 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800,921600 ,1382400. Dimension : 26.9mm*13mm*2.2mm |
Напрямую модуль в конструкциях использовать не слишком удобно: нестандартный шаг контактных площадок (1мм), небольшие размеры, питание 3,3В. Я "допиливал" сделал небольшую платку-подложку (см фото справа), где распаял стабилизатор напряжения, индикацию состояния связи и резисторный делитель для согласования Rx с ТТЛ уровнем. Рекомендую потратить лишние 50-60 рублей и покупать Bluetooth модуль уже распаянный на такой плате.
Подробное описание HC-06 (а так же других подобных модулей) несложно найти в сети.
Там же Вам наверняка попадется статья о подключении модуля к Arduino и описание работы с терминальной программой через СОМ порт. Ниже приводится аналог такой статьи, применительно к модулю Arduino Pro mini. Я проверил как это работает и опишу результат и его достижение на примере связки с ноутбуком (где есть bluetooth).
Принимаем сигнал с ардуины...
Макет тестовой установки показан слева. Тут видно вышеописанный модуль и Arduino Pro mini. Между модулями соединение UART : Rx - Tx; Tx - Rx. Красный и черный провода - это питание 5В.
Заставим ардуину выдавать по последовательному интерфейсу некий текст. HC-06 это сообщение отправит в эфир. Компьютер должен выловить посланную информацию и отобразить ее на экране.
Скетч примитивный, его можно забрать тут...
Заливаем скетч в Arduino Pro mini (временно придется переключить выводы Tx Rx на "программатор"). Включаем...
Смотрим на светодиод HC-06 - он должен мигать примерно два раза в секунду. Это говорит о том что все нормально - модуль ждет установления связи...
Заставим ардуину выдавать по последовательному интерфейсу некий текст. HC-06 это сообщение отправит в эфир. Компьютер должен выловить посланную информацию и отобразить ее на экране.
Скетч примитивный, его можно забрать тут...
Заливаем скетч в Arduino Pro mini (временно придется переключить выводы Tx Rx на "программатор"). Включаем...
Смотрим на светодиод HC-06 - он должен мигать примерно два раза в секунду. Это говорит о том что все нормально - модуль ждет установления связи...
Займемся компьютером - все процедуры для установки соединения надо проводить на нем. Включаем Вluetooth на ноутбуке - обычно комбинацией клавиш "Fn" + "F2". В диспетчере устройств прописывается устройство Bluetooth и много СОМ портов (см рис. слева) Запускаем Пуск - Все программы - Bluetooth - Настройки Bluetooth. Открывается окно настройки - см фото справа |
Жмем кнопку установки соединения ("Вызов") - появляется приглашение на ввод пин-кода (см рис слева)
Вводим код (по умолчанию для новых устройств "1234"). Устанавливается соединение, светодиод на плате с модулем HC-06 загорается постоянно, а в окне терминальной программы мы увидим сообщения с модуля НС-06 (см рис справа). Разорвать соединение можно по кнопке "Отключить" |
Двухсторонний обмен...
Усложним задачку. Теперь будем в терминальной программе не только наблюдать принимаемый с ардуины текст, но и нажимать кнопки. По клавише "0" будем пытаться погасить контрольный светодиод Pro mini (pin 13), а по клавише "1" - включать его.
Сменим скетч в Arduino - его можно взять отсюда... Включаем макет (он остается тем же самым) - наблюдаем мигание светодиода на плате с HC-06. Запускаем Пуск - Все программы - Bluetooth - Настройки Bluetooth. Открывается окно настройки - см фото слева. Модуль HC-06 у нас остался от прежнего упражнения, отметим отсутствие соединения... Запускаем терминальную программу (для Windows XP): Пуск - все программы - Стандартные - Связь - Hyper Terminal выбираем созданное ранее подключение. Жмем кнопку установки соединения "Вызов". Отмечаем, что соединение (см рисунок справа) прошло без ввода пин-кода (компьютер все запомнил...). |
Наблюдаем в окне терминальной программы сообщение от Arduino (см рис слева)
Жмем "1" - отмечаем появление сообщения о включении светодиода и само включение контрольного светодиода на плате Arduino Pro mini (pin 13).
Нажимаем "0" - получаем сообщение о выключении светодиода и его гашение на плате.
Разорвать соединение можно по кнопке "Отключить"
Проверил дальность работы макета: в пределах квартиры (до десяти метров через стены) работало достаточно устойчиво!
Жмем "1" - отмечаем появление сообщения о включении светодиода и само включение контрольного светодиода на плате Arduino Pro mini (pin 13).
Нажимаем "0" - получаем сообщение о выключении светодиода и его гашение на плате.
Разорвать соединение можно по кнопке "Отключить"
Проверил дальность работы макета: в пределах квартиры (до десяти метров через стены) работало достаточно устойчиво!
Терминальные программы есть не только в "нормальных" компьютерах...
На Samsung GT-S5303 DUOS под Android (4.0.4) успешно встала программка Bluetooth Terminal (берем с Google Play).
Установка проходит "на ура!" Интерфейс прост и интуитивно понятен...
При установлении соединения вводим пин-код...
В окне терминальной программы вводим "1" и "0" и наблюдаем зажигание и гашение светодиода на плате Arduini Pro mini.
На Samsung GT-S5303 DUOS под Android (4.0.4) успешно встала программка Bluetooth Terminal (берем с Google Play).
Установка проходит "на ура!" Интерфейс прост и интуитивно понятен...
При установлении соединения вводим пин-код...
В окне терминальной программы вводим "1" и "0" и наблюдаем зажигание и гашение светодиода на плате Arduini Pro mini.
опубликовано 18 февраля 2014 года