Оглавление:
- Шаг 1. Установите приложение Bluetooth
- Шаг 2: Настройте модуль Bluetooth - Часть 1 - Подключения и HC-06
- Шаг 3. Настройка модуля Bluetooth - Часть 2 - HC-05 и начальное тестирование
- Шаг 4: Подключите модуль Bluetooth к Arduino
Видео: Смартфон Arduino Coms / последовательный монитор через Bluetooth HC-05, HC-06: 4 шага (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Это невероятно полезно, если вы хотите протестировать свой набросок в реальной среде, вдали от компьютера. В результате ваш смартфон работает так же, как последовательный монитор Arduino на вашем ПК. Bluetooth-модули HC-05 и HC-06 доступны на ebay по цене около 3 фунтов стерлингов, и есть множество бесплатных приложений для смартфонов на выбор. Есть несколько ловушек, которых вы, надеюсь, избежите, следуя приведенным здесь примерам. Используемое здесь бесплатное приложение для смартфонов также может сохранять полученный текст в файл для дальнейшего использования. В ваших эскизах не требуется никаких изменений, поскольку используются те же серийные штифты.
Я впервые использовал это при тестировании устройства, которое измеряет расстояние, которое автомобили обгоняют меня на велосипеде. Я смог записать измерения расстояния, сделанные 30 раз в секунду, на свой телефон, где они были сохранены в файле. Позже я проанализировал это с помощью видео, которое я также записал с помощью спортивной камеры и моего приложения для отслеживания, которое показало мою скорость и местоположение.
Тебе понадобится:
- Ваш любимый Arduino (здесь используется Uno)
- Модуль Bluetooth HC-05 или HC-06
- Смартфон (здесь используется телефон Android) и бесплатное приложение Bluetooth.
Шаги:
- Установите бесплатное приложение Bluetooth
- Настроить модуль Bluetooth
- Подключите Bluetooth к Arduino
- Загрузить пример эскиза
- Тестовая система
Шаг 1. Установите приложение Bluetooth
Доступно множество приложений Bluetooth, многие из которых бесплатны. Я использую телефоны Android, но ожидаю, что то же самое и с другими системами. Я решил использовать BlueTerm 2, поскольку он также предоставляет возможность записывать полученные данные в файл. Я также нашел его очень простым в использовании. Так что зайдите в Google Play и запросите загрузку BlueTerm 2.
Когда у вас установлено приложение, вы можете подключаться к устройствам Bluetooth. Обратите внимание, что устройство Bluetooth сначала необходимо подключить к телефону, прежде чем его можно будет использовать в каких-либо приложениях:
Включите BlueTooth: я захожу в «Настройки»> «Bluetooth».
Телефон отобразит список уже сопряженных устройств, а через несколько секунд отобразит «Доступные устройства». Имя может первоначально отображаться как набор чисел, а не как имя устройства. Однако при его выборе отображается имя и запрашивается PIN-код, который обычно составляет 1234.
Теперь запустите BlueTerm 2. Нажмите «Настройки», затем нажмите «Подключить устройство» и выберите требуемый вариант. На этом этапе вы можете просто включить модуль HC-05 / HC-06 и проверить процесс сопряжения, если хотите (подключите отрицательный источник питания к земле и 5 В к Vcc).
Шаг 2: Настройте модуль Bluetooth - Часть 1 - Подключения и HC-06
Если вы хотите использовать имя и скорость передачи данных по умолчанию, вы можете пропустить этот шаг. Значения по умолчанию: имя: HC-05 или HC-06 и скорость передачи: 9600. Преимущество перенастройки модуля состоит в том, что можно выбрать более высокую скорость передачи, а имя можно установить на что-нибудь более легко распознаваемое.
Конфигурация требует отправки команд с ПК на модуль через последовательное соединение. Последовательный канал FDTI USB идеален, особенно если он имеет опцию 3,3 В. Однако платы Arduino имеют преобразователь USB в последовательный порт, и, следовательно, его также можно использовать, и это метод, показанный здесь. Для этого лучше всего отключить последовательный порт главного процессора Arduino, чтобы мы могли беспрепятственно обмениваться данными между ПК и модулем Bluetooth.
Скетч для отключения последовательного порта Arduino просто содержит инструкции:
pinMode (0, ВХОД):
pinMode (1, ВХОД);
в разделе настройки {}.
Прикрепил скетч NoSerial.ino. Создайте папку под названием «NoSerial» в папке с эскизами и добавьте к ней NoSerial.ino. Запустите Arduino IDE, перейдите в меню «Файл»> «Скетчбук»> «Эскизы»> «NoSerial», чтобы открыть скетч. Выберите тип платы и порт в меню «Инструменты» и нажмите кнопку загрузки.
Подключение для настройки
Загрузив скетч, мы можем подключить модуль Bluetooth к плате Arduino. Соединения Tx и Rx меняются местами по сравнению с тем, что мы сделаем позже, поскольку мы хотим связываться с портом ПК для последовательного монитора, а не с основным процессором Arduino. PC Tx подключен к Arduino Rx и наоборот.
Обратите внимание, что модули Bluetooth имеют уровни 3,3 В для Tx и Rx. Следовательно, при подключении к системам 5В для входа Bluetooth Rx следует использовать делитель напряжения. Выход Bluetooth 3,3 В Tx обычно хорошо определяется системами 5 В и, следовательно, может быть подключен напрямую.
Я обнаружил, что делитель напряжения с резисторами 3k3 и 6k8 работает со скоростью до 115200 бод.
Модули HC05 и HC06 имеют встроенные регуляторы напряжения и, следовательно, работают с Vcc, подключенным к 5 В.
Итак, подключайтесь:
- Резистор 3к3 к D0
- Резистор 6к8 на массу
- Подключите другие концы двух резисторов вместе и к контакту Rx на модуле Bluetooth.
- Подключите контакт Tx модуля Bluetooth к D1.
- Подключите контакт заземления модуля Bluetooth к GND Подключите контакт заземления модуля Bluetooth к GND
- Подключите контакт Vcc модуля Bluetooth к 5 В
Смотрите картинку для деталей.
Для настройки модуля его необходимо перевести в режим AT. Процедура отличается для модулей HC-05 и HC-06.
HC-06
Это самые простые. Они переходят в режим AT, если они не сопряжены с каким-либо устройством. Однако установка скорости будет такой же, как и обычная рабочая скорость. Обычно при поставке это 9600. Если это не сработает, попробуйте 38400 или другие распространенные ставки.
Подключите USB-кабель от ПК к Arduino и запустите Arduino IDE. Светодиод Bluetooth будет быстро мигать (~ 4 Гц) в режиме AT.
Откройте последовательный монитор Arduino через Инструменты> Последовательный монитор. Установите скорость 9600 и установите «Без окончания строки».
Теперь введите AT и нажмите Отправить. Если все работает, вы увидите на мониторе «ОК». Если ничего не возвращается, дважды проверьте проводку и попробуйте другие настройки скорости передачи данных.
Подтвердив правильность связи, мы можем изменить имя и установить собственную скорость передачи данных.
Введите AT + NAMEARDUINO и нажмите «Отправить». Это устанавливает имя модуля в ARDUINO. Можно использовать любой другой текст. Обратите внимание на отсутствие пробелов в команде.
Ответ должен быть OKsetname. Это добавляется к отправленному ранее ОК
Теперь введите AT + BAUD8. Это устанавливает скорость 115200 бод.
Ответ должен быть OK115200. Если необходимо отправить еще какие-либо AT-команды, настройку скорости последовательного монитора необходимо изменить на 115200.
Могут быть установлены другие ставки. Baud4 - 9600, Baud5 - 19200, Baud6 - 38400, Baud7 - 57600. Существуют настройки выше, чем 115200, но сначала убедитесь, что ваш ПК и Arduino могут их принять (у меня не может превышать 128000). Примечание. Если вы установите слишком высокую скорость, вы не сможете связаться с ней, чтобы установить ее обратно !!!
Шаг 3. Настройка модуля Bluetooth - Часть 2 - HC-05 и начальное тестирование
HC-05
У них есть сложность, заключающаяся в том, что их нужно вручную установить в режим AT. В руководстве говорится, что если режим AT запускается после включения питания, настройка скорости передачи будет продолжаться со скоростью, уже установленной для нормальной связи. Я не мог заставить это работать! Однако, если при включении установлен режим AT, скорость передачи данных устанавливается на 38400. Следовательно, этот последний вариант является наиболее надежным, поскольку мы можем быть уверены, что скорость составляет 38400 бод.
Откройте последовательный монитор Arduino через Инструменты> Последовательный монитор. Установите скорость 38400 и установите «Возврат каретки».
Следующим шагом является перевод платы в режим AT. Именно здесь возникает большинство проблем из-за различий в несущих платах.
Основной процесс состоит в том, чтобы удерживать штифт «Key» (контакт 34) на низком уровне в течение нескольких секунд при включении питания.
На моей плате есть кнопка для этого (два дополнительных контакта - EN и STATE). Отсоедините провод Vcc от модуля Bluetooth. Затем, удерживая кнопку нажатой, повторно подайте 5В на Vcc. Светодиод должен мигать с интервалом примерно 2 секунды. Кнопку держу до второй вспышки.
На некоторых платах ключевой штифт является одним из 6 контактов модуля. Если да, то при включении подключите его к напряжению 3,3 В.
На некоторых платах нет ни того, ни другого, и пользователям приходилось припаять кнопку между выводом ключа (34) и 3,3 В (вывод 12). См. Прилагаемое руководство.
Когда светодиод медленно мигает, мы можем проверить связь. Введите AT и нажмите Отправить. Ответ должен быть ОК. Я обнаружил, что этот ответ постоянно повторяется, пока я не отправлю пустую строку - просто нажмите «Отправить». Если вы получили ERROR: (0), отправьте пустую строку, а затем отправьте AT.
Теперь задайте новое имя. Введите AT + NAME = ARDUINO. Ответ должен быть ОК. Однако в моем случае модуль вышел из режима AT (светодиод быстро мигает). Я не смог найти причину, и это также произошло при использовании последовательного соединения FDTI, а не Arduino. Я вернулся в режим AT, как и раньше: отключил провод питания от платы и снова подключился, пока была нажата кнопка. Последующие проверки показали, что название было изменено.
Затем установите Baud. Введите AT + UART = 115200, 1, 0 Ответ должен быть ОК. Однако иногда он выскакивал из режима AT, как указано выше.
Настройку UART можно проверить с помощью команды: AT + UART? Ответ должен быть ОК и + UART = 115200, 1, 0
Начальный тест
На этом этапе у нас есть ПК с последовательным подключением к модулю Bluetooth. Таким образом, первоначальный необязательный тест можно выполнить, запустив приложение для смартфона BlueTerm 2 (при условии, что модуль уже сопряжен с телефоном). Подключитесь к ARDUINO. Установите последовательный монитор Arduino на 115200 бод. Введите «Hello World» и нажмите «Отправить». Теперь это должно появиться в BlueTerm 2. Теперь введите «Hello to you» в BlueTerm 2. Теперь это должно появиться в Serial Monitor.
Шаг 4: Подключите модуль Bluetooth к Arduino
Сначала нам нужно загрузить наш тестовый скетч Arduino. Прикрепленный BTtest.ino отправляет число каждые 0,5 секунды, а затем увеличивает его, переходя к 0 с 255. Создайте папку с именем BTtest в папке с эскизами и добавьте BTtest.ino
Последовательное соединение Arduino также используется для загрузки эскизов. Поэтому два провода к модулю Bluetooth необходимо отсоединить, чтобы он не мешал.
После загрузки скетча переподключите модуль Bluetooth. Однако обратите внимание, что Tx и Rx на Arduino необходимо поменять местами по сравнению с более ранней настройкой конфигурации.
Итак, подключайтесь:
- Резистор 3к3 к D1
- Резистор 6к8 на массу
- Подключите другие концы двух резисторов вместе и к контакту Rx на модуле Bluetooth.
- Подключите контакт Tx модуля Bluetooth к D0.
- Подключите контакт заземления модуля Bluetooth к GND Подключите контакт заземления модуля Bluetooth к GND
- Подключите контакт Vcc модуля Bluetooth к 5 В
Смотрите картинку для деталей.
Теперь включите Arduino. Его не нужно подключать к ПК.
Подключите плату к смартфону, если он еще не подключен (см. Раздел «Установка приложения Bluetooth» выше). Затем запустите BlueTerm 2, нажмите «Настройки», затем нажмите «Подключить устройство» и выберите ARDUINO. Вы должны увидеть, как экран заполняется числами от 0 до 255.
Я надеюсь, что вы найдете это таким же полезным, как и я.
Майк
Финалист конкурса Bluetooth Challenge
Рекомендуемые:
UChip - последовательный порт через ИК-порт !: 4 шага
UChip - Serial Over IR!: Беспроводная связь стала ключевой функцией в наших проектах в настоящее время, и, говоря о беспроводной связи, первое, что мне приходит в голову, это Wi-Fi или BT, но обработка протоколов связи Wi-Fi или BT - это не так. простая задача и требует много
Чтение и запись через последовательный порт с Raspberry Pi с использованием Wemos: 5 шагов
Чтение и запись через последовательный порт с помощью Raspberry Pi с использованием Wemos: обмен данными с Raspberry Pi с помощью Wemos D1 mini R2
Использование ОЗУ ПК для Arduino через последовательный порт: 7 шагов
Использование ОЗУ ПК для Arduino через последовательный порт: мой друг вдохновил меня своим небольшим проектом Arduino. В этом небольшом проекте задействована Arduino UNO R3, которая считывает данные программой, созданной в среде Arduino IDE, и отправляет их в последовательный порт (USB-порт) программой C #, созданной в Visual Studio. Как это
Последовательный порт через Wi-Fi: 10 шагов
Последовательный порт через Wi-Fi: обмен данными между электронными устройствами неизбежен во многих электронных проектах и дает много преимуществ вашему проекту, например, подключение микроконтроллера к ПК и мониторинг данных на большом цветном дисплее вместо маленького монохромного
Последовательный канал передачи данных RF {через USB}: 3 шага
Последовательный РЧ-канал {через USB}: TECGRAF DOC Как передавать данные с помощью дешевого РЧ-модуля через USB. Схема получает энергию от порта USB (может обеспечивать 100 мА, а при некотором программировании вы можете достичь 500 мА). Список материалов: 1 - Одна пара радиочастотных модулей (например, Laipac RLP / TL