Всем привет Вы на канале компьютерапия, это вторая часть, посвящённое подключению Android приложения и платы Arduino, через Bluetooth модуль hc-06.

Как вы помните, мы делали четырех канальное управление по Bluetooth, используя написанное в Android Studio приложение для взаимодействия с данным устройством.

Блютуз подключение в Android проект для Arduino Часть 2


Блютуз подключение в Android проект для Arduino часть 2


Блютуз подключение в Android проект для Arduino часть 2


Схема подключения достаточно простая, как обычно, используя Arduino Uno, в качестве имитации работы 4 каналов я использую светодиоды, четыре резистора по 220 OM и модуль HC-06, модуль Bluetooth, заказывал его на AliExpress.

Так выполнено подключение, модуль имеет четыре разъема, на плюс подаем по красному проводу 5 Вольт, минус общий по черному проводу и два провода этого контакты RX и TX.

На плате Arduino эти два контакта подключаются наоборот: RX в TX и TX в RX. Так выглядит сам HC блютуз модуль вблизи: он имеет 4 контакта.

Хочу обратить Ваше внимание: при заливке кода в Arduino нужно будет временно отключать хотя бы один из контактов или проводов от платы RX и TX иначе среда разработки выдает ошибку и скетч не загружается. Можно отключать оба, можно только один и после этого заливка проходит нормально.

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

схема макета блютуз модуля

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

Заказал дополнительно вот такие вот реле, отличия конструктивно небольшие, максимальный ток по постоянному и переменному до 10 A. На вход подается 5 вольт для питания, лучше выводить питание отдельно, и для Arduino использовать внешнее питание, подавая его на реле.

У реле имеется плюс, минус и сигнальный разъем для управления, вот так выглядят два различных типа реле, можно было бы их подключить, но я буду показывать на примере светодиодов.

Как работает данная схема в паре с Android приложением, покажу чуть позже, а сейчас займемся написанием скетча.

Итак, давайте сохраним скетч на рабочий стол, объявим переменную типа int val, она будет принимать значения, передаваемые из Android устройства. Объявим четыре переменные для разъемов d10-d13 на плате Arduino.

int val;
int d10 = 10;
int d11 = 11;
int d12 = 12;
int d13 = 13;

В подпрограмме setup этим же пинам присвоим через pinMode значение output, определив их как исходящие.

void setup()
{
  Serial.begin(9600);
  pinMode(d10, OUTPUT);
  pinMode(d11, OUTPUT);
  pinMode(d12, OUTPUT);
  pinMode(d13, OUTPUT);
  
}

В подпрограмме loop будем использовать первичную проверку, есть ли какие-то данные, поступают ли по последовательному порту, а блютуз модуль ведет обмен между Arduino, посылая и принимая данные именно по нему.

void loop()
{
  if (Serial.available())
  {
    val = Serial.read();
/////////////////////////////////////////////////
    if (val == 'a')
    {
      digitalWrite(d10, HIGH);
      Serial.println("D10 ON");
    }
    if ( val == 'A')
    {
      digitalWrite(d10, LOW);
      Serial.println("D10 OFF");
    }
/////////////////////////////////////////////////
    if (val == 'b')
    {
      digitalWrite(d11, HIGH);
      Serial.println("D11 ON");
    }
    if ( val == 'B')
    {
      digitalWrite(d11, LOW);
      Serial.println("D11 OFF");
    }
/////////////////////////////////////////////////
    if (val == 'c')
    {
      digitalWrite(d12, HIGH);
      Serial.println("D12 ON");
    }
    if ( val == 'C')
    {
      digitalWrite(d12, LOW);
      Serial.println("D12 OFF");
    }
/////////////////////////////////////////////////
    if (val == 'd')
    {
      digitalWrite(d13, HIGH);
      Serial.println("D13 ON");
    }
    if ( val == 'D')
    {
      digitalWrite(d13, LOW);
      Serial.println("D13 OFF");
    }


  }
}

Будем считывать эти значения в переменную val, который мы объявили ранее.

В setup надо не забыть добавить подключение по последовательному порту и можно будет мониторить передаваемые данные.

Давайте посмотрим проект в Android Студио, напомню вам, что мы писали в проекте, какие данные мы передавали.

Android приложение через блютуз модуль ведет обмен между Arduino, информация передаются в виде символов, а конкретно, в виде букв в верхнем и нижнем регистре.

Если мы передаем букву допустим “b” английскую маленькую или “a” английскую маленькую, то передается команда, что на 10 пин подается напряжение, если большая, то напряжение снимается. Так это выполнено для 4 каналов по английскому алфавиту ABCD, большие и маленькие символы, итого 8 команд.

А вот так у нас выглядело приложение, которое мы писали в Android Studio.

схема колодца с насосом

После того как в переменную val мы получили информацию по Bluetooth, я отделю строки кода, получится четыре блока, и мы должны будем считать эту информацию.

Если значение у нас “a” маленькая, то через функцию digitalwrite на 10 пин подаём напряжения, и в последовательный порт, выводим надпись «D 10 ON», включено.

Ну и соответственно, если передается большая буква “A”, в данном случае, то мы снимаем напряжение через digitalwrite - Low и пишем «D 10 OFF» у нас снято напряжение.

Тоже самое проделываем для “b” маленькой буквы и “B” большой, у нас меняются только порты и передаваемые значение через последовательный разъём.

Тоже самое проделаем для пар “c/C” и для четвертой кнопки это 13 разъем, будем подавать или снимать напряжение.

Вот так вот это всё выглядит. Пинмод, пины, исходящие, если доступно, то читаем то, что передаем, мы будем ждать какой-то реакции.

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

Сохраним наш скетч, проверим на ошибки, явных в самом коде нет, какие-то предупреждения могут быть в самой среде, но это не относится к нашему проекту.

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

Подключил Arduino к USB разъему, мигает индикатор на блютуз модуле, запустим наше приложение, выберем блютуз устройство hc-06, это название модуля, если появились кнопки, то нас установлено соединение.

схема колодца с насосом

Нажимая на кнопки, подаём питанием на соответствующие светодиоды, так вот нажимая на каждую кнопку, я напомню, мы использовали togglebutton, она сохраняет состояние нажатия, как внешне, так программно, и мы можем управлять до 4 устройств.

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

Смотрите видео: Блютуз подключение в Android проект для Arduino часть 2

Блютуз подключение в Android проект для Arduino часть 2


Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на канал в YouTube, там Вы найдете много интересного видео, которое выходит достаточно часто. Приятного просмотра!

 С уважением, авторы сайта Компьютерапия

Понравилось? Поделись этим видео с друзьями!

Блютуз подключение в Android проект для Arduino часть 2


Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на видео ВКонтакте, там Вы найдете много интересного, которое выходит достаточно часто. Приятного просмотра!

 С уважением, авторы сайта Компьютерапия

Понравилось? Поделись этим видео с друзьями!

Блютуз подключение в Android проект для Arduino часть 2


Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на канал в Рутубе, там Вы найдете много интересного, которое выходит достаточно часто. Приятного просмотра!

 С уважением, авторы сайта Компьютерапия

Понравилось? Поделись этим видео с друзьями!

Cкачать архив для ознакомления - скетч Arduino Блютуз подключение Android и Arduino. Част 2:


ZIP архив со скетчем





Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!

Предыдущие статьи

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.

Ok