Управления серводвигателями по Bluetooth с помощью телефона на Android
Управления серводвигателями по Bluetooth с помощью телефона на Android
 
В этой статье мы будем контролировать 4 серводвигателя со смартфона.


Шаг 1: Элементы

Arduino Uno

HC-06/05 Модуль Bluetooth

- 4x Серводвигатель

- Провода и макетная плата

- Батарея

- Смартфон с Android на борту

Шаг 2: Схема подключения
 

- Контакты батареи VCC / GND подключить к соответствующим контактам на макетной плате

- Arduino GND подключите к GND на макетке

- Провода сервоприводы, которые мы используем в этом проекте:

Оранжевый - Сигнал (Signal)

Красный - Питание (VCC)

Коричневый - Земля (GND)

- VCC и GND Сервоприводов подключаются к VCC / GND входам на макетке


- Контакт Signal Сервопривода-1 подключается к Arduino контакту PWM 3

- Контакт Signal Сервопривода-2 подключается к Arduino контакту PWM 5

- Контакт Signal Сервопривода-3 подключается к Arduino контакту PWM 6

- Контакт Signal Сервопривода-4 подключается к Arduino контакту PWM 9

- Модуль Bluetooth подключить к плате

- Контакт Bluetooth VCC подключите к Arduino 3.3V

- Контакт Bluetooth GND подключите к Arduino GND

- Контакт Bluetooth TX подключите к Arduino Digital Pin 10

- Контакт Bluetooth RX подключите к Arduino Digital Pin 11

Шаг 3: Код

- Вы должны загрузить и установить библиотеку SoftwareSerial

https://github.com/PaulStoffregen/SoftwareSerial


#include <SoftwareSerial.h> // TX RX software library for bluetooth
#include <Servo.h> // servo library 
Servo myservo1, myservo2, myservo3, myservo4; // servo name
int bluetoothTx = 10; // bluetooth tx to 10 pin
int bluetoothRx = 11; // bluetooth rx to 11 pin
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
void setup()
{
  myservo1.attach(3); // attach servo signal wire to pin 9
  myservo2.attach(5);
  myservo3.attach(6);
  myservo4.attach(9);
  //Setup usb serial connection to computer
  Serial.begin(9600);
  //Setup Bluetooth serial connection to android
  bluetooth.begin(9600);
}
void loop()
{
  //Read from bluetooth and write to usb serial
  if(bluetooth.available()>= 2 )
  {
    unsigned int servopos = bluetooth.read();
    unsigned int servopos1 = bluetooth.read();
    unsigned int realservo = (servopos1 *256) + servopos;
    Serial.println(realservo);
    if (realservo >= 1000 && realservo <1180) {
      int servo1 = realservo;
      servo1 = map(servo1, 1000, 1180, 0, 180);
      myservo1.write(servo1);
      Serial.println("Servo 1 ON");
      delay(10);
    }
    if (realservo >= 2000 && realservo <2180) {
      int servo2 = realservo;
      servo2 = map(servo2, 2000, 2180, 0, 180);
      myservo2.write(servo2);
      Serial.println("Servo 2 ON");
      delay(10);
    }
    if (realservo >= 3000 && realservo <3180) {
      int servo3 = realservo;
      servo3 = map(servo3, 3000, 3180, 0, 180);
      myservo3.write(servo3);
      Serial.println("Servo 3 ON");
      delay(10);
    }
    if (realservo >= 4000 && realservo <4180) {
      int servo4 = realservo;
      servo4 = map(servo4, 4000, 4180, 0, 180);
      myservo4.write(servo4);
      Serial.println("Servo 4 ON");
      delay(10);
    }
  }
}
Приложение Скачать файл: multipleservocontrolapp.rar [2,15 Mb] (cкачиваний: 256)  



{poster_avatar}  admin
4 720