Arduino связывается с приложением на смартфоне (Android) через Bluetooth
С появлением IoT и необходимостью управления устройствам теперь нужно делать больше, чем выполнять основные функции, для которых они созданы, они должны быть способны общаться с другими устройствами, такими как мобильный телефон, среди других.Существуют различные системы связи, которые могут быть адаптированы для связи между устройствами, к ним относятся такие системы, как WiFi, RF, Bluetooth, среди других. Мы сосредоточимся на связи по Bluetooth. Сегодня мы будем строить проект Arduino, который связывается с приложением, работающим на смартфоне (Android) через Bluetooth.
Для простоты цель проекта - переключить светодиод, подключенный к Arduino, используя мобильное приложение. Мы будем использовать модуль Bluetooth HC06 в качестве основного компонента этого урока. Модуль Bluetooth HC06 является ведомой версией модуля Bluetooth HC05. Он имеет 4 контакта и взаимодействует с микроконтроллером через последовательный интерфейс.
Модуль Bluetooth HC06 является устройством на основе логического уровня на 3,3 В и, следовательно, если он напрямую подключен к Arduino, иногда не сможет обработать сообщение, полученное от Arduino, которое является устройством уровня логики уровня 5v, если не существует какой-либо формы сдвига уровня, хотя Arduino может легко понять данные, отправляемые с модуля Bluetooth, поскольку он использует более высокий логический уровень. Перемещение / преобразование уровня может быть достигнуто либо с помощью делителя напряжения, либо с помощью модуля сдвига уровня (как в этом уроке). Модуль сдвига (показан на рисунке ниже) помогает легко перейти от одного напряжения к другому. Переключатель уровня имеет две стороны: сторону высокого напряжения (обозначенную HV) и сторону низкого напряжения (маркированный LV). Shifter позволяет подключать желаемый выход низкого напряжения на стороне низкого напряжения и линию высокого напряжения также к высоковольтному.
Необходимые компоненты
Для этого урока требуются следующие компоненты;
1. Модуль Bluetooth
2. Преобразователь уровня
3. Arduino Uno
4. СВЕТОДИОД
5. Большая макетка
6. Провода
Как обычно, точные компоненты, используемые для этого учебника, можно купить, следуя ссылке, прикрепленной к каждому из них.
Подключите компоненты, как показано на приведенных ниже схемах.
Как уже упоминалось ранее, модуль Bluetooth HC06 представляет собой устройство логического уровня на 3,3 В, чтобы сделать его совместимым с логическим уровнем Arduino (который составляет 5 В), нам нужно использовать логический сдвиг / преобразователь уровня, как показано на схемах выше. Чтобы сделать схемы более четкими, приведенная ниже схема контактов компонентов и их соединений показана ниже.
Arduino - Логический конвертер
D10 - RX (сторона HV)
D11 - Tx (сторона HV)
Gnd - Gnd
3.3v - LV
5V - HV
HC06 - конвертер логики
Rx - Rx (сторона LV)
Tx - Tx (сторона LV)
vcc - 5v (то же, что и HV)
Gnd - Gnd
С подключенными компонентами и проверенным соединением мы готовы создать приложение для Android, которое будет использоваться для фактического управления светодиодом. Приложение для этого проекта было разработано с использованием изобретателя приложений MIT для простоты, но оно также может быть построено с использованием любой другой платформы, используемой для разработки приложений для Android. MIT App Inventor представляет собой платформу для разработки приложений для мобильных устройств, и ее основное внимание уделяется упрощению программирования для всех, поэтому вместо написания кодов программирование приложений выполняется с использованием блоков перетаскивания, как и платформа программирования «Scratch». Чтобы создать приложение, созданное для этого проекта, создайте новый проект и создайте пользовательский интерфейс, чтобы он выглядел как изображение ниже.
После выполнения пользовательского интерфейса нажмите на блоки и приступайте к репликации блоков ниже.
Скомпилируйте приложение и сохраните как apk на свой компьютер, с которого вы можете перенести на свой телефон для установки. Исходный файл проекта .aia для приложения является частью файлов, архивированных в zip-файле, расположенном в разделе загрузки этого урока. Файл .aia может быть импортирован в рабочее пространство изобретателя App MIT и отредактирован в соответствии с вашими потребностями и желаниями. Файл готовой установки APK также прикрепляется к zip-файлу, поэтому вы можете установить его прямо на свой телефон. Теперь, когда приложение готово, мы можем перейти к написанию кода Arduino для управления нашим устройством. Arduino взаимодействует с модулем Bluetooth через последовательную связь, и это позволяет легко писать код. Поскольку мы решили использовать серийное программное обеспечение, а не аппаратные серийные выходы Arduino (D0 и D1), нам понадобится последовательная библиотека программного обеспечения Arduino. Эта библиотека дает нам свободу выбора любого из цифровых контактов Arduino в качестве наших контактов Rx и Tx. Аппаратные последовательные контакты - это те же контакты, которые используются Arduino для связи с компьютером, поэтому подключение их к Bluetooth приведет к помехам, которые могут помешать процессу загрузки кода. Хотя контакты могут быть отсоединены от Bluetooth, когда код загружается и повторно подключается после загрузки кода, но это не всегда эффективно. Основная функция кода - контролировать входящий поток последовательных данных, если он получает «1», он включает светодиод, и если он принимает «0», он выключает светодиод. Чтобы вскочить, мы, как обычно, дадим разбивку кода, чтобы объяснить каждую часть до того, как будет предоставлен полный код. Код Arduino относится к файлам, заархивированным в zip-файле в разделе загрузки. Первое, что мы делаем при написании кода, как обычно, - это импорт библиотек, с которыми мы будем работать, что в данном случае является последовательной библиотекой программного обеспечения.
////////////////////////////////////////////////// ///////////////
// Arduino Bluetooth Tutorial v1.00 //
// Получить последнюю версию кода здесь: //
// http://educ8s.tv/arduino-bluetooth-tutorial //
////////////////////////////////////////////////// ///////////////
#include <SoftwareSerial.h>
После импорта библиотеки мы объявим переменную для хранения символов, полученных от Bluetooth, и штырь на Arduino, к которому подключен светодиод. Мы также инициализируем библиотеку Softwareserial, указывая на контакты, которые будут использоваться как Rx и Tx.
char c;
int LED = 13 ;
SoftwareSerial mySerial ( 10 , 11 );
Затем переходим к разделу setup (), где мы устанавливаем pinMode для вывода, к которому подключен наш светодиод (выход), и мы запускаем последовательную связь со скоростью передачи в бодах 9600, которая является скоростью передачи в бодах, при которой самые последние версии модуль HC06 обменивается данными.
void setup ()
{
pinMode (LED, OUTPUT);
mySerial.begin ( 9600 );
}
Затем мы переходим к большей части кода; функция void loop (). Первое, что мы делаем, это подтверждение доступности данных из модуля Bluetooth, после чего мы читаем данные и используем оператор if, чтобы сравнить его, если он равен 1 или 0. Если данные равны 1, мы поворачиваем Светодиод высок, но если его 0, мы выключаем светодиод.
// Получить последнюю версию кода здесь: //
// http://educ8s.tv/arduino-bluetooth-tutorial //
////////////////////////////////////////////////// ///////////////
#include <SoftwareSerial.h>
char c;
int LED = 13 ;
SoftwareSerial mySerial ( 10 , 11 );
void setup ()
{
pinMode (LED, OUTPUT);
mySerial.begin ( 9600 );
}
void loop ()
{
while ( ! mySerial.available ());
c = mySerial.read ();
if (c == '1' )
{
digitalWrite (LED, HIGH);
}
if (c == '0' )
{
digitalWrite (LED, LOW);
}
}
Подключите, Arduino к компьютеру и загрузите свой код. Вы должны увидеть, что светодиод на Bluetooth начинает мигать, это означает, что он готов к сопряжению. Включите Bluetooth вашего телефона и вы увидите hc06 после сканирования. подключитесь к нему и введите ключ доступа, который обычно равен 1234.
После запуска приложения и нажмите кнопку подключения, он покажет MAC-адрес вашего hc06. Подключитесь к нему и вернитесь к главному экрану приложений.
После подключения приложение отобразит соединение в верхнем левом углу, затем вы можете установить или снять флажок, чтобы включить или выключить светодиод соответственно.
Вот пожалуй все
Скачать материал к статье