Arduino Bluetooth connection with a Bluesmirf Gold

I take a BlueSmirf BlueTooth chip and connect it to my Arduino. Over all this is a very easy setup. Now it sounds like the two pins that are not used are for more complicated serial connects. Watch my video I explain that the directions say to put the RX and TX to the TX and RX ports on the Arduino and the code is set up for 2 and 3. At this point I could not get it working at first because my Mac does not like connecting to it. But once I figure out that a fews tries and it will connect, things went better.

Parts Needed

Make sure you set the serial connections to 9600 and 115,200. On windows use a program like Hyperterm and on Mac a program like CoolTerm. This is the normal code with no modifications by me yet. My plan now that I have it working is to decide how to incorporate it into a project.

/*
  Example Bluetooth Serial Passthrough Sketch
 by: Jim Lindblom
 SparkFun Electronics
 date: February 26, 2013
 license: Public domain

 This example sketch converts an RN-42 bluetooth module to
 communicate at 9600 bps (from 115200), and passes any serial
 data between Serial Monitor and bluetooth module.
 */
#include <SoftwareSerial.h>  

int bluetoothTx = 2;  // TX-O pin of bluetooth mate, Arduino D2
int bluetoothRx = 3;  // RX-I pin of bluetooth mate, Arduino D3

SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);

void setup()
{
  Serial.begin(9600);  // Begin the serial monitor at 9600bps

  bluetooth.begin(115200);  // The Bluetooth Mate defaults to 115200bps
  bluetooth.print("$");  // Print three times individually
  bluetooth.print("$");
  bluetooth.print("$");  // Enter command mode
  delay(100);  // Short delay, wait for the Mate to send back CMD
  bluetooth.println("U,9600,N");  // Temporarily Change the baudrate to 9600, no parity
  // 115200 can be too fast at times for NewSoftSerial to relay the data reliably
  bluetooth.begin(9600);  // Start bluetooth serial at 9600
}

void loop()
{
  if(bluetooth.available())  // If the bluetooth sent any characters
  {
    // Send any characters the bluetooth prints to the serial monitor
    Serial.print((char)bluetooth.read());  
  }
  if(Serial.available())  // If stuff was typed in the serial monitor
  {
    // Send any characters the Serial monitor prints to the bluetooth
    bluetooth.print((char)Serial.read());
  }
  // and loop forever and ever!
}


Leave a Reply

Your email address will not be published. Required fields are marked *