Hey so, Im new to connection between Arduino and Android, and I tried to connect My hc-05 to my android using RemoteXY, with the objective of "driving" a dc motor car, I have the l293d Shield connected directly to the Arduino and I connected the bluetooth module to 7 and 8 pins, (RX and TX) and I connected the VCC to 5V port and GND to GND Port.
When I try to connect to the bluetooth of hc-05 it says this: "socket connect error: read failed,socket might closed or timeout, read ret: -1", I tried to change somethings in my code and nothing worked. Besides that I searched for the problem and nothing appears, Can someone say what it is? And what I have to do? Pls need this for a project for school thank you.
My code:
#define REMOTEXY_MODE__SOFTWARESERIAL
#include <SoftwareSerial.h>
#include <RemoteXY.h>
// RemoteXY connection settings
#define REMOTEXY_SERIAL_RX 8
#define REMOTEXY_SERIAL_TX 7
#define REMOTEXY_SERIAL_SPEED 9600
// RemoteXY configurate
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
{ 255, 4, 0, 0, 0, 82, 0, 8, 28, 2,
5, 16, 65, 27, 30, 30, 30, 64, 30, 30,
31, 25, 2, 2, 1, 3, 3, 23, 12, 2,
3, 22, 11, 49, 25, 31, 31, 79, 78, 0,
79, 70, 70, 0, 2, 1, 41, 18, 22, 5,
21, 54, 22, 5, 2, 26, 16, 31, 82, 0,
76, 0, 129, 0, 65, 1, 33, 4, 28, 6,
32, 4, 24, 67, 111, 110, 116, 114, 111, 108,
111, 32, 82, 101, 109, 111, 116, 111, 0
};
// this structure defines all the variables of your control interface
struct {
// input variable
int8_t joystick_1_x; // =-100..100 x-coordinate joystick position
int8_t joystick_1_y; // =-100..100 y-coordinate joystick position
uint8_t switch_1; // =1 if switch ON and =0 if OFF
uint8_t switch_2; // =1 if switch ON and =0 if OFF
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)
/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////
#include <AFMotor.h>
AF_DCMotor rightMotor(3, MOTOR12_64KHZ); //Declaração dos 4 motores DC
AF_DCMotor leftMotor(2, MOTOR12_64KHZ);
AF_DCMotor rightMotor1(4, MOTOR12_64KHZ);
AF_DCMotor leftMotor1(1, MOTOR12_64KHZ);
String readString;
void setup()
{
RemoteXY_Init();
Serial.begin(9600);
rightMotor.setSpeed(170);
leftMotor.setSpeed(170);
rightMotor1.setSpeed(170);
leftMotor1.setSpeed(170);
}
void loop()
{
RemoteXY_Handler();
while (Serial.available()) {
delay(50);
char c = Serial.read();
readString += c;
}
if (readString.length() > 0) {
Serial.println(readString);
if (readString == "FORWARD") {
rightMotor.run (FORWARD);
leftMotor.run (BACKWARD);
rightMotor.run(FORWARD);
leftMotor1.run (FORWARD);
delay(500);
}
if (readString == "BACKWARD") {
rightMotor.run (BACKWARD);
leftMotor.run (FORWARD);
rightMotor1.run (BACKWARD);
leftMotor1.run (BACKWARD);
delay(500);
}
if (readString == "LEFT") {
leftMotor.run(BACKWARD);
rightMotor.run(FORWARD);
leftMotor1.run(BACKWARD);
rightMotor1.run(FORWARD);
delay(500);
}
if (readString == "RIGHT") {
leftMotor.run(BACKWARD);
rightMotor.run(BACKWARD);
leftMotor1.run(FORWARD);
rightMotor1.run(BACKWARD);
delay(500);
}
if (readString == "STOP") {
leftMotor.run(RELEASE); //Desliga os motores
rightMotor.run(RELEASE);
leftMotor1.run(RELEASE);
rightMotor1.run(RELEASE);
delay(500);
}
readString = "";
}
}