Bluetooth-соединение между Android и Arduino с использованием Processing
Я пытаюсь установить двустороннюю связь Bluetooth между Android и Arduino с помощью Processing for Android. Я успешно перенес данные с Android на Arduino с помощью serial.begin(9600). И я успешно перенес данные с Arduino на Android с помощью SoftwareSerial в программе Arduino и bluetooth.begin(9600) вместо serial.begin(9600).
Однако при попытке передачи данных с Android на Arduino с помощью команд bluetooth.x это не работает. Вот код Arduino:
if (bluetooth.available()) // Wait until a character is received
{
char val = (char)bluetooth.read();
//Serial.println(val);
switch(val) // Perform an action depending on the command
{
case 'w'://turn the light on when a 'w' is received
on();
break;
case 'q'://turn the light off when a 'q' is received
off();
break;
//default://otherwise remain in the previous state
//idle();
break;
}
}
Функции on() и off() включают и выключают светодиод на Arduino. Как уже упоминалось, это работает, когда я использую команды serial.x, а не команды bluetooth.x. Кроме того, я использую Ketai для обработки для Android. Я использую Processing 2.0.1, Arduino 1.0.5, Android 2.3.6.
Вот соответствующий начальный код:
#include <SoftwareSerial.h>
SoftwareSerial bluetooth(0,1); //TX 0, RX 1
1 ответ
Еще немного кода будет принята с благодарностью...
Вы включили что-то подобное?
#include <SoftwareSerial.h>
int bluetoothTx = 2;
int bluetoothRx = 3;
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
РЕДАКТИРОВАТЬ:
Это похоже на то, что я использую. Сначала вы загружаете код без проводного соединения Bluetooth, а затем подключаете Bluetooth. Тогда вы можете просто использовать Serial.doSomething()
потому что вы используете те же контакты, вам не нужно #include <SoftwareSerial.h>
, Но вы должны убедиться, что скорость передачи данных одинакова.
Вы можете попробовать этот код, чтобы убедиться, что он работает нормально:
void setup(){
Serial.begin(9600); // or wathever your bluetooth module baudrate is
}
void loop(){
Serial.println("Hello World!"); // to make sure it works.
delay(500);
}
Вы также должны убедиться, что вы Arduino подключен к компьютеру через Bluetooth.