Помогите запустить блютуз шильд.

Gagarin74
Offline
Зарегистрирован: 24.08.2013

Купил давно, руки дошли только. Вот это чудо . Вот к нему спецификация . Вроде все просто.

Шильд вставляем в Uno и без всякого кода цепляемся по блютузу ,хоть с телефона хоть с компа.

А вот дальше грабли . Все демо кода ,не копилируются. Менял среду разработки. Без толку.

Пробывал вот это.  Там кстате в коде в первой строчке не указана библиотека :( . Подправил ,всё копилируется но результата нет , я так и не мог увидить что принимает UNO.  Может кто это чудо настраивал -нужны точные советы и рабочие примеры. Пробывал играть с перемычками.

ПОМОГИТЕ КТО ЧЕМ МОЖЕТ :)

Gagarin74
Offline
Зарегистрирован: 24.08.2013

Ошибки при компиляции



In file included from NewSoftSerialTest.pde:2:
C:\Users\admin\Desktop\arduino-1.0.4\libraries\NewSoftSerial/NewSoftSerial.h:73: error: conflicting return type specified for 'virtual void NewSoftSerial::write(uint8_t)'
C:\Users\admin\Desktop\arduino-1.0.4\hardware\arduino\cores\arduino/Print.h:48: error:   overriding 'virtual size_t Print::write(uint8_t)'

 

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Этот модуль простой преобразователь Bluetooth <-> RS232. Вначале настройте с компа через USB<->RS232 (например PL2303) - проверьте скорость что она 9600, настроить Имя и ключ доступа, убедиться что он действительно принимает данные и отправляет их - я использовал комп с блутусом и PuTTY - для обмена данными через ком порт.

Затем возьмите любую библиотеку SoftwareSerial, проверив ее работу с помошью того же USB<->RS232 - убедившись что она формирует данные с правильной скоростью.

Только после этого надо подключать шилд и выбирать перемычками пины выбранные в SoftwareSerial.

Если просто соединить без проверки - не факт что заработает - Особенно если вы не понимаете своих действий.

P.S. Игрался с таким модулем сам модуль достаточно глючный.

Gagarin74
Offline
Зарегистрирован: 24.08.2013

я уже понял ,что он ГЛЮЧНЫЙ!!!!! Вроде заработало!!!!!!

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // 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(38400);
//  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");
    }
}

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