Подключение arduino к bluetooth

23 марта 2019 - Администратор

Подключение arduino к bluetooth

На этом уроке мы узнаем, как подключить arduino к bluetooth. Для того чтобы управлять схемой на ардуино через блютуз необходимо подключить bluetooth модуль hc 05 или hc 06 к ардуино.
Рассмотрим подключение блютуз модуля к ардуино.
Vcc Bluetooth модуля подключается к порту Arduino 3.3v 
Gnd Bluetooth модуля подключается к порту Arduino gnd
Txd Bluetooth модуля подключается к цифровому порту Arduino 0
Rxd Bluetooth модуля подключается к цифровому порту Arduino 1
Мы будем использовать блютуз модуль для управления мобильным роботом ардуино с помощью телефона android
Со схемой мобильного робота на ардуино вы можете познакомится на уроке Мобильный робот ардуино К этой схеме нам нужно подключить блютуз модуль hc 05 или hc 06. Обращаем внимание, что питание Bluetooth подключается к 3.3v.
Подробнее со схемой подключения bluetooth модуля к ардуино можно ознакомится на рисунке.

подключение блютуз модуля hc к ардуино
Приложение под андроид rc car для управления мобильным роботом ардуино

Для управления мобильным роботом на ардуино через блютуз необходимо скачать приложение Arduino Bluetooth rc car. Для того чтобы управлять ардуино через блютуз, необходимо запустить приложение и войти в Option Menu, выбрать Connect to car, выбрать Arduino устройство. Управление мобильным роботом на ардуино осуществляется с помощью стрелок , при этом к каждой стрелке привязана буква.   

  Программа для мобильного робота Arduino с bluetooth модулем.

Для того, чтобы считывать команды, которые передаются по блютуз необходимо подключить стандартную библиотеку #include <Wire.h>. Само считывание данных в программе ардуино пришедших по bluetooth осуществляется с помощью команды char dataIn = Serial.read(); В символьную переменную dataIn будет записана информация ,переданная через блютуз. Каждой стрелке  андроид приложения rc car будет соответствовать своя буква в программе ардуино. В программе для каждой буквы с помощью условного оператора if будет определятся своё действие. Движение вперёд, остановка, поворот на лево, на право. Обратите внимание, что при загрузки программы вв ардуино, необходимо отключать  питание bluetooth  модуля на момент загрузки, после загрузки bluetooth  модуль неоходимо включать, воткнуть провод обратно в питание.

Полная программа для управления мобильнум роботом ардуино через блютуз андроид

#include <Wire.h> // Библиотека для работы с I2C 
#define SPEED_1      5 // скорость первого мотора
#define DIR_1        4 // направление первого мотора
#define DIR_2        7 // направление второго мотора
#define SPEED_2      6 // скорость второго мотора

void setup() 
{
 pinMode(7, OUTPUT); 
 pinMode(6, OUTPUT); 
 pinMode(5, OUTPUT); 
 pinMode(4, OUTPUT); 
 // пины руки
  Serial.begin(9600);     //Bluetooth Bee по умолчанию использует эту скорость  
   pinMode(13, OUTPUT);
  //поэтому, чтобы их не перекручивать   //можно воспользоваться этой функцией.   
  //Направление вращения мотора 1 будет изменено. 

void loop() 
{     
  if (Serial.available() > 0)    //Если появились новые команды   
{    
control();                    //вызываем функцию управления  
}  

void control()  // функция управления 
{
char dataIn = Serial.read();  //Считаем значение пришедшей команды  
  if (dataIn == 'F') {//Если пришла команда "F"     
  analogWrite(SPEED_1,100); // движемся вперед
  digitalWrite(DIR_1, HIGH);
  analogWrite(SPEED_2, 100);
  digitalWrite(DIR_2,  HIGH);
  delay(1);
  }
   if (dataIn == 'L'){    //или если пришла команда "L"     
   analogWrite(SPEED_1,80); // поворачиваем налево
  digitalWrite(DIR_1,  HIGH);
  analogWrite(SPEED_2, 80);
  digitalWrite(DIR_2,   LOW);
  delay(1); 
   }
  if (dataIn == 'R'){    //или если пришла команда "R"     
  analogWrite(SPEED_1,80); // движемся направо
  digitalWrite(DIR_1,  LOW);
  analogWrite(SPEED_2, 80);
  digitalWrite(DIR_2,   HIGH);
  delay(1);B 
   }
  if (dataIn == 'B'){    //или если пришла команда "B"     
  analogWrite(SPEED_1,0); // останавливаемся
  digitalWrite(DIR_1,  HIGH);
  analogWrite(SPEED_2,0);
  digitalWrite(DIR_2,   HIGH);
  delay(1); 
   }
Serial.println(dataIn);
}

Вернуться к содержанию

Полезно почитать по теме мобильные роботы arduino
Мобильный робот arduino с motor shield
Правильное питание мобильного робота arduino

Поделиться:

 
Комментарии (0)

Нет комментариев. Ваш будет первым!