Hi ryanas,
searching around for some code for this realy beautiful Bluetooth Serial Link, I found your post.
Here is the results of my work today to talk from Androit with BlueTerm to Arduino.
Maybe it'll take you further:
Code: Select all
#include <SoftwareSerial.h>
SoftwareSerial mySerial = SoftwareSerial(8,7);
int mode,a,i;
char c;
float float_a, float_b;
char* myStrings[]={"Adafruit", "Ladyada", "Bluefruit","Arduino", "Open Source","Beta Test"};
char* info = {"\n[1]number (int) - [2]char (5 times) - [3]string \n[4] float out - [5]float in - [6] enter string"};
char* test[5]={};
void setup()
{
randomSeed(0);
mySerial.begin(9600);
mySerial.println("Bluetooth Serial Test with\nBluefruit EZ-Link\n");
mySerial.println(info);
}
void loop()
{
if (mySerial.available()){
mode = mySerial.parseInt(); // get integer -> with your selection
switch(mode){
case 1: // send integer value to Arduino and back
mySerial.print("enter value: \n");
while(!mySerial.available()) delay(1); // wait till there is a input
a = mySerial.parseInt();
mySerial.print("value was: ");
mySerial.print(a);
mySerial.println(info); // print info again..
break;
case 2:
mySerial.print("enter char: \n"); // sends 5 times one char to Arduino and back
for(i = 1; i<6;i++){
while(!mySerial.available()) delay(1);
c = mySerial.read();
mySerial.print(i);
mySerial.print(".-char was: ");
mySerial.print(c);
mySerial.println();
}
mySerial.println(info);
break;
case 3:
for (int i = 0; i < 6; i++){
mySerial.println(myStrings[i]); // strings works too
delay(200);
}
mySerial.println(info);
break;
case 4:
mySerial.println("float: "); // arduino send one flote value
float_a = random();
float_b = random();
mySerial.print(float_a / float_b);
break;
case 5:
mySerial.println("give me a float"); // send one folat to Arduino
while(!mySerial.available()) delay(1);
float_a = mySerial.parseFloat();
mySerial.println(float_a);
mySerial.println(info);
break;
case 6:
mySerial.println("enter string: (not finished...)"); //send a string to Arduino does not work, yet...
//while(!mySerial.available());
//mySerial.readBytes(a,test,5); // Serial.readBytes does not work with SoftwareSerial :(
mySerial.println(info);
break;
default:
mySerial.println("\ndefault\n");
mySerial.println(info);
}
}
else delay(100);
}
My question or problem is only if it is normal that have to disconnect EZ-Link from Arduino bevor i can successfully upload a new sketch?