Подключение Bluetooth к Arduino и управление через Android

Для поключения Bluetooth к Arduino Duemilanove плате нужно подсоединить проводки так: VCC к 5V, GND к GND, TXD к 10 цифровому порту, RXD к 11 цифровому порту.
arduino duemilanove

 

arduino bluetooth

Для управления ардуиной через смарфон на андроиде, установите приложение https://play.google.com/store/apps/details?id=com.app.control&hl=ru

При нажатии на определенную кнопку, приложение отправляет букву.

Device1 ON отправляет “A” , Device1 OFF отправляет “a”
Device2 ON отправляет “B” , Device2 OFF отправляет “b”
Device3 ON отправляет “C” , Device3 OFF отправляет “c”
Device4 ON отправляет “D” , Device4 OFF отправляет “d”
Device5 ON отправляет “E” , Device5 OFF отправляет “e”
Device6 ON отправляет “F” , Device6 OFF отправляет “f”
Device7 ON отправляет “G” , Device7 OFF отправляет “g”
Device8 ON отправляет “H” , Device8 OFF отправляет “h”

Чтобы управлять встроенным светодиодом, воспользуйтесь этим скетчем:

#include 

SoftwareSerial mySerial(10, 11); // RX, TX
int led = 13;

void setup()  
{
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
//  mySerial.println("Hello, world?");
pinMode(led, OUTPUT);
}

char inData[20]; // Allocate some space for the string
char inChar; // Where to store the character read
byte index = 0; // Index into array; where to store the character

char Comp(char* This) {
    while (mySerial.available() > 0) // Don't read unless
                                   // there you know there is data
    {
        if(index < 19) // One less than the size of the array
        {
            inChar = mySerial.read(); // Read a character
            inData[index] = inChar; // Store it
            index++; // Increment where to write next
            inData[index] = '\0'; // Null terminate the string
        }
    }

    if (strcmp(inData,This)  == 0) {
        for (int i=0;i<19;i++) {
            inData[i]=0;
        }
        index=0;
        return(0);
    }
    else {
        return(1);
    }
}

void loop()
{
    if (Comp("A")==0) {
      digitalWrite(led, HIGH);
        Serial.write("ON\n");
    }
    if (Comp("a")==0) {
      digitalWrite(led, LOW);
        Serial.write("OFF\n");
    }
}

При нажатии кнопки Device 1 светодиод будет включаться и выключаться.

Если использовать ардуино с реле, то можно управлять включением/выключением, например, света или электро-чайника. Видео с использованием реле можно посмотреть на странице приложения.

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

Нужно установить приложение на смартфон, подключить смарт к ардуино через блютуз. Через определенный промежуток времени, приложение будет стучаться в сеть и спрашивать о командах. Если команды есть, то они посылаются ардуине.

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

1 comment for “Подключение Bluetooth к Arduino и управление через Android

  1. Роман Амреев
    14.03.2014 at 6:44 пп

    кто будет писать скетч удалите #include

    SoftwareSerial mySerial(10, 11); // RX, TX
    int led = 13; так же удалите my иначе компилятор будет ругаться,а так всё будет работать

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *