Hi Guys,
I recently made a RC Car using Arduino Nano + HC-05.
I want help on adding a control of managing speed, can someone tell me how to add it.
My code-
int led = 13; //led
int outPin1 = 5; //motor1
int outPin2 = 6; //motor1
int outPin4 = 9; //motor2
int outPin3 = 10; //motor2
int frontled = 3; //front lights
int backled = 4; //back lights
int buzzer = 7; //buzzer
char bt = 0; //BT
void setup()
{
Serial.begin(9600);
pinMode(outPin1,OUTPUT);
pinMode(outPin2,OUTPUT);
pinMode(outPin3,OUTPUT);
pinMode(outPin4,OUTPUT);
pinMode(frontled,OUTPUT);
pinMode(backled,OUTPUT);
pinMode(buzzer,OUTPUT);
pinMode(led,OUTPUT);
}
void loop()
{
if (Serial.available() > 0)
{
bt = Serial.read();
digitalWrite(led, 1);
if(bt == 'F') //move forwards
{
digitalWrite(outPin1,HIGH);
digitalWrite(outPin2,LOW);
digitalWrite(outPin3,HIGH);
digitalWrite(outPin4,LOW);
digitalWrite(frontled,LOW);
digitalWrite(backled,LOW);
digitalWrite(buzzer,LOW);
}
else if (bt == 'B') //move backwards
{
digitalWrite(outPin1,LOW);
digitalWrite(outPin2,HIGH);
digitalWrite(outPin3,LOW);
digitalWrite(outPin4,HIGH);
digitalWrite(frontled,LOW);
digitalWrite(backled,LOW);
digitalWrite(buzzer,LOW);
}
else if (bt == 'S') //stop!!
{
digitalWrite(outPin1,LOW);
digitalWrite(outPin2,LOW);
digitalWrite(outPin3,LOW);
digitalWrite(outPin4,LOW);
digitalWrite(frontled,LOW);
digitalWrite(backled,LOW);
digitalWrite(buzzer,LOW);
}
else if (bt == 'R') //right
{
digitalWrite(outPin1,HIGH);
digitalWrite(outPin2,LOW);
digitalWrite(outPin3,LOW);
digitalWrite(outPin4,LOW);
digitalWrite(frontled,LOW);
digitalWrite(backled,LOW);
digitalWrite(buzzer,LOW);
}
else if (bt == 'L') //left
{
digitalWrite(outPin1,LOW);
digitalWrite(outPin2,LOW);
digitalWrite(outPin3,HIGH);
digitalWrite(outPin4,LOW);
digitalWrite(frontled,LOW);
digitalWrite(backled,LOW);
digitalWrite(buzzer,LOW);
}
else if (bt == 'I') //forward right
{
digitalWrite(outPin1,HIGH);
digitalWrite(outPin2,LOW);
digitalWrite(outPin3,LOW);
digitalWrite(outPin4,HIGH);
digitalWrite(frontled,LOW);
digitalWrite(backled,LOW);
digitalWrite(buzzer,LOW);
}
else if (bt == 'G') //forward left
{
digitalWrite(outPin1,LOW);
digitalWrite(outPin2,HIGH);
digitalWrite(outPin3,HIGH);
digitalWrite(outPin4,LOW);
digitalWrite(frontled,LOW);
digitalWrite(backled,LOW);
digitalWrite(buzzer,LOW);
}
else if (bt == 'W') //front led on
{
digitalWrite(outPin1,LOW);
digitalWrite(outPin2,LOW);
digitalWrite(outPin3,LOW);
digitalWrite(outPin4,LOW);
digitalWrite(frontled,HIGH);
digitalWrite(backled,LOW);
digitalWrite(buzzer,LOW);
}
else if (bt == 'U') //back led on
{
digitalWrite(outPin1,LOW);
digitalWrite(outPin2,LOW);
digitalWrite(outPin3,LOW);
digitalWrite(outPin4,LOW);
digitalWrite(frontled,LOW);
digitalWrite(backled,HIGH);
digitalWrite(buzzer,LOW);
}
else if (bt == 'w') //front led off
{
digitalWrite(outPin1,LOW);
digitalWrite(outPin2,LOW);
digitalWrite(outPin3,LOW);
digitalWrite(outPin4,LOW);
digitalWrite(frontled,LOW);
digitalWrite(backled,LOW);
digitalWrite(buzzer,LOW);
}
else if (bt == 'u')//back led off
{
digitalWrite(outPin1,LOW);
digitalWrite(outPin2,LOW);
digitalWrite(outPin3,LOW);
digitalWrite(outPin4,LOW);
digitalWrite(frontled,LOW);
digitalWrite(backled,LOW);
digitalWrite(buzzer,LOW);
}
else if (bt == 'V') //buzzer on
{
digitalWrite(outPin1,LOW);
digitalWrite(outPin2,LOW);
digitalWrite(outPin3,LOW);
digitalWrite(outPin4,LOW);
digitalWrite(frontled,LOW);
digitalWrite(backled,LOW);
digitalWrite(buzzer,HIGH);
}
else if (bt == 'v') //buzzer off
{
digitalWrite(outPin1,LOW);
digitalWrite(outPin2,LOW);
digitalWrite(outPin3,LOW);
digitalWrite(outPin4,LOW);
digitalWrite(frontled,LOW);
digitalWrite(backled,LOW);
digitalWrite(buzzer,LOW);
}
}
}
I am using the app - 'Bluetooth RC Controller' by Andi.Co
And it is having a function to control speed via slider, can anyone please tell me how can I add the speed control in my code.
Regards,
TechDroidROOT
arduino_code.ino (4.42 KB)