Zs 040 bluetooth программирование

ZS-040 и Ардуино

На повестке дня – подключение ZS-040 к Ардуино. Мы разберем сферу применения устройства, его базовые параметры, нюансы сборки и т.д.- все, как обычно. Ну и конечно поговорим в целом о том, что представляет собой этот модуль.

Наверное, всем вам уже известны преимущества технологии Bluetooth. Да, это передача информации на небольших расстояниях, быстро и бесплатно, без особых сбоев и дополнительного оборудования ∕ программных приложений. Так вот именно к категории подобных Блютуз-гаджетов относится модуль HC-06. Он построен на базе микрочипа BC417, состоит из двух спаянных вместе плат, имеет кварц на 26 МГц.
Для справки: если говорить о сфере применения таких сенсоров для радиолюбителей, то это в основном телеуправление либо телеметрия.

  • питание: 3,3В;
  • флеш-память: 8Мб;
  • низкое энергопотребление;
  • диапазон рабочих температур: -20 . +70 °С;
  • габариты: 37х15х3мм.

Он компактен и не займет много места, упрощает подключение к контроллеру.

Заводской модуль выглядит иначе:


Теперь рассмотрим непосредственно подключение Bluetooth-модуль ZS-040 к Arduino. Для реализации несложного проекта будем использовать такие аппаратные компоненты:

  1. Микроконтроллер Arduino UNO (можно и другие).
  2. Датчик ZS-040.
  3. Комплект соединительных проводов.


Для управления рабочим процессом и проверки работоспособности схемы нам понадобится библиотека SoftwareSerial.

// Подключаем библиотеку SoftwareSerial #include "SoftwareSerial.h" // Создаем класс BTserial для работы с bluetooth модулем. SoftwareSerial BTserial(8, 9); // порт RX, порт TX void setup() < // Настраиваем скорость передачи данных. Serial.begin(9600); BTserial.begin(9600); // По умолчанию 9600 бот. >void loop() < // Получаем данные от bluetooth модуля и передаем их в монитор порта. if (BTserial.available()) < Serial.write(BTserial.read()); >// Получаем данные от монитора порта и передаем их в bluetooth модуль. if (Serial.available()) < BTserial.write(Serial.read()); >>

Для проверки связи можно в дальнейшем использовать программу Serial Bluetooth Terminal. Она инсталлируется на смартфон и проста в конфигурациях. Запустите ПО, найдите в настройках пункт Bluetooth, включите его и дождитесь взаимосвязи между 2 девайсами.

Читайте также:  Блютуз ауди q7 2006

Для вас мы собрали небольшой гайд по использованию утилиты в скриншотах:





Надеемся, вы справитесь с поставленной задачей! На этом прощаемся! До новых встреч!

Источник

Bluetooth модуль HM-10 (ZS-040). Урок 14. Ардуино

Bluetooth модуль HM-10 (ZS-040)

Привет! Как известно, все становится лучше, если добавить bluetooth. Поэтому пришло время добавить к нашим проектам bluetooth модуль HM-10. И попробовать управлять схемой на Ардуино через телефон.

В этом уроке мы будем модифицировать схему с rgb светодиодом. Поэтому, посмотрите урок с ней, если уже забыли или пропустили его.

Для того, чтобы выполнить этот урок нам понадобиться

  • Ардуино UNO
  • Макетная плата
  • Перемычки
  • 3 Резистора номиналом 220 Ом
  • 3 Резистора номиналом 1 кОм
  • RGB Светодиод
  • Bluetooth модуль HM-10
  • Кабель USB

В прошлом уроке мы настроили схему на Ардуино, которая управляется из последовательного порта. Мы записывали в последовательный порт данные через программу на Processing и плата Ардуино управляла цветом на rgb светодиоде.

Теперь заменим Processing программу на bluetooth модуль и программу в телефоне.

Программа и схема

Соберем схему для управления rgb светодиода и добавим в схему bluetooth модуль.

Принципиальная схема подключения bluetooth модуля

Контакт TXD подключаем напрямую к контакту 8 Ардуино. А RXD подключаем к 9 контакту через делитель напряжения. Используем сопротивление 1 кОм с одной стороны и 2 кОм с другой.

После подключения питания к Ардуино, лампочка на модуле начнет мигать. Значит питание к нему подключено, и, первоначально, все работает правильно.

После этого уже можно попробовать найти его среди других Bluetooth устройств. С помощью компьютера или телефона. В моем случае, он определяется как BT05

Поиск bluetooth устройств в windows 10

Но сначала напишем программу для Ардуино и загрузим на плату.

В программе используем библиотеку для bluetooth. И создадим все переменные, которые понадобятся в будущем.

#include SoftwareSerial BT(8, 9);// Контакты bluetooth модуля. 8 для TXD, 9 для RXD char c = ""; // Переменная для считывания символа из последовательного порта String str = ""; // Переменная для формирования целой строки int rgb[] = ; // Массив контактов rgb светодиода int light = 0; // Переменная для отправки на контакты светодиода int i = 0; // Счетчик цикла для переключения цветов светодиода

В функции setup() настроим основные параметры программы. Включим последовательные порты на ардуино и на bluetooth.

Читайте также:  Voice call on bluetooth

Сразу отправим тестовые сообщения в оба монитора.

Самое интересное будет в цикле loop(). Будем считывать информацию с последовательного порта bluetooth. Считывается только один символ. Поэтому нужно подумать, как считать всю строку и обработать уже ее. Для этого найдем символ перевода строки ‘\n’ . Все, что было до этого символа соберем в одну строку.

Кроме того, мы собираем только цифры, поэтому всю строку можно представить как число. Ограничим это число функцией constrain(), чтобы можно было написать в программе что угодно, но Ардуино записал на пин корректное значение.

С помощью счетчика цикла i будем переключать контакты rgb светодиода и сбрасывать счетчик, когда он будет равен 3.

Не забудем сбросить переменную для формирования строки перед следующим вводом данных.

void loop() < if (BT.available())< // На порту bluetooth есть что считать delay(50); // Задержка между считыванием символов c = BT.read(); // Считываем код символа в переменную типа int if (isDigit(c)) < // Если считана цифра str += (char)c; // символ присоединяем к строке >if (c == '\n') < // Если обнаружен символ конца строки if( i == 3 )// Сбрасываем счетчик на 0 light = constrain(str.toInt(), 0, 255 );// Ограничиваем значени Serial.println(light); // Выводим строку в монитор порта analogWrite(rgb[i], light); // Записываем на контакт светодиода i++; // Переходим к следующему цвету str = ""; // Очищаем строку > > >

Полный текст программы

#include SoftwareSerial BT(8, 9); // Контакты подключения bluetooth модуля. 8 для TXD, 9 для RXD char c = ""; // Переменная для считывания символа из последовательного порта String str = ""; // Переменная для формирования целой строки int rgb[] = ; // Массив контактов rgb светодиода int light = 0; // Переменная для отправки на контакты светодиода int i = 0; // Счетчик цикла для переключения цветов светодиода void setup() < BT.begin(9600); // Инициализация bluetooth последовательного порта Serial.begin(9600); // Инициализация arduino последовательного порта Serial.println("Test for Arduino"); BT.println("Test for Phone"); pinMode(rgb[0], OUTPUT); pinMode(rgb[1], OUTPUT); pinMode(rgb[2], OUTPUT); >void loop() < if (BT.available())< // На последовательном порту bluetooth есть что считать delay(50); // Задержка между считыванием символов c = BT.read(); // Считываем код символа в переменную типа int if (isDigit(c)) < // Если считана цифра str += (char)c; // Конвертируем байт в символ и присоединяем к строке >if (c == '\n') < // Если обнаружен символ конца строки if( i == 3 )// Если счетчик массива больше чем размер массива сбрасываем его на 0 light = constrain(str.toInt(), 0, 255 );// Ограничиваем значение для вывода на контакт Serial.println(light); // Выводим строку в монитор порта как цифру analogWrite(rgb[i], light); // Записываем значение на контакт светодиода i++; // Переходим к следующему цвету str = ""; // Очищаем строку перед следующим вводом > > >

Serial Bluetooth Terminal

Теперь нам понадобиться клиент для Android, который сможет подключиться к последовательному порту через bluetooth. Найдем такое приложение в Play Market.

Читайте также:  Блютуз колонка алиэкспресс рейтинг лучшая

Найдем наш модуль в меню devices. И попробуем к нему подключиться.

Наше устройство на экране поиска в Serial Bluetooth Terminal

Попробуем подключиться, и если все правильно, то увидим сообщение Connected.

Подключились к нашему модулю

И наконец, отправим на наш модуль команды. На которые должна среагировать программа в Ардуино и изменить цвет rgb светодиода.

Задаем белый цвет rgb светодиода через приложение

Каждая введенная цифра отвечает за свой цвет на rgb светодиоде. Как вы помните, цвета переключаются в цикле. Если на два цвета отправить 0, а на последний 250, то гореть должен только один цвет.

Заключение

Мы научились использовать Bluetooth модуль HM-10. И подключили его к Ардуино. Это дает возможности управлять схемой на Ардуино с помощью программы в телефоне или компьютере без подключенных проводов. Естественно, возможности использовать bluetooth почти не ограничены. Постараемся использовать его чаще в наших проектах.

Источник

Оцените статью
Adblock
detector