Solution to Problems with BlueTooth Shield

For those that are having problems getting BTShield to work properly This is what I have done to get it to function as wanted…

#include <SoftwareSerial.h>   //Software Serial Port
#define RxD 6
#define TxD 7
#define DEBUG_ENABLED  1
SoftwareSerial blueToothSerial(RxD,TxD);
int led = 13;
void setup() 
{ 
  Serial.begin(9600);
  pinMode(led, OUTPUT); // led onboard arduino uno pin 13
  pinMode(RxD, INPUT);
  pinMode(TxD, OUTPUT);
  setupBlueToothConnection();  
} 

void loop() 
{ 
  char recvChar;  
  if(blueToothSerial.available()){//check if there's any data sent from the remote bluetooth shield
    recvChar = blueToothSerial.read();
    Serial.print(recvChar);
  }
  if(Serial.available()){//check if there's any data sent from the local serial terminal, you can add the other applications here
    recvChar  = Serial.read();
    blueToothSerial.print(recvChar);
  }  
  // ADD Code HERE:
  if (recvChar == '0' ) // if input from serial is = 0
  {
    digitalWrite(led, LOW); // turn off led on arduino uno pin 13
    delay(45);
  }
  if (recvChar == '1') // if input from serial is = 1
  {
    digitalWrite(led, HIGH); // turn on led on arduino uno pin 13
    delay(45);
  }
}  
void setupBlueToothConnection()
{
  blueToothSerial.begin(38400); //Set BluetoothBee BaudRate to 38400 ..default baud rate 38400 (btShield plays nicely at default baud rate)
  blueToothSerial.print("\r\n+STWMOD=0\r\n"); //set the bluetooth work in slave mode
  blueToothSerial.print("\r\n+STNA=SeeedBT\r\n"); //set the bluetooth name as "SeeedBT"
  blueToothSerial.print("\r\n+STOAUT=1\r\n"); // Permit Paired device to connect me
  blueToothSerial.print("\r\n+STAUTO=0\r\n"); // Auto-connection should be forbidden here
  blueToothSerial.print("\r\n+STPIN=0000\r\n");//set pin to 0000
  blueToothSerial.print("\r\n+RTPIN=0000\r\n");// ask to input pin
  delay(2000); // This delay is required.
  blueToothSerial.print("\r\n+INQ=1\r\n"); //make the slave bluetooth inquirable 
  Serial.println("The slave bluetooth is inquirable!");
  delay(2000); // This delay is required.
  blueToothSerial.flush();
}




All I did was attach BT shield to arduino then upload code unplug arduino wait 5 seconds replug the arduino and wait for red and green led to blink alternatively…Normally takes 3-5 secs to initiate… Once leds are blinking then you should b able to connect with other device to seeedBT… for (windows 7) i found that once you upload code unplug arduino and replug arduino back in that if you open the serial monitor in arduino ide windows will pop up a alert box saying (A bluetooth device is trying to connect click here to allow) once you click the alert it will ask for pincode, which is 0000 . Once entered all should be well in BT land and you should be able to enter 0 or 1 in serial monitor and watch led onboard arduino turn on/off…enjoy

Thanks for your sharing. :wink:

I don’t have d2 blinking, one the green light is blinking. I don’t know why?
Any suggestion?