Arduino считывает состояние подключения устройства hc-05

Здравствуйте, я хочу, чтобы Arduino получал статус bluetooth hc 05, если он подключается к устройству или нет. Я пытаюсь сам и ищу на веб-сайте в Интернете, но я не могу найти полезные вещи.

, 👍0

Обсуждение

Можете ли вы показать нам код, который вы написали до сих пор?, @VE7JRO

если (Serial1.доступно()) { Serial1.print("AT+BIND"); Serial.println(Serial1.print("AT+BIND")); }, @user41370

Это один из кодов кодов, которые я пробовал. Остальные коды могут быть такими же, но с другим порядком..., @user41370


2 ответа


1

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

AT+BIND? показывает, с каким устройством вы в настоящее время сопряжены.

,

Если я подключу контакт PIO9, может быть, он запишется в serial.read(), если он подключен или нет ...?, @user41370

Нет, это не так. Когда вы соединяете, этот светодиод включается, поэтому, если вы немного припаяете, вы можете получить провод оттуда и подключить этот провод к цифровому входному контакту Arduino. Когда Bluetooth сопряжен, этот контакт становится ВЫСОКИМ, а если он не подключен, этот контакт становится НИЗКИМ., @qqq

Хорошо, я отредактировал пост, проверьте еще раз, @qqq


0

Различные адаптеры Bluetooth (использующие модуль HC-05) передают разные сигналы, помимо Rx и Tx. Большинство из них выводят «ключевой» ввод, который переводит модуль в командный режим, в котором осуществляется последовательная связь между внешними выводами и самим модулем — «AT» команды & запросы к прошивке модуля. Когда модуль не находится в командном режиме, прошивка просто передает последовательные данные через радио Bluetooth, игнорируя содержимое. Некоторые из них предоставляют светодиодный индикатор или сигнал состояния , который можно прочитать (или наблюдать за светодиодным индикатором) , чтобы узнать, являются ли устройства сопряженными (общающиеся) или непарными (в командном режиме).

В некоторых случаях это простой логический сигнал; на других это прямоугольная волна от 1/2 до 1 Гц, что означает, что ваш код должен отслеживать сигнал, чтобы знать, является ли он статичным (обычно высоким при сопряжении) или переключением (для несопряжения/ожидания сопряжения).

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

,