Hi i have arduino due and HC-05. I have installed ArduinoBlue ArduinoBlue which requires SoftwareSerial.h and great mobile App
How do I fix this?
Adding SoftwareSerial.h manually makes million of errors. My Arduino mega practically died with Timeout error when uploading code so I only have due
#include <SoftwareSerial.h>
#include <ArduinoBlue.h>
int PUL = 48; //define Pulse pin
int DIR = 50; //define Direction pin
int ENA = 52; //define Enable Pin
const int BLUETOOTH_TX = 8;
// Bluetooth RX -> Arduino D7
const int BLUETOOTH_RX = 7;
SoftwareSerial bluetooth(BLUETOOTH_TX, BLUETOOTH_RX);
ArduinoBlue phone(bluetooth); // pass reference of bluetooth object to ArduinoBlue constructor.
int speed = 10000;
int enabled = 1;
int dir = 0;
int forLoop = 0;
void setup() {
pinMode (PUL, OUTPUT);
pinMode (DIR, OUTPUT);
pinMode (ENA, OUTPUT);
pinMode (PUL2, OUTPUT);
pinMode (DIR2, OUTPUT);
pinMode (ENA2, OUTPUT);
digitalWrite(ENA, enabled);
Serial.begin(9600);
// Start bluetooth serial at 9600 bps.
bluetooth.begin(9600);
// delay just in case bluetooth module needs time to "get ready".
delay(100);
Serial.println("setup complete");
}
void loop()
{
int state = 99;
state = phone.getButton();
// Returns the text data sent from the phone.
// After it returns the latest data, empty string "" is sent in subsequent.
// calls until text data is sent again.
String str = phone.getText();
if(str.length() > 0 )
{
speed = str.toInt();
Serial.println(speed);
}
Serial.println(state);
if (state == 0) //play
{
enabled = 0;
Serial.println("enabled 0");
}
else if (state == 1) //stop
{
enabled = 1;
Serial.println("enabled 1");
}
else if (state == 2) //dir
{
dir = 0;
Serial.println("dir 0");
}
else if (state == 3) //dir 2
{
dir = 1;
Serial.println("dir 1");
}
else
{
Serial.println("state 99");
state = 99;
}
digitalWrite(ENA, enabled);
if(enabled == 0 && speed >= 10)
{
forLoop = speed/10;
for (int i = 0; i < forLoop ; i++) //UP 5000 steps
{
digitalWrite(DIR, dir);
digitalWrite(ENA, enabled);
digitalWrite(PUL, HIGH);
delayMicroseconds(speed);
digitalWrite(PUL, LOW);
delayMicroseconds(speed);
}
}
}