Bluetooth модуль HC-07
Bluetooth используется на многих современных устройствах. Технология получила широкое применение. Хотя ей много лет, только недавно появились Bluetooth модули действительно по разумной цене. Китайские производители выпустили целую серию Bluetooth-модулей: HC-03, HC-04, HC-05, HC-06, HC-07, HC-08, HC-09. К сожалению, документация на них не всегда соответствует действительности (китайские производители частенько этим грешат). Мне достался HC-07. Я расскажу об особенностях его применения.
Bluetooth модуля
В большинстве своем Bluetooth модуля выполнены в виде платы и имеют интерфейс UART. Т.е. их можно легко использовать совместно с микроконтроллером. Прошивка для микроконтроллера ничем не отличается от описанной в статье "Подключаем микроконтроллер к компьютеру. Com-порт (RS-232), USB". Подключиться к микроконтроллеру через Bluetooth модуль можно с помощью обычного персонального компьютера, ноутбука с Bluetooth или смартфона. Bluetooth модули бывают трех типов:- серверные - к которым подключаются. Нам нужен именно такой.
- клиентские - которые будут подключаться к Bluetooth.
- универсальные - объединяют в себе обе функции.
Подключение модуля
Мы рассмотрим модуль HC-07 (скачать документацию). Подключить его к микроконтроллеру не составит труда. При питании микроконтроллера напряжением 3.3 В. Выходы TX(1), RX(2) Bluetooth модуля подключаются к RX, TX выводам микроконтроллера напрямую без каких либо схем согласования сигналов. На вывод 12 подается питание 3.3 В. На вывод 13 - общий (земля). Вывод LED (24) служит для индикации состояния модуля. К нему через резистор 470 ОМ на землю подключается светодиод. Вывод KEY(26) в HC-07 не используется. Хотя фигурирует во всех документациях. Он использовался в ранних версиях для переключения модуля в режим AT команд. В данной версии модуля (HC-07), команды воспринимаются со стороны UART до тех пор, пока к Bluetooth модулю не подключилось ни одно радиоустройство.AT команды
Описание AT команд можно найти в документации hc-05-at_command_set.pdf. Я приведу только наиболее часто используемые команды:1. Тест модуля. команда: AT ответ: OK
2. Установка скорости обмена по последовательному порту. команда: AT+BAUD8; где 8 - скорость передачи 115200 ответ: OK1200
скорость передачи
1 1200 2 2400 3 4800 4 9600 5 19200 6 38400 7 57600 8 115200 9 230400 A 460800 B 921600 C 1382400
по умолчанию установлена скорость 9600.
пример настройки на скорость 2400 AT+BAUD2 ответ OK2400
3. Изменение имени Bluetooth команда: AT+NAMEname ответ: OKname Имя Bluetooth - 20 символов или менее. Пример: AT+NAMETest ответ: OKTest
4. Изменение пароля Bluetooth команда: AT+PINxxxx ответ: OKsetpin
пример: AT+PIN8888 ответ: OKsetpin
Заводской пароль 1234. Реже 0000
Отличительные особенности модуля HC-07
Неожиданным и до сих пор не понятным сюрпризом столо то, что в HC-07 ввод команд не завершается привычным символом перевода строки и/или возврата каретки. Конец ввода команды определяется паузой в секунду. Я поясню. Вы отправляете в модуль команду, например AT+NAMETest и ждете 1 секунду пока он ее "проглотит". После чего посылаете следующую, и опять ждете 1 секунду. Зачем так сделано - понять не могу. Если вы отправите две подряд команды без задержки, то они будут восприняты неверно. Например:AT+NAMETest AT+BAUD8
Отправка этих команд без ожидания ответа может привести к тому, что будет воспринята только первая команда, при этом не удивляйтесь, если в результате будет задано имя Bluetooth TestAT+BAUD8.
AT команды используются только для настройки модуля. Bluetooth модуль сохраняет все настройки во внутренней памяти, и после отключения и включения питания работает с теми настройками, которые в него внесли. Поэтому, если вы подключились к Bluetooth модулю на скорости 9600 и изменили ему скорость работы на 115200, то в последующем Вам придется подключаться на скорости 115200.
Atmega + HC-07 + Android
Я взял свой старый проект USB-Altimeter и вместо микросхемы USB интерфейса прикрутил к нему Bluetooth модуль, снабдив устройство аккумулятором и зарядным от USB. После того, как схема собрана, микроконтроллер отправляет информацию. Неплохо бы её увидеть. У меня стояла задача реализовать связь микроконтроллера с мобильным устройством, поэтому расскажу как это сделать, имея смартфон с Android. Потребуется программа Bluetooth - терминал. Я использую SENA BTerm. Установка программы через Play Market не составит труда. Смотреть на скучные цифры было не интересно, поэтому была написана программа для смартфона с графическим интерфейсом. Но в этой статье мы не будем рассматривать написание программ под Android. Удачи!
Недавні записи
- Text to speech. Українська мова
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
- AS5600. Варіант встановлення на BLDC мотор
Tags
docker sensors rtc led timer wifi remap sms css websocket mongodb bme280 rfid bluetooth esp8266 nodemcu bkp piezo bmp280 i2c mpu-6050 encoder examples avr brushless ngnix nvic displays bldc java-script pmsm barometer pwm lcd ethernet stm32 raspberry-pi capture usart gpio exti atmega meteo solar smd dma adc eeprom eb-500 flask python ssd1306 uart options flash mpx4115a html gps st-link 3d-printer servo dc-dc foc git books battery hih-4000 watchdog dht11 web tim programmator ssd1331 mpu-9250 usb rs-232 motor max1674 soldering
Архіви