В 09 Bluetooth соединение
Обновлено: 21.11.2024
В ряде устройств используется система-на-чипе CC2540/CC2541 от Texas Instruments в качестве крошечного интерфейса Bluetooth с низким энергопотреблением (BLE) для интеграции приложений в Интернет вещей (IoT). CC2541 совместим как с платформами Android, так и с iOS, и может использоваться для обмена данными между смартфоном и платой Arduino (см. мои предыдущие посты по этому поводу: здесь). В этом уроке я расскажу о вариантах платы CC2541 BLE, таких как AT-09, MLT-BT05, HM-10, JDY-08 и т. д. Я буду использовать либо конкретное имя модуля, либо защищенное «CC2541-based module» для ссылки на модули BLE. Общий процесс взаимодействия с каждым модулем почти одинаков, однако некоторые особенности определяют, как каждый из них реагирует и работает в зависимости от данной прошивки.
Я буду использовать приложение BLExAR для iOS для связи с модулями CC2541. Любое приложение для iOS или Android, поддерживающее связь через BLE, можно использовать для обмена данными между собой, поэтому скачайте приложение, прежде чем продолжить.
Список деталей и проводка
Для выполнения этого руководства потребуется только плата Arduino и модуль BLE CC2541. Ниже приведен список деталей, которые можно приобрести, и где их найти, а также несколько периферийных компонентов, которые будут использоваться.
Модуль Bluetooth с низким энергопотреблением CC2541 — $8,00 [Наш магазин]
Плата Arduino Uno — $11,00 [Наш магазин]
Мини-макет — 3,00 долл. США [Наш магазин]
Проводные перемычки — 5,99 долларов США (120 шт.) [Amazon]
Батарея LiPo 3,7 В, 720 мА·ч — $11,97 (5 шт.) [Amazon]
Светодиоды – 10,99 долл. США (600 шт.) [Amazon]
Набор резисторов — 12,99 долларов США (1280 шт.) [Amazon]
Комплект Raspberry Pi 4 — 99,99 долларов США [Amazon]
Модуль CC2541 может обмениваться данными с платой Arduino, используя следующую схему подключения:
Далее мы рассмотрим функции, доступные данному модулю CC2541 BLE для изменения таких настроек, как имя устройства, состояние сна и идентификатор характеристики устройства.
Меню справки CC2541
Существует несколько спецификаций для различных модулей на базе микросхемы Bluetooth CC2541. Некоторые из них перечислены ниже со ссылками:
В каждом техническом описании указаны электрические характеристики и описание прошивки для каждого модуля. Каждый упомянутый выше модуль CC254x использует протокол «AT-Command» для взаимодействия и изменения различных параметров, специфичных для каждого модуля. Например, мы можем изменить имя, отображаемое на смартфоне во время сканирования BLE, отправив на модуль CC254x следующую команду:
Чтобы просмотреть все возможные команды, следует использовать команду «AT+HELP», которая выводит следующий список возможных команд и настроек:
Код для воспроизведения этой конкретной распечатки с помощью AT-09 или MLT-BT05 приведен ниже.
ПРИМЕЧАНИЕ. Если используется модуль HM-10, может потребоваться немного другой протокол. Например, справка будет распечатана как «AT+HELP?» вместо "AT+HELP" - для модуля, используемого на этом сайте, достаточно приведенного выше кода.
Распечатка меню справки очень полезна, потому что она говорит нам, какие команды что делают. Если мы хотим узнать адрес Bluetooth нашего модуля, чтобы мы могли напрямую искать наше уникальное устройство, мы можем указать модулю BLE распечатать адрес устройства, используя:
И мы должны увидеть распечатку, похожую на:
Это 24-битный (шесть шестнадцатеричных цифр) адрес модуля BLE. В следующем разделе я опишу различные методы связи с CC254x для чтения и настройки различных параметров модулей Bluetooth с низким энергопотреблением.
Настройка параметров CC254x с помощью кода Arduino
Есть несколько изменений, которые можно внести в используемые здесь модули CC254x. Мы можем изменить имя модуля, например, я решил назвать свой в честь приложения, используемого с помощью AT-команды: «AT+NAMEBLExAR», о которой упоминалось выше. Мы также можем получить адрес Bluetooth с помощью упомянутой выше команды «AT+LADDR» — и мы можем настроить ряд других команд, используя аналогичные протоколы.
Приведенный ниже код выполняет следующую последовательность команд:
Распечатать все команды AT+
Переименуйте модуль BLE в «BLExAR»
Распечатать адрес BLE
Распечатать BLE UUID, используемый для связи
Распечатать версию прошивки устройства
Сбросьте модуль Bluetooth, чтобы изменения вступили в силу
Важно, чтобы модуль BLE еще НЕ был подключен. Команды AT+ могут выполняться только при отсутствии соединения.
Пример распечатки приведенного выше кода также показан ниже:
В следующем разделе приложение BLExAR будет использоваться для подключения к модулю CC254x для отправки сообщений со смартфона на плату Arduino и обратно.
Связь между Arduino и смартфоном
Структура для связи между платой Arduino и смартфоном основана на методах, показанных выше, в частности, с CC254x и приложением для смартфона BLExAR.
Следующий код необходимо загрузить на плату Arduino:
После загрузки кода необходимо загрузить и открыть приложение BLExAR. Меню будет выглядеть примерно так, как показано ниже:
Экран приложения BLExAR с доступными устройствами BLE — выберите BLExAR и дождитесь подключения
После подключения смартфона и модуля CC254x через Bluetooth должно появиться главное меню приложения. Выберите вкладку «Консоль» в нижней части приложения и щелкните область под названием «Отправить сообщение». Введите сообщение и нажмите «вернуться», чтобы отправить сообщение. В результате должно получиться то же сообщение, которое вы отправили с пометкой «Msg:» перед ним.
Теперь у нас есть подключенный поток между смартфоном и платой Arduino!
Если бы я отправил «привет!» с доски сообщений, в окне консоли мы получим следующее:
Сообщение со смартфона на CC254x и возвращенное подтверждение от Arduino -> CC254x -> Смартфон
Заключение и продолжение
Это руководство представляет собой введение в Bluetooth Low Energy как интерфейс между Arduino и смартфоном. Модули CC254x широко используются и недороги, что делает их отличными для приложений беспроводной связи на уровне производителя с Arduino. В этом уроке я объяснил, как использовать Arduino для связи и изучения чипа CC254x, а также работы с прошивкой модуля MLT-BT05. MLT-BT05 управлялся сначала с помощью команд AT+, а затем с помощью библиотеки SoftwareSerial() на Arduino. Мы можем изменить свойства модуля BLE, такие как его имя, идентификатор характеристики и состояние сна; а также возможность считывать версию прошивки, имя и адрес Bluetooth - все это может помочь пользователю персонализировать и понять данный модуль гораздо больше. Наконец, приложение BLExAR использовалось для связи между платой Arduino и смартфоном, где расширенные приложения могут начать формироваться с использованием основ, изложенных в этом руководстве. В других руководствах по BLExAR исследовались приложения для управления, сбора данных и связи (нажмите здесь, чтобы изучить проекты BLExAR). В следующих руководствах будут рассмотрены другие проекты с использованием приложения BLExAR и модулей CC254x.
Основы: Модуль Project 028c Bluetooth 4.0 AT-09 BLE
Основы: проект 028c
Название проекта: Bluetooth 4.0 AT-09 BLE модуль
Теги: Arduino, Arduino Uno, модуль Bluetooth, Bluetooth 4.0, Bluetooth Low Energy, Bluetooth Classic, Bluetooth 4.0 Low Energy, Wibree, BLE. BR /EDR, базовая/повышенная скорость передачи данных, модуль HM-10 BLE, модуль AT-09 BLE, команды AT, TI CC2540, CC2541 , iBeacon, CC41-A, BLE-CC41-A
В этом проекте вам понадобились следующие части:
1.Aruduino Uno R3 (вы также можете использовать другую версию Arduino)
2.Arduino IDE (можно скачать отсюда)
<р>5. Модуль Bluetooth 4.0 AT-09 BLE 1 шт
<р>6. Резистор 2 шт (1шт 1кОм и 1шт 2кОм)
<р>8. Мини-кабель USB 1 шт. (опционально)
Мы узнаем о модуле Bluetooth 4.0 AT-09 BLE, о том, как подключить его к плате Arduino, как общаться с ним с помощью AT-команд.
Знакомство с преобразователем USB в TTL
Подробнее о них можно прочитать здесь.
Знакомство с Bluetooth-модулем BLE
Bluetooth [WikiPedia] — это стандарт беспроводной технологии для обмена данными на коротких расстояниях (с использованием коротковолновых радиоволн УВЧ в диапазоне ISM от 2,4 до 2,485 ГГц) со стационарных и мобильных устройств и построения персональных сетей (PAN). . Диапазон составляет примерно 10 метров (30 футов).
Bluetooth Low Energy (Bluetooth LE, BLE, ранее продаваемый как Bluetooth Smart) – это технология беспроводной персональной сети, разработанная и продаваемая Bluetooth Special Interest Group (Bluetooth SIG) и нацеленная на новые приложения в здравоохранении, фитнесе, радиомаяках, безопасности и индустрии домашних развлечений. По сравнению с классическим Bluetooth, технология Bluetooth с низким энергопотреблением предназначена для значительного снижения энергопотребления и затрат при сохранении того же диапазона связи.
Мобильные операционные системы, включая iOS, Android, Windows Phone и BlackBerry, а также macOS, Linux, Windows 8 и Windows 10, изначально поддерживают Bluetooth Low Energy. Bluetooth SIG прогнозирует, что к 2018 году более 90 % смартфонов с поддержкой Bluetooth будут поддерживать Bluetooth Low Energy.
Bluetooth Low Energy не имеет обратной совместимости с предыдущим (часто называемым «классическим») протоколом Bluetooth. Спецификация Bluetooth 4.0 позволяет устройствам реализовывать одну или обе системы LE и Classic.
Bluetooth Low Energy использует те же радиочастоты 2,4 ГГц, что и классический Bluetooth, что позволяет двухрежимным устройствам использовать одну радиоантенну. Однако LE использует более простую систему модуляции.
Существующие мобильные устройства обычно выпускаются с аппаратной и программной поддержкой как классической Bluetooth, так и Bluetooth с низким энергопотреблением.
- iOS 5 и более поздние версии. Apple iOS поддерживает BLE с момента появления iPhone 4S.
- Windows Phone 8.1
- Windows 8 и более поздние версии – поддерживает Bluetooth 4.0 в качестве устройства с двумя режимами работы (классический Bluetooth и Bluetooth с низким энергопотреблением).
- Android 4.3 и более поздние версии могут поддерживать BLE. Не все устройства Android 4.3 поддерживают BLE, поддерживается только классический Bluetooth.
- Блэкберри 10
- Linux 3.4 и более поздние версии до BlueZ 5.0. В Linux стек протоколов BlueZ также получил обновление для поддержки BLE. Обновление не означает, что все устройства Linux теперь будут поддерживать BLE.
- Унисон ОС 5.2
Технология Bluetooth с низким энергопотреблением работает в том же диапазоне частот (диапазон ISM 2,400–2,4835 ГГц), что и классическая технология Bluetooth, но использует другой набор каналов. Вместо классического Bluetooth 79 каналов по 1 МГц Bluetooth Low Energy имеет 40 каналов по 2 МГц. Внутри канала данные передаются с использованием модуляции со сдвигом частоты по Гауссу, аналогичной схеме базовой скорости классического Bluetooth. Битрейт составляет 1 Мбит/с, а максимальная мощность передачи – 10 мВт.
BLE обеспечивает очень быстрое сопряжение и повторное подключение. Для этого требуется 6 мс, а классический Bluetooth — до 6 секунд! Старые чипы BT будут слишком медленными, поэтому не смогут поддерживать BLE 6 мс.
Bluetooth с низким энергопотреблением ранее назывался Bluetooth Ultra Low Power, а в начале 2001 года — WiBree. «Wi» для беспроводной связи и «Bree» для Бри во «Властелине колец». Бри был городом, где пересекались две главные дороги, Грейт-Ист-Роуд и Гринуэй. Bluetooth Low Energy — это технология «всегда выключен». Он передает короткие пакеты данных и не может поддерживать потоковое аудио. Он идеально подходит для таких устройств, как пульсометр, мышь или клавиатура.
Bluetooth с низким энергопотреблением является частью Bluetooth 4.0. Устройство с двойным режимом, такое как смартфон, может одновременно поддерживать классический Bluetooth (BT) и Bluetooth с низким энергопотреблением. Ваш смартфон может быть подключен к гарнитуре Bluetooth 2.1 и транслировать звук, и в то же время он может быть подключен к пульсометру или другим датчикам на вашем велосипеде.
Однорежимные устройства, такие как кардиопередатчик, будут работать в периферийном режиме Bluetooth с низким энергопотреблением (BLE), а смартфон будет работать в центральном режиме. В классическом Bluetooth это все еще называется master и slave.
В новой спецификации BT 4.1 у нас есть концентратор. Такой хаб вы найдете в смарт-часах для спорта. Часы будут работать в центральном режиме по направлению к пульсометру и другим датчикам на велосипеде и в периферийном режиме по направлению к смартфону. Профессионалы не будут носить тяжелый смартфон во время езды на велосипеде, а будут собирать данные в умные часы.Часы будут работать в периферийном режиме во время передачи собранных данных на смартфон. Часто данные пересылаются на планшет или ноутбук.
BLE 4.1 по сравнению с BLE 4.2: новые функции и преимущества
Bluetooth 4.2 — это важное обновление базовой спецификации Bluetooth, включающее множество новых функций и преимуществ, разработанных специально для технологии Bluetooth Smart, а также преимущества при сравнении Bluetooth 4.2 и Bluetooth 4.1 (также известного как Bluetooth Low Energy или Bluetooth Smart).< /p>
Bluetooth 4.2 представляет несколько новых функций, которые повышают скорость и конфиденциальность по сравнению с Bluetooth 4.1, но главное преимущество заключается в том, что чипы позволяют использовать Bluetooth по протоколу Интернета версии 6 (IPv6) для прямого доступа в Интернет. При этом возможности расширяются за пределы возможностей текущих конструкций и рынков и включают в себя любой тип устройства Bluetooth, требующий скорости и безопасности в Интернете вещей.
Зачем использовать BLE 4.2 вместо BLE 4.1? Bluetooth SIG рекомендует внедрять Bluetooth 4.2 во все новые проекты и требует того же процесса квалификации, что и все другие проекты Bluetooth. Устройства, использующие Bluetooth Smart, будут обратно совместимы с устройствами Bluetooth 4.0 или 4.1, которые также реализуют функции энергосбережения. Устройства, реализующие базовую конфигурацию (BR/EDR), будут обратно совместимы со всеми принятыми версиями Bluetooth Core, начиная с 1.1, которые также реализуют Bluetooth BR/EDR.
Основные функции Bluetooth 4.2, недоступные в Bluetooth 4.1:
- IP с низким энергопотреблением (IPv6/6LoWPAN)
- Интеллектуальные интернет-шлюзы Bluetooth (GATT)
Благодаря BLE 4.2 датчики Bluetooth Smart могут передавать данные через Интернет.
- Конфиденциальность LE 1.2
- Безопасные соединения LE
Благодаря новым, более энергоэффективным и высокозащищенным функциям BLE 4.2 предоставляет дополнительные преимущества, позволяющие только доверенным владельцам отслеживать местоположение устройств и надежно связывать устройства.
По сравнению с предыдущими версиями BLE 4.2 обеспечивает на 250 % более быструю и надежную передачу данных по воздуху и в 10 раз больше пропускной способности пакетов.
Проектирование с помощью BLE 4.2 не требует обязательных функций, но, как и в предыдущих версиях, производители должны реализовать все примененные исправления, чтобы соответствовать спецификациям BLE 4.2.
BLE-модули
Устройства BLE могут взаимодействовать друг с другом двумя способами:
- Вещатель + Наблюдатель
- Центральный + периферийный
В Broadcaster + Observer нет стандартного соединения, Broadcaster, обычно какой-то датчик, периодически отправляет сигналы (рекламные пакеты), которые прослушивает Observer. Вещатель обычно не знает, слушает что-то или нет.
Сценарий "Центральный + периферийный" больше похож (но не совсем такой) на классическое соединение. Когда центральное (ведущее) устройство находит периферийное (ведомое) устройство, к которому оно хочет подключиться, инициирует соединение и берет на себя роль ведущего, управляя соединением и таймингами.
Существует несколько типов модулей BLE: HM-10, AT-09, BT05-A mini, HT-11 и так далее.
Достаточно много модулей BLE используют микросхему Texas Instruments (TI) CC2541. Это большой черный квадрат в середине модуля, как видно на фото выше. Интернет-ресурсы предполагают, что можно использовать аналогичный чип CC2540. Этот чип запрограммирован соответствующей прошивкой, а затем реализует логические уровни, необходимые для протокола BLE. Чип работает при напряжении от 2 В до 3,6 В.
Для работы микросхемы CC2541 необходимы пассивные компоненты, такие как генераторы, конденсаторы, резисторы и антенна. Они предоставляются дочерней платой. Дочерняя плата припаяна к основной по периметру с помощью дугообразных штифтов для пайки.
Дочерняя плата - модуль HM-10 производства китайской компании JNHuaMao Technology Company, отсюда и инициалы HM. JNHuaMao производит различные виды модулей Bluetooth. В данном случае они спроектировали плату и написали прошивку для чипа TI, чтобы реализовать необходимую функциональность. Прошивка определяет интерфейс, который будет использоваться для управления модулем через последовательное соединение.
Другая китайская компания «Bolutek Technology Co., Ltd» решила сделать аналогичную плату. Их модель называется CC41-A (далее CC41). Он использует тот же чип TI и похожую конструкцию платы (оба основаны на эталонном дизайне чипа TI). Одно отличие, которое легко заметить, заключается в том, что CC41 имеет только один осциллятор, а HM-10 — два. Это нормально, так как один из генераторов является необязательным в соответствии со спецификациями CC2541.
Как видно, дочерние платы очень похожи. Пины тоже совместимы. Независимо от того, скопировал ли Bolutek дизайн платы или сделал свой собственный, многие продавцы продавали модуль CC41, используя название модуля HM-10.Это привело к путанице и заставило JNHuaMao начать кампанию против клонов с различными обвинениями. Суть в том, что эти две дочерние платы имеют один и тот же чип TI, очень похожую компоновку платы, но разные прошивки.
Что касается напряжения, то дочерние платы не имеют регуляторов напряжения и рассчитаны на питание 3,3 В в соответствии со спецификациями чипа. Точно так же последовательная логика ожидает уровни TTL 3,3 В.
Вы можете найти спецификацию модуля AT-09 BLE (CC41-A) здесь.
Вы также можете определить свой модуль BLE, загрузив этот скетч в Arduino Uno. Схема подключения такая же, как и при использовании платы Arduino Uno (см. ниже). Дополнительную информацию см. здесь.
Сигналы и подключения модуля bluetooth 4.0 AT-09 BLE
AT-09 — это модуль, содержащий микросхему BLE (CC2540/CC2541). Этот модуль позволяет выполнять последовательную связь с чипом BLE благодаря контактам Rx и Tx. Этот модуль также очень похож на модуль HM-10 и также совместим с ним.
- Протокол Bluetooth: спецификация Bluetooth V4.0 BLE, без ограничений по байтам для отправки и получения, связь на сверхдальнем расстоянии 110 м в открытой среде и iphone4s.
- Рабочая частота: диапазон ISM 2,4 ГГц. Метод модуляции: GFSK (частотная манипуляция по Гауссу).
- Чувствительность: ≤-84 дБм при 0,1% BER
- Скорость передачи: асинхронная: 6 кбит/с синхронная: 6 кбит/с
- Функции безопасности: аутентификация и шифрование
- Службы поддержки: центральный и периферийный UUID FFE0, FFE1
- Потребляемая мощность: в автоматическом спящем режиме ток в режиме ожидания составляет 400 мкА~1,5 мА и 8,5 мА во время передачи.
- Электропитание: +3,3 В постоянного тока, 50 мА
- Внешний размер: 26,9 мм x 13 мм x 2,2 мм.
- Сертификация Bluetooth: ROHS REACH BQB
- VCC: питание +3,3 В
- GND: контакт заземления.
- TXD: передача последовательных данных
- RXD: получение последовательных данных
- СОСТОЯНИЕ: позволяет узнать текущее состояние подключения модуля. Штырь STATE обычно имеет НИЗКИЙ уровень и переходит в ВЫСОКИЙ, когда устройство подключено.
- EN (способный): позволяет включить или отключить модуль.
Коммутационная плата: ZS-040
Чип BLE: CC2540 или CC2541 (у нас был CC2541)
Имя Bluetooth: Изначально у нас было HC-05, но после AT-команды "AT+DEFAULT" оно было автоматически изменено на CC41-A. Конечно, вы можете задать любое имя для вашего модуля.
Командный режим AT
Командный режим AT позволяет опрашивать модуль Bluetooth и изменять некоторые настройки; такие вещи, как имя, скорость передачи данных, независимо от того, работает ли он в ведомом или ведущем режиме.
- Команды CC-41A нечувствительны к регистру, поэтому работают как "AT", так и "at".
- Команды CC-41A необходимо завершать с помощью \r \n
- Команды CC-41A не поддерживают ‘?’
- CC-41A по умолчанию загружается в подчиненный режим (роль0)
Прошивка Болутек
V3.0.6, Bluetooth V4.0 LE
Вы можете найти список AT-команд для SLAVE здесь и список AT-команд для MASTER здесь. Вы также можете получить его с помощью AT-команды - "AT+HELP". Описание команд вы можете найти здесь.
Настройки по умолчанию: скорость 9600 бод, PIN-код - 000000.
К сожалению, AT-команды HM-10 отличаются от AT-команд AT-09 (CC41-A). В частности, CC41-A менее документирован, а набор команд и доступная функциональность беднее.
Основные отличия включают:
- С учетом регистра.
- Завершение в конце строки, при этом HM-10 не ожидает перехода на новую строку или возврата каретки, а CC41 ожидает и того, и другого.
- Разные имена команд, например VERS или VERSION.
- Другой синтаксис команд, например использование "?" для запросов или отсутствие использования каких-либо специальных символов.
- и т. д.
Подключение к модулю Bluetooth 4.0 AT-09 BLE (CC41-A) через телефон
Если вы раньше доставали свой телефон, чтобы проверить, какой модуль BLE у вас есть, возможно, вы пытались связать его, чтобы посмотреть, что произойдет, и были удивлены, когда он отклонил ваше соединение. Возможно, вы подумали, что это не сработало, и очень расстроились. Угадайте, что? Ваш модуль Bluetooth 4.0 AT-09 BLE (CC41-A) работает!
Вам просто нужно приложение для подключения к нему.
Вы можете загрузить приложения для Android из Google Play:
- B-BLE (сканирование BLE4.0)
- Сканер BLE
- Терминал HM BLE
- Инструменты Bluetooth spp pro
- Синяя кепка
- BLE-сканер
- BLE поблизости
- Поиск BLE
Построить схему
Существует несколько распространенных способов подключения модуля Bluetooth 4.0 AT-09 BLE к ПК/ноутбуку:
<р>1.Использование преобразователя USB в TTL с выводом DTR или без него<р>2. Использование платы Arduino Uno
Пошаговая инструкция
<р>1. Использование преобразователя USB в TTL с выводом DTR или без негоДля использования этого преобразователя USB в UART вам потребуется программный инструмент. Большинство инструментов разработки, таких как MikroC Pro, Arduino имеют UART Tool вместе с ним. Вы можете использовать различные программные инструменты: Terminal, USR-TCP232-Test V1.4, AiThinker_Serial_Tool_V1.2.3, coolterm, sscom3.2, KiTTY, putty, tera term, HMComAssistant и так далее. Мы рекомендуем вам использовать AiThinker_Serial_Tool_V1.2.3 или sscom3.2, так как вы можете сохранять свои AT-команды и очень просты в использовании.
<р>2. Использование платы Arduino UnoМы узнали о модуле Bluetooth 4.0 AT-09 BLE, о том, как подключить его к плате Arduino, как общаться с ним с помощью AT-команд.
Мэти
Обновлено: 15 ноября 2020 г.
Как подключить модуль Bluetooth Low Energy (BLE) AT-09 / HM-10 к плате Arduino и как отправлять данные между модулем BLE и микроконтроллером Arduino.
Для связи с мобильным телефоном BlueCARd использует Bluetooth с низким энергопотреблением (BLE). Arduino Nano не имеет встроенного модуля Bluetooth, поэтому необходим внешний модуль. Я использовал для BlueCARd модуль AT-09, который полностью совместим с модулем HM-10.
Необходимые элементы
Для этого урока нам также понадобится:
1 модуль Bluetooth (AT-09 или HM-10)
кабели с 7-контактными разъемами
1 резистор 2k (альтернатива 2 резистора 1k последовательно)
дополнительные элементы для этого руководства:
Краткое введение в Bluetooth-модуль AT-09/HM-10 BLE
Задняя сторона AT-09/HM-10 выглядит так:
Мы будем использовать 5 из шести контактов для проекта BlueCARd.
Модуль питается через VCC и GND. Для питания платы мы будем использовать выход 5 В повышающего преобразователя постоянного тока.
контакты RXD и TXD используются для последовательной связи с платой Arduino.
С контактом TXD проблем нет, потому что он просто выводит на Arduino, а 3,3 В достаточно для запуска цифровых контактов платы Arduino.< /p>
Пин-код состояния используется для определения того, подключено ли устройство Bluetooth. Этот пин-код будет использоваться в последующих руководствах для отключения питания автомобиля при потере связи с телефоном Android.
ОБНОВЛЕНИЕ: я изменил код, чтобы вместо PIN-кода STATE использовался пульс от телефона Android. Штырь STATE больше не нужен!
Подключение модуля Bluetooth
Я переставил элементы на макетной плате так, чтобы было достаточно места для подключения модуля Bluetooth:
Это та же самая схема, что и в предыдущем уроке. Все, что я сделал, это переставил светодиод на левую сторону, чтобы у меня было достаточно места для модуля BLE с правой стороны.
Теперь подключите модуль Bluetooth к плате следующим образом:
КонтактSTATE модуля BLE в F25 на макетной плате
EN вывод модуля BLE в F30 на макетной плате
Теперь соедините контакт VCC модуля Bluetooth с контактами (+) на макетной плате, а контакт GND — с контактами (-) на макетной плате.< /p>
В качестве альтернативы этому руководству вы можете подключить модуль Bluetooth непосредственно к плате Arduino Nano. Для этого подключите контакт VCC модуля Bluetooth к разъему 3.3V или контакт 5V на плате Arduino Nano и контакт GND к одному из контактов GND на плате Arduino.
Теперь включите питание (в зависимости от выбранного вами способа питания модуля BLE, либо подключите источник питания к повышающему преобразователю постоянного тока, либо подключите USB-кабель к микроконтроллеру Arduino Nano)
Светодиод на модуле Bluetooth должен мигать.
Теперь вы сможете найти модуль Bluetooth на своем телефоне. Вам не нужно связывать устройство BLE с телефоном. Преимущество BLE в том, что для работы не требуется сопряжение.
Подключение модуля Bluetooth к микроконтроллеру Arduino Nano
До сих пор мы подключали модуль Bluetooth к макетной плате и подключали его к источнику питания. Чтобы позволить Arduino взаимодействовать с модулем Bluetooth, мы должны подключить контакты TXD и RXD модуля Bluetooth к некоторым цифровым контактам Arduino (также СОСТОЯНИЕ). Для этого мы можем использовать любые цифровые выводы >= D2 на плате Arduino Nano.
Для вывода RXD мы должны использовать делитель напряжения, как показано ниже.
У меня нет под рукой резистора 2k, поэтому я использовал 2x 1k последовательно. Я подключил схему на макетной плате так:
подключите контакт STATE к D4
подключите контакт TXD к D2
подключите первый резистор 1k к e21 и c22 на макетной плате
подключите второй резистор 1k к d22 и b23 на макетной плате
подключите третий резистор 1k к c23 и a24 на макетной плате
подсоедините штырьковый соединительный кабель к e24 на макетной плате и к контактам (-) (или к одному из контактов GND на Arduino Nano)
подключите штыревой соединительный кабель к c21 на макетной плате и к контакту D3 платы Arduino Nano
подключите штекерный кабель к разъему a22 на макетной плате и к контакту RXD на модуле Bluetooth
Введение. Управляйте своими проектами с помощью Bluetooth с низким энергопотреблением.
В этом руководстве я покажу вам, как начать работу с Bluetooth Low Energy и как с его помощью управлять своими проектами. Это будет базовым, и я постараюсь сделать его простым для начинающих. Я буду использовать AT-09 BLE v4.0, который представляет собой модуль Bluetooth, совместимый с HM-10. BLE расшифровывается как Bluetooth Low Energy, он основан на технологии Bluetooth 4.0. Так что этот модуль не будет работать со старыми телефонами. Нажмите здесь, чтобы узнать больше о BLE. Если у вас нет модуля HM-10/AT-09, вы можете использовать обычный старый HC-05. Итак, приступим.
Шаг 1: Сбор компонентов:-
Здесь я перечислил все компоненты вместе со ссылками на лучшие покупки.
- Макет. (Рекомендую приобрести этот комплект.)
Ссылка для США
Ссылка для Европы
Ссылка для США
Ссылка для Европы - 1k резисторы. (Можно найти в любом местном магазине электроники.)
Ссылка для США
Ссылка для Европы - Смартфон (с Bluetooth 4.0 или выше).
Ссылка для США
Ссылка для Европы (я использовал AT-09. Вы можете использовать HM-10/HC-05)
Ссылка для США
Ссылка для Европы ли>
ПРИМЕЧАНИЕ. Большинство приложений с графическим интерфейсом не работают с модулями BLE.
Шаг 2. Установление связей :-
- Подключите модуль Bluetooth к макетной плате.
- Нам нужно разделить напряжение, отправляемое на приемный контакт, потому что выход на контактах Arduino составляет 5 В, а на приемном контакте нашего модуля Bluetooth требуется 3,3 В, поэтому мы делаем делитель напряжения, используя резисторы на 1 кОм и 2 кОм (как я не делал). у меня есть резистор 2k Я использую два резистора 1k последовательно)
- Теперь выполните следующие соединения:-
ПРИМЕЧАНИЕ. Подключите резисторы к модулю Bluetooth, как показано на рисунке. Затем подключите один конец резистора (2k) к GND, а другой резистор (1k) к контакту TX arduino.
- Теперь подключите два светодиода на макетной плате последовательно с резисторами 1k. и подключите светодиоды к контакту arduino №. 8 и 9.
- После того, как подключение выполнено, мы переходим к следующей части, то есть к кодированию.
Шаг 3: Написание и загрузка кода:-
- Сначала откройте Arduino IDE и напишите следующий код. (Я рекомендую вам написать это, так как это будет легче понять, чем просто справиться с этим.)
- После того, как вы написали код, скомпилируйте его и перед загрузкой вам сначала нужно сделать одну вещь. Удалите подключение к контактам TX и RX Arduino. Когда вы удалили контакты, загрузите код в Arduino, и вы готовы к работе.
- Но прежде чем снова подключить контакты. Откройте последовательный монитор arduino IDE и введите 1, и вы должны увидеть, как загорается светодиод, аналогично вводу 2 загорится второй светодиод, а ввод тех же цифр выключит светодиоды.
После этого мы переходим к подключению нашей установки к смартфону.
Вложения
Шаг 4. Подключение смартфона:-
- Чтобы сначала подключить телефон к Bluetooth, вам потребуется приложение Bluetooth Serial. Я использовал последовательный терминал Bluetooth.
- После установления соединения нажмите и удерживайте кнопку «M1», чтобы присвоить ему значение. Назначьте «M1» = 1 и «M2» = 2.
- Теперь включите Arduino и нажатие M1 включит светодиод, а повторное нажатие выключит его. То же самое с M2.
Вот и все, теперь вы знаете, как управлять светодиодами с помощью Arduino через Bluetooth. Теперь вы можете управлять своими собственными проектами.
Если у вас есть какие-либо вопросы или вы столкнулись с трудностями, не стесняйтесь спрашивать.
В следующем уроке я расскажу, как сделать машину/бота, управляемую через Bluetooth. Подпишитесь на меня, чтобы получать уведомления.
Этот проект создал 1 человек!
Вы сделали этот проект? Поделитесь с нами!
Рекомендации
Конкурс авторов-первокурсников
Конкурс по благоустройству дома
Конкурс игрушек и игр
5 комментариев
Опять же, не BLE. просто старый классический серийный Bluetooth.
Ответить 3 года назад
Ответить 3 года назад
Я понимаю и использую BLE. Я говорю, что ваш проект неправильно помечен — это НЕ BLE.
Вопрос 3 года назад на шаге 3
Здравствуйте,
спасибо, что поделились этим эскизом, он сработал хорошо, я безуспешно пытаюсь добавить результаты. Я пытаюсь управлять 8-канальным блоком реле, возможно ли это.
Я добавил следующее
int led1 = 4;
int led2 = 5;
int led3 = 6;
int led4 = 7;
int led5 = 8;
int led6 = 9;
int led7 = 10;
int led8 = 11;
затем добавил флаги
int flag1 = 0;
int flag2 = 0;
int flag3 = 0;
int flag4 = 0;
int flag5 = 0;
int flag6 = 0;
целое число flag7 = 0;
целое число flag8 = 0;
pinMode(led1,OUTPUT); //Установить выводы светодиода как выход
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT); //Установить выводы светодиода как выход
pinMode(led4,OUTPUT);
pinMode(led5,OUTPUT); //Назначить выводы светодиода как выход
pinMode(led6,OUTPUT);
pinMode(led7,OUTPUT); //Установка выводов светодиода в качестве вывода
pinMode(led8,OUTPUT);
Читайте также: