Помогите запустить блютуз шильд.
- Войдите на сайт для отправки комментариев
Пт, 07/02/2014 - 15:09
Купил давно, руки дошли только. Вот это чудо . Вот к нему спецификация . Вроде все просто.
Шильд вставляем в Uno и без всякого кода цепляемся по блютузу ,хоть с телефона хоть с компа.
А вот дальше грабли . Все демо кода ,не копилируются. Менял среду разработки. Без толку.
Пробывал вот это. Там кстате в коде в первой строчке не указана библиотека :( . Подправил ,всё копилируется но результата нет , я так и не мог увидить что принимает UNO. Может кто это чудо настраивал -нужны точные советы и рабочие примеры. Пробывал играть с перемычками.
ПОМОГИТЕ КТО ЧЕМ МОЖЕТ :)
Ошибки при компиляции
Этот модуль простой преобразователь Bluetooth <-> RS232. Вначале настройте с компа через USB<->RS232 (например PL2303) - проверьте скорость что она 9600, настроить Имя и ключ доступа, убедиться что он действительно принимает данные и отправляет их - я использовал комп с блутусом и PuTTY - для обмена данными через ком порт.
Затем возьмите любую библиотеку SoftwareSerial, проверив ее работу с помошью того же USB<->RS232 - убедившись что она формирует данные с правильной скоростью.
Только после этого надо подключать шилд и выбирать перемычками пины выбранные в SoftwareSerial.
Если просто соединить без проверки - не факт что заработает - Особенно если вы не понимаете своих действий.
P.S. Игрался с таким модулем сам модуль достаточно глючный.
я уже понял ,что он ГЛЮЧНЫЙ!!!!! Вроде заработало!!!!!!
#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"); } }а вот приложение для андройда - если кто встречал приложение с таким же функционалом но более богатым оформлением, милости просим ссылочку кинуть.