Корзина пуста
Описание
Этот модуль беспроводной связи, позволяющий передавать и принимать данные по радиоканалу на разрешённом ISM (Industry, Science and Medicine) диапазоне частот, от 2.4 ГГц до 2.5 ГГц, предназначенном для использования в индустриальных, научных и медицинских целях, используя метод AFH (Adaptive Frequency Hopping Feature) - адаптивной скачкообразной перестройки несущей частоты.
Характеристики:
- Напряжение питания: 3,3 ... 5 В
- Потребляемый ток при подключении: до 40 мА (поиск, сопряжение, подключение к другим Bluetooth устройствам)
- Потребляемый ток при передаче данных: от 0,2 до 8 мА
- Частотный диапазон: ISM 2,4 ... 2,48 ГГц
- Мощность передатчика: до +6 дБм
- Дальность связи: до 10 м
- Интерфейс: UART (с программируемой скоростью передачи данных)
- Максимальное напряжение на выводах TX и RX не должно превышать напряжение питания модуля.
- PIN-код по умолчанию: 000000;
- Настройки UART по умолчанию: Скорость 9600 бит/сек, 8 бит данных, 1 стоп бит, ведомое устройство;
- Поддерживаемые скорости UART: 1200,2400,4800,9600,19200,38400,57600,115200,230400 бит/сек.
Примечание
Выводы модуля Bluetooth | Выводы Arduino Uno |
---|---|
RX | D3 |
TX | D2 |
G | GND |
V | 5V |
K | D4 |
Прошивка управления светодиодами.
#include <SoftwareSerial.h> // Подключаем библиотеку для работы с программным UART
uint8_t TX = 2; // Указываем порт, к которому подключен вывод TX модуля BLE
uint8_t RX = 3; // Указываем порт, к которому подключен вывод RX модуля BLE
uint8_t Key = 7; // Указываем порт, к которому подключен вывод KEY модуля BLE
char A; // Задаём переменную для считывания значений от модуля
String B = ""; // Задаём переменную для хранения строки данных, которые отправил модуль
SoftwareSerial BT(TX, RX); // Создаём объект BT, указывая номера выводов TX и RX
void setup() {
BT.begin(115200); // Инициируем работу с последовательным портом модуля BLE на скорости 9600 бод
Serial.begin(9600); // Инициируем работу с монитором последовательного порта на скорости 9600 бод
digitalWrite(Key, HIGH); // Подаём высокий сигнал на вывод Key для перевода модуля в режим работы с АТ-командами
digitalWrite(Key, LOW); // Подаём низкий сигнал на вывод Key
//----------------------------------------------//
BT.write("AT+MODE0"); delay(500); // Отправляем АТ-команду перевода модуля в режим работы MODE 0 и ждём 500мс
while (BT.available()) { // Если в последовательном порту модуля есть данные, то
Serial.write(BT.read()); // считываем их и выводим в монитор последовательного порта
}
Serial.println(); // Следующее сообщение будет отображаться с новой строки
//----------------------------------------------//
BT.write("AT+BEFC008"); delay(500); // Отправляем АТ-команду для подачи питания на светодиод "Состояние" сразу после подачи питания на модуль и ждём 500мс
while (BT.available()) { // Если в последовательном порту модуля есть данные, то
Serial.write(BT.read()); // считываем их и выводим в монитор последовательного порта
}
Serial.println(); // Следующее сообщение будет отображаться с новой строки
//----------------------------------------------//
BT.write("AT+ROLE0"); delay(500); // Отправляем АТ-команду перевода модуля в режим работы slave(0)/master(1) и ждём 500мс
while (BT.available()) { // Если в последовательном порту модуля есть данные, то
A = BT.read(); // считываем их в переменную и
B.concat(A); // добавляем полученные данные в строку
}
if (B == "OK+Set:0") { // Проверяем, если полученный ответ на установку роли = 0 (устройство ведомое), то
BT.write("AT+AFTC204"); // отправляем АТ-команду включить светодиод "Slave" на модуле после того, как модуль будет подключен к другому устройству и
Serial.println("Slave-mode on"); // выводим текст в монитор последовательного порта
} else if (B == "OK+Set:1") { // Если же получен ответ = 1 (устройство ведущее), то
BT.write("AT+AFTC104"); // отправляем АТ-команду включить светодиод "Master" на модуле после того, как модуль будет подключен к другому устройству и
Serial.println("Master-mode on"); // выводим текст в монитор последовательного порта
}
//----------------------------------------------//
BT.write("AT+RESET"); delay(500); // Отправляем АТ-команду для перезагрузки модуля
}
void loop() {}
Обзор модуля на канале Home Made - То, что ты можешь сделать
Обзор модуля на канале How To Electronics
Обзор модуля на канале Александр Писанец
Полезные ссылки:
Datasheet
https://pdf1.alldatasheet.com/datasheet-pdf/view/1179058/ETC1/HM-10.html
Сообщения не найдены