Возьмите Bluetooth (Troyka-модуль) и создайте целую сеть беспроводных устройств, каждое из которых сможет принимать и отправлять данные.
Bluetooth-модуль общается с управляющей платой по протоколу UART. Дополнительный сигнальный пин K
служит для перевода модуля в режим AT-команд.
Для работы с модулем удобно использовать Troyka Shield. Если хотите избавиться от проводов — возьмите Troyka Slot Shield.
Некоторые платы Arduino прошиваются через пины 0 и 1 (Uno, Mega 2560, ADK и Iskra Mini). Перед прошивкой таких плат отключите Bluetooth-модуль от пинов RX и TX. Если необходимо одновременно работать с Bluetooth и подключать контроллер к компьютеру, подключите пины TX и RX к другим контактам управляющей платы.
Для примера подключим управляющие пины Bluetooth-модуля RX
и TX
— на 8
и 9
пин Arduino через Troyka Shield.
Прошейте управляющую платформу кодом ниже.
// библиотека для работы программного Serial #include <SoftwareSerial.h> // создаём объект для работы с программным Serial // и передаём ему пины TX и RX SoftwareSerial mySerial(8, 9); // serial-порт к которому подключён Bluetooth модуль #define HC05_SERIAL mySerial void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); while (!Serial) { // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе } Serial.println("Enter AT commands:"); HC05_SERIAL.begin(38400); } void loop() { // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера if (HC05_SERIAL.available()) Serial.write(HC05_SERIAL.read()); // если приходят данные из компьютера - отправим их в Wi-Fi модуль if (Serial.available()) HC05_SERIAL.write(Serial.read()); }
После включения Bluetooth HС-05 на нём замигает светодиод MODE
.
Bluetooth-модуль работает в двух режимах: «прозрачного UART» и управления AT-командами. В первом случае всё предельно просто — включаете модуль, подключаетесь к нему с компьютера или иного устройства и шлёте на этот порт данные. Второй режим предназначен для настройки модуля.
Чтобы получить доступ к настройке модуля, его необходимо перевести в режим приёма AT-команд. Для входа в этот режим можно воспользоваться двумя методами:
K
высокий уровень.
В этом варианте скорость обмена с модулем устанавливается в 38400
бод.
K
высокий уровень.В этом случае скорость обмена с модулем будет равна скорости, установленной настройками. По умолчанию — 9600 бод.
После успешного перехода в режим AT-команд, светодиод MODE
начнет мигать раз в две секунды.
Bluetooth-модуль может работать в 3-х режимах:
Сердцем модуля является чип BC417 от компании Cambridge Silicon Radio, который обеспечивает аппаратную поддержку стека Bluetooth 2.0 + EDR (Enhaced Data Rate), а также флэш-память ES29LV800DB-70WGI от Excel Semiconductor на 8 Мбит (1 МБ), хранящая прошивку и настройки.
1 группа
RX
микроконтроллера.2 группа
TX
микроконтроллера.Имя светодиода | Назначение |
---|---|
RX и TX | Мигают при обмене данными между Bluetooth и управляющим устройством. |
PAIR | Горит, если модуль сопряжён с другим устройством |
MODE | Мигает в зависимости от режима работы (горит/не горит): 64 мс/300 — нет сопряжения; 64 мс/2000 мс — сопряжён с другим устройством; 2000 мс/2000 мс — режим AT-команд. |
Необходима для сопряжения устройств с разными питающими напряжениями.
В нашем случае это может быть управляющее устройство Arduino с 5 вольтовой логикой и Bluetooth модуль HC-05
с 3,3 вольтовой логикой.