hello guys, i'm running a robot with arduino uno using 2 DC motors controlling them using a 4-channel relay module
and 6 servo motors -their power source is a direct 12v battery-
the 6 servos are called :
Servo servo1R;
Servo servo2R;
Servo servo3R;
Servo servo1L;
Servo servo2L;
Servo servo3L;
and i want to control them using a HC-05 Bluetooth module and a smartphone . the module works fine when i upload a code to print the values on the serial monitor only.
but i got no values on the screen when i upload the whole code of the robot. the serial monitor remains white with no values at all.
this is the robot code :
#include <SoftwareSerial.h>
SoftwareSerial HC05 (12,13); //(TX,RX)
#include <Servo.h>
Servo servo1R;
Servo servo2R;
Servo servo3R;
Servo servo1L;
Servo servo2L;
Servo servo3L;
int x=0;
float pos1R;
float pos2R;
float pos3R;
float pos1L;
float pos2L;
float pos3L;
#define IN1 5
#define IN2 6
#define IN3 9
#define IN4 10
const int servo1RP=119;
const int servo1RN=120;
const int servo2RP=122;
const int servo2RN=121;
const int servo3RP=82; // red button
const int servo3RN=66; // blue button
const int servo1LP=105;
const int servo1LN=99;
const int servo2LP=97;
const int servo2LN=101;
const int servo3LP=89; // yellow button
const int servo3LN=71; // green button
const int FWD=49;
const int FWD1=50;
const int FWD2=56;
const int BK=53;
const int BK1=52;
const int BK2=54;
const int R=51; //assume IN1,IN2 for the motor on the right
const int L=55; //assume IN3,IN4 for the motor on the left
const int Stop=48;
void setup() {
Serial.begin(9600);
HC05.begin(9600);
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
//servo1R.attach(11);
//servo2R.attach(12);
//servo3R.attach(13);
//servo1L.attach(14);
//servo2L.attach(15);
//servo3L.attach(16);
}
void loop() {
if(HC05.available())
{ x=HC05.read();
Serial.println(x);
//delay(5);
}
if(x==servo1RP)
{
pos1R=pos1R+1;
//servo1R.write(pos1R);
//delay(50);
}
if(x==servo1RN)
{
pos1R=pos1R-1;
//servo1R.write(pos1R);
//delay(50);
}
if(x==servo2RP)
{
pos2R=pos2R+1;
//servo2R.write(pos2R);
//delay(10);
}
if(x==servo2RN)
{
pos2R=pos2R-1;
//servo2R.write(pos2R);
//delay(10);
}
if(x==servo3RP)
{
pos3R=pos3R+1;
//servo3R.write(pos3R);
//delay(10);
}
if(x==servo3RN)
{
pos3R=pos3R-1;
//servo3R.write(pos3R);
//delay(10);
}
if(x==servo1LP)
{
pos1L=pos1L+1;
//servo1L.write(pos1L);
//delay(10);
}
if(x==servo1LN)
{
pos1L=pos1L-1;
//servo1L.write(pos1L);
//delay(10);
}
if(x==servo2LP)
{
pos2L=pos2L+1;
//servo2L.write(pos2L);
//delay(10);
}
if(x==servo2LN)
{
pos2L=pos2L-1;
//servo2L.write(pos2L);
//delay(10);
}
if(x==servo3LP)
{
pos3L=pos3L+1;
//servo3L.write(pos3L);
//delay(10);
}
if(x==servo3LN)
{
pos3L=pos3L-1;
// servo3L.write(pos3L);
//delay(10);
}
if(x==Stop)
{
digitalWrite(IN1,HIGH);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,HIGH);
}
if(x==FWD || x==FWD1 || x==FWD2)
{
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
}
if(x==BK || x==BK1 || x==BK2)
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
}
if(x==R)
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
}
if(x==L)
{
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
}
else
{
digitalWrite(IN1,HIGH);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,HIGH);
}
}
thanks in advance for your help.