69 lines
1.9 KiB
C++
Executable File
69 lines
1.9 KiB
C++
Executable File
/*
|
|
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*/
|
|
|
|
delay(1000);
|
|
|
|
bluetooth.begin(9600); // Start bluetooth serial at 9600
|
|
bluetooth.print("$"); // Print three times individually
|
|
bluetooth.print("$");
|
|
bluetooth.print("$");
|
|
read();
|
|
delay(1000);
|
|
bluetooth.println("SA,0");
|
|
read();
|
|
bluetooth.println("SM,6");
|
|
read();
|
|
delay(1000);
|
|
bluetooth.println("C");
|
|
read();
|
|
}
|
|
|
|
void read() {
|
|
while (bluetooth.available()) {
|
|
// Send any characters the bluetooth prints to the serial monitor
|
|
Serial.print((char)bluetooth.read());
|
|
delay(50);
|
|
}
|
|
}
|
|
|
|
void write() {
|
|
while (Serial.available()) {
|
|
// Send any characters the Serial monitor prints to the bluetooth
|
|
bluetooth.print((char)Serial.read());
|
|
delay(50);
|
|
}
|
|
// and loop forever and ever!
|
|
}
|
|
|
|
void loop() {
|
|
bluetooth.write(42);
|
|
delay(500);
|
|
}
|