• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
ОК
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO

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. Подключитесь к нему и вернитесь к главному экрану приложений.

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

 

 

Вот пожалуй все

 

 Скачать материал к статье

·         Bluetooth.zip




Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 372



          

Радио для всех© 2024