Good day! we would like to ask help about our code, another problem resurface and it's the part where the start is Left_ Tra and the end is the stop

#include "IR_remote.h"
#include "keymap.h"

IRremote ir(3);

#include <Servo.h>

int base_degress;
int arm_degress;
int claw_degress;
int counter;
int Left_Tra_Value;
int Center_Tra_Value;
int Right_Tra_Value;
int Black_Line;

Servo myservo1;
Servo myservo2;
Servo myservo3;

void setup()
{
IRremote ir(3);

base_degress = 90;
arm_degress = 90;
claw_degress = 90;
counter = 1;
myservo1.attach(9);
myservo2.attach(10);
myservo3.attach(11);
myservo1.write(claw_degress);
delay(500);
myservo2.write(arm_degress);
delay(500);
myservo3.write(base_degress);
delay(500);
pinMode(2, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(6, OUTPUT);
Stop();
Serial.begin(9600);
pinMode(7, INPUT);//Left line tracking sensor is connected to the digital IO port D7
pinMode(8, INPUT);//Center line patrol sensor is connected to the digital IO port D8
pinMode(A1, INPUT);//Right line tracking sensor is connected to the digital IO port D9
Left_Tra_Value = 1;
Center_Tra_Value = 1;
Right_Tra_Value = 1;
Black_Line = 1;
pinMode(7, INPUT);
pinMode(8, INPUT);
pinMode(A1, INPUT);
pinMode(2, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(6, OUTPUT);
}
void intialize(){
myservo1.write(90);//make claw servo 1 rotate to 90°
delay(200);
myservo2.write(135);//make arm servo 2 rotate to 135°
delay(200);
myservo3.write(90);//make base servo 3 rotate to 90°
delay(200);
}
void loop(){

if(counter==1) // do only if counter is 1
{
intialize();
counter--; //decrease counter by 1
}

if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_UP) {
Move_Forward(100);
delay(300);
Stop();

} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_DOWN) {
Move_Backward(100);
delay(300);
Stop();
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_LEFT) {
Rotate_Left(70);
delay(300);
Stop();
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_RIGHT) {
Rotate_Right(70);
delay(300);
Stop();
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_OK) {
Stop();
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_9) {
claw_degress = claw_degress - 5;
if (claw_degress <= 50) {
claw_degress = 50;

}
myservo1.write(claw_degress);
delay(2);

} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_7) {
claw_degress = claw_degress + 5;
if (claw_degress >= 180) {
claw_degress = 180;
}
myservo1.write(claw_degress);
delay(2);
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_2) {
arm_degress = arm_degress + 5;
if (arm_degress >= 180) {
arm_degress = 180;

}
myservo2.write(arm_degress);
delay(2);

} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_8) {
arm_degress = arm_degress - 5;
if (arm_degress <= 0) {
arm_degress = 0;

}
myservo2.write(arm_degress);
delay(2);

} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_4) {
base_degress = base_degress + 5;
if (base_degress >= 180) {
base_degress = 180;

}
myservo3.write(base_degress);
delay(2);

} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_6) {
base_degress = base_degress - 5;
if (base_degress <= 0) {
base_degress = 0;

}
myservo3.write(base_degress);
delay(2);

}

}
void Move_Backward(int speed) {
digitalWrite(2,LOW);
analogWrite(5,speed);
digitalWrite(4,HIGH);
analogWrite(6,speed);
}

void Rotate_Right(int speed) {
digitalWrite(2,HIGH);
analogWrite(5,speed);
digitalWrite(4,HIGH);
analogWrite(6,speed);
}

void Rotate_Left(int speed) {
digitalWrite(2,LOW);
analogWrite(5,speed);
digitalWrite(4,LOW);
analogWrite(6,speed);
}

void Stop() {
digitalWrite(2,LOW);
analogWrite(5,0);
digitalWrite(4,HIGH);
analogWrite(6,0);
}

void Move_Forward(int speed) {
digitalWrite(2,HIGH);
analogWrite(5,speed);
digitalWrite(4,LOW);
analogWrite(6,speed);
}
void Infrared_Tracing()
{
int Left_Tra_Value = 1;
int Center_Tra_Value = 1;
int Right_Tra_Value = 1;
Left_Tra_Value = digitalRead(7);
Center_Tra_Value = digitalRead(8);
Right_Tra_Value = digitalRead(A1);
Serial.print("Left Tracking value:");
Serial.println(Left_Tra_Value);
Serial.print("Center Tracking value:");
Serial.println(Center_Tra_Value);
Serial.print("Right Tracking value:");
Serial.println(Right_Tra_Value);
Serial.println("");
delay(500);
}
Left_Tra_Value = digitalRead(7);
Center_Tra_Value = digitalRead(8);
Right_Tra_Value = digitalRead(A1);
if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
Move_Forward(120);

} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
Rotate_Left(80);
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value != Black_Line)) {
Rotate_Left(120);
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value == Black_Line)) {
Rotate_Right(120);
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
Rotate_Right(80);
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
Stop();
}

}

void Move_Forward(int speed) {
digitalWrite(2,HIGH);
analogWrite(5,speed);
digitalWrite(4,LOW);
analogWrite(6,speed);
}

void Stop() {
digitalWrite(2,LOW);
analogWrite(5,0);
digitalWrite(4,HIGH);
analogWrite(6,0);
}

void Move_Backward(int speed) {
digitalWrite(2,LOW);
analogWrite(5,speed);
digitalWrite(4,HIGH);
analogWrite(6,speed);
}

void Rotate_Right(int speed) {
digitalWrite(2,HIGH);
analogWrite(5,speed);
digitalWrite(4,HIGH);
analogWrite(6,speed);
}

void Rotate_Left(int speed) {
digitalWrite(2,LOW);
analogWrite(5,speed);
digitalWrite(4,LOW);
analogWrite(6,speed);
}

Hello, please take a look at the stickies at the top of the forum,
It helps to provide a schematic/drawing of wiring, and put code in code tags like

code

See:

2222:196:3: error: 'Left_Tra_Value' does not name a type
Left_Tra_Value = digitalRead(7);
^~~~~~~~~~~~~~
2222:197:3: error: 'Center_Tra_Value' does not name a type
Center_Tra_Value = digitalRead(8);
^~~~~~~~~~~~~~~~
2222:198:3: error: 'Right_Tra_Value' does not name a type
Right_Tra_Value = digitalRead(A1);
^~~~~~~~~~~~~~~
2222:199:3: error: expected unqualified-id before 'if'
if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
^~
2222:202:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
^~~~
2222:204:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value != Black_Line)) {
^~~~
2222:206:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value == Black_Line)) {
^~~~
2222:208:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
^~~~
2222:210:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
^~~~
2222:214:1: error: expected declaration before '}' token
}
^
Multiple libraries were found for "Servo.h"
Used: C:\Users\jyank\OneDrive\Documents\Arduino\libraries\Servo
Not used: C:\Program Files (x86)\Arduino\libraries\Servo
exit status 1
'Left_Tra_Value' does not name a type


#include "IR_remote.h"
#include "keymap.h"

IRremote ir(3);

#include <Servo.h>

int base_degress;
int arm_degress;
int claw_degress;
int counter;
int Left_Tra_Value;
int Center_Tra_Value;
int Right_Tra_Value;
int Black_Line;

Servo myservo1;
Servo myservo2;
Servo myservo3;

void setup()
{
IRremote ir(3);

base_degress = 90;
arm_degress = 90;
claw_degress = 90;
counter = 1;
myservo1.attach(9);
myservo2.attach(10);
myservo3.attach(11);
myservo1.write(claw_degress);
delay(500);
myservo2.write(arm_degress);
delay(500);
myservo3.write(base_degress);
delay(500);
pinMode(2, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(6, OUTPUT);
Stop();
Serial.begin(9600);
pinMode(7, INPUT);//Left line tracking sensor is connected to the digital IO port D7
pinMode(8, INPUT);//Center line patrol sensor is connected to the digital IO port D8
pinMode(A1, INPUT);//Right line tracking sensor is connected to the digital IO port D9
Left_Tra_Value = 1;
Center_Tra_Value = 1;
Right_Tra_Value = 1;
Black_Line = 1;
pinMode(7, INPUT);
pinMode(8, INPUT);
pinMode(A1, INPUT);
pinMode(2, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(6, OUTPUT);
}
void intialize(){
myservo1.write(90);//make claw servo 1 rotate to 90°
delay(200);
myservo2.write(135);//make arm servo 2 rotate to 135°
delay(200);
myservo3.write(90);//make base servo 3 rotate to 90°
delay(200);
}
void loop(){

if(counter==1) // do only if counter is 1
{
intialize();
counter--; //decrease counter by 1
}

if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_UP) {
Move_Forward(100);
delay(300);
Stop();

} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_DOWN) {
Move_Backward(100);
delay(300);
Stop();
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_LEFT) {
Rotate_Left(70);
delay(300);
Stop();
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_RIGHT) {
Rotate_Right(70);
delay(300);
Stop();
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_OK) {
Stop();
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_9) {
claw_degress = claw_degress - 5;
if (claw_degress <= 50) {
claw_degress = 50;

}
myservo1.write(claw_degress);
delay(2);
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_7) {
claw_degress = claw_degress + 5;
if (claw_degress >= 180) {
claw_degress = 180;
}
myservo1.write(claw_degress);
delay(2);
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_2) {
arm_degress = arm_degress + 5;
if (arm_degress >= 180) {
arm_degress = 180;

}
myservo2.write(arm_degress);
delay(2);
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_8) {
arm_degress = arm_degress - 5;
if (arm_degress <= 0) {
arm_degress = 0;

}
myservo2.write(arm_degress);
delay(2);
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_4) {
base_degress = base_degress + 5;
if (base_degress >= 180) {
base_degress = 180;

}
myservo3.write(base_degress);
delay(2);
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_6) {
base_degress = base_degress - 5;
if (base_degress <= 0) {
base_degress = 0;

}
myservo3.write(base_degress);
delay(2);
}

}
void Move_Backward(int speed) {
digitalWrite(2,LOW);
analogWrite(5,speed);
digitalWrite(4,HIGH);
analogWrite(6,speed);
}

void Rotate_Right(int speed) {
digitalWrite(2,HIGH);
analogWrite(5,speed);
digitalWrite(4,HIGH);
analogWrite(6,speed);
}

void Rotate_Left(int speed) {
digitalWrite(2,LOW);
analogWrite(5,speed);
digitalWrite(4,LOW);
analogWrite(6,speed);
}

void Stop() {
digitalWrite(2,LOW);
analogWrite(5,0);
digitalWrite(4,HIGH);
analogWrite(6,0);
}

void Move_Forward(int speed) {
digitalWrite(2,HIGH);
analogWrite(5,speed);
digitalWrite(4,LOW);
analogWrite(6,speed);
}
void Infrared_Tracing()
{
int Left_Tra_Value = 1;
int Center_Tra_Value = 1;
int Right_Tra_Value = 1;
Left_Tra_Value = digitalRead(7);
Center_Tra_Value = digitalRead(8);
Right_Tra_Value = digitalRead(A1);
Serial.print("Left Tracking value:");
Serial.println(Left_Tra_Value);
Serial.print("Center Tracking value:");
Serial.println(Center_Tra_Value);
Serial.print("Right Tracking value:");
Serial.println(Right_Tra_Value);
Serial.println("");
delay(500);
}
Left_Tra_Value = digitalRead(7);
Center_Tra_Value = digitalRead(8);
Right_Tra_Value = digitalRead(A1);
if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
Move_Forward(120);

} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
Rotate_Left(80);
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value != Black_Line)) {
Rotate_Left(120);
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value == Black_Line)) {
Rotate_Right(120);
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
Rotate_Right(80);
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
Stop();
}

}

void Move_Forward(int speed) {
digitalWrite(2,HIGH);
analogWrite(5,speed);
digitalWrite(4,LOW);
analogWrite(6,speed);
}

void Stop() {
digitalWrite(2,LOW);
analogWrite(5,0);
digitalWrite(4,HIGH);
analogWrite(6,0);
}

void Move_Backward(int speed) {
digitalWrite(2,LOW);
analogWrite(5,speed);
digitalWrite(4,HIGH);
analogWrite(6,speed);
}

void Rotate_Right(int speed) {
digitalWrite(2,HIGH);
analogWrite(5,speed);
digitalWrite(4,HIGH);
analogWrite(6,speed);
}

void Rotate_Left(int speed) {
digitalWrite(2,LOW);
analogWrite(5,speed);
digitalWrite(4,LOW);
analogWrite(6,speed);
}

Here is your code in code tags, and here is the error:


2222:196:3: error: 'Left_Tra_Value' does not name a type
Left_Tra_Value = digitalRead(7);
^~~~~~~~~~~~~~
2222:197:3: error: 'Center_Tra_Value' does not name a type
Center_Tra_Value = digitalRead(8);
^~~~~~~~~~~~~~~~
2222:198:3: error: 'Right_Tra_Value' does not name a type
Right_Tra_Value = digitalRead(A1);
^~~~~~~~~~~~~~~
2222:199:3: error: expected unqualified-id before 'if'
if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
^~
2222:202:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
^~~~
2222:204:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value != Black_Line)) {
^~~~
2222:206:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value == Black_Line)) {
^~~~
2222:208:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
^~~~
2222:210:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
^~~~
2222:214:1: error: expected declaration before '}' token
}
^
Multiple libraries were found for "Servo.h"
Used: C:\Users\jyank\OneDrive\Documents\Arduino\libraries\Servo
Not used: C:\Program Files (x86)\Arduino\libraries\Servo
exit status 1
'Left_Tra_Value' does not name a type

The does not name a type error, is likely a confusion of using local variables where global are expected, or not naming them correctly.

is there other ways to fix this kk[quote="v205, post:4, topic:1249521, full:true"]


#include "IR_remote.h"
#include "keymap.h"

IRremote ir(3);

#include <Servo.h>

int base_degress;
int arm_degress;
int claw_degress;
int counter;
int Left_Tra_Value;
int Center_Tra_Value;
int Right_Tra_Value;
int Black_Line;

Servo myservo1;
Servo myservo2;
Servo myservo3;

void setup()
{
IRremote ir(3);

base_degress = 90;
arm_degress = 90;
claw_degress = 90;
counter = 1;
myservo1.attach(9);
myservo2.attach(10);
myservo3.attach(11);
myservo1.write(claw_degress);
delay(500);
myservo2.write(arm_degress);
delay(500);
myservo3.write(base_degress);
delay(500);
pinMode(2, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(6, OUTPUT);
Stop();
Serial.begin(9600);
pinMode(7, INPUT);//Left line tracking sensor is connected to the digital IO port D7
pinMode(8, INPUT);//Center line patrol sensor is connected to the digital IO port D8
pinMode(A1, INPUT);//Right line tracking sensor is connected to the digital IO port D9
Left_Tra_Value = 1;
Center_Tra_Value = 1;
Right_Tra_Value = 1;
Black_Line = 1;
pinMode(7, INPUT);
pinMode(8, INPUT);
pinMode(A1, INPUT);
pinMode(2, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(6, OUTPUT);
}
void intialize(){
myservo1.write(90);//make claw servo 1 rotate to 90°
delay(200);
myservo2.write(135);//make arm servo 2 rotate to 135°
delay(200);
myservo3.write(90);//make base servo 3 rotate to 90°
delay(200);
}
void loop(){

if(counter==1) // do only if counter is 1
{
intialize();
counter--; //decrease counter by 1
}

if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_UP) {
Move_Forward(100);
delay(300);
Stop();

} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_DOWN) {
Move_Backward(100);
delay(300);
Stop();
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_LEFT) {
Rotate_Left(70);
delay(300);
Stop();
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_RIGHT) {
Rotate_Right(70);
delay(300);
Stop();
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_OK) {
Stop();
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_9) {
claw_degress = claw_degress - 5;
if (claw_degress <= 50) {
claw_degress = 50;

}
myservo1.write(claw_degress);
delay(2);
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_7) {
claw_degress = claw_degress + 5;
if (claw_degress >= 180) {
claw_degress = 180;
}
myservo1.write(claw_degress);
delay(2);
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_2) {
arm_degress = arm_degress + 5;
if (arm_degress >= 180) {
arm_degress = 180;

}
myservo2.write(arm_degress);
delay(2);
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_8) {
arm_degress = arm_degress - 5;
if (arm_degress <= 0) {
arm_degress = 0;

}
myservo2.write(arm_degress);
delay(2);
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_4) {
base_degress = base_degress + 5;
if (base_degress >= 180) {
base_degress = 180;

}
myservo3.write(base_degress);
delay(2);
} else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_6) {
base_degress = base_degress - 5;
if (base_degress <= 0) {
base_degress = 0;

}
myservo3.write(base_degress);
delay(2);
}

}
void Move_Backward(int speed) {
digitalWrite(2,LOW);
analogWrite(5,speed);
digitalWrite(4,HIGH);
analogWrite(6,speed);
}

void Rotate_Right(int speed) {
digitalWrite(2,HIGH);
analogWrite(5,speed);
digitalWrite(4,HIGH);
analogWrite(6,speed);
}

void Rotate_Left(int speed) {
digitalWrite(2,LOW);
analogWrite(5,speed);
digitalWrite(4,LOW);
analogWrite(6,speed);
}

void Stop() {
digitalWrite(2,LOW);
analogWrite(5,0);
digitalWrite(4,HIGH);
analogWrite(6,0);
}

void Move_Forward(int speed) {
digitalWrite(2,HIGH);
analogWrite(5,speed);
digitalWrite(4,LOW);
analogWrite(6,speed);
}
void Infrared_Tracing()
{
int Left_Tra_Value = 1;
int Center_Tra_Value = 1;
int Right_Tra_Value = 1;
Left_Tra_Value = digitalRead(7);
Center_Tra_Value = digitalRead(8);
Right_Tra_Value = digitalRead(A1);
Serial.print("Left Tracking value:");
Serial.println(Left_Tra_Value);
Serial.print("Center Tracking value:");
Serial.println(Center_Tra_Value);
Serial.print("Right Tracking value:");
Serial.println(Right_Tra_Value);
Serial.println("");
delay(500);
}
Left_Tra_Value = digitalRead(7);
Center_Tra_Value = digitalRead(8);
Right_Tra_Value = digitalRead(A1);
if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
Move_Forward(120);

} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
Rotate_Left(80);
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value != Black_Line)) {
Rotate_Left(120);
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value == Black_Line)) {
Rotate_Right(120);
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
Rotate_Right(80);
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
Stop();
}

}

void Move_Forward(int speed) {
digitalWrite(2,HIGH);
analogWrite(5,speed);
digitalWrite(4,LOW);
analogWrite(6,speed);
}

void Stop() {
digitalWrite(2,LOW);
analogWrite(5,0);
digitalWrite(4,HIGH);
analogWrite(6,0);
}

void Move_Backward(int speed) {
digitalWrite(2,LOW);
analogWrite(5,speed);
digitalWrite(4,HIGH);
analogWrite(6,speed);
}

void Rotate_Right(int speed) {
digitalWrite(2,HIGH);
analogWrite(5,speed);
digitalWrite(4,HIGH);
analogWrite(6,speed);
}

void Rotate_Left(int speed) {
digitalWrite(2,LOW);
analogWrite(5,speed);
digitalWrite(4,LOW);
analogWrite(6,speed);
}

Here is your code in code tags, and here is the error:


2222:196:3: error: 'Left_Tra_Value' does not name a type
Left_Tra_Value = digitalRead(7);
^~~~~~~~~~~~~~
2222:197:3: error: 'Center_Tra_Value' does not name a type
Center_Tra_Value = digitalRead(8);
^~~~~~~~~~~~~~~~
2222:198:3: error: 'Right_Tra_Value' does not name a type
Right_Tra_Value = digitalRead(A1);
^~~~~~~~~~~~~~~
2222:199:3: error: expected unqualified-id before 'if'
if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
^~
2222:202:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
^~~~
2222:204:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value != Black_Line)) {
^~~~
2222:206:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value == Black_Line)) {
^~~~
2222:208:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
^~~~
2222:210:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
^~~~
2222:214:1: error: expected declaration before '}' token
}
^
Multiple libraries were found for "Servo.h"
Used: C:\Users\jyank\OneDrive\Documents\Arduino\libraries\Servo
Not used: C:\Program Files (x86)\Arduino\libraries\Servo
exit status 1
'Left_Tra_Value' does not name a type

The does not name a type error, is likely a confusion of using local variables where global are expected, or not naming them correctly.
[/quote]

is there other ways to fix this problem?

This code looks weird:


void Infrared_Tracing() {
  int Left_Tra_Value = 1;
  int Center_Tra_Value = 1;
  int Right_Tra_Value = 1;
  Left_Tra_Value = digitalRead(7);
  Center_Tra_Value = digitalRead(8);
  Right_Tra_Value = digitalRead(A1);
  Serial.print("Left Tracking value:");
  Serial.println(Left_Tra_Value);
  Serial.print("Center Tracking value:");
  Serial.println(Center_Tra_Value);
  Serial.print("Right Tracking value:");
  Serial.println(Right_Tra_Value);
  Serial.println("");
  delay(500);
}
Left_Tra_Value = digitalRead(7);
Center_Tra_Value = digitalRead(8);
Right_Tra_Value = digitalRead(A1);
if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
  Move_Forward(120);

} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
  Rotate_Left(80);
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value != Black_Line)) {
  Rotate_Left(120);
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value == Black_Line)) {
  Rotate_Right(120);
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
  Rotate_Right(80);
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
  Stop();
}

}

void Move_Forward(int speed) {
  digitalWrite(2, HIGH);
  analogWrite(5, speed);
  digitalWrite(4, LOW);
  analogWrite(6, speed);
}

Some of the code isn’t in a function, and isn’t in setup or loop.

where should we include this in the code mentioned

Hi, @coolpol12
Welcome to the forum.

Sorry, but can you start by explaining what your project is?
Explain how it is supposed to work?

Can you please tell us your electronics, programming, arduino, hardware experience?

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

2 Likes

LAFVIN 4WD Robot Arm Smart Car V2.2
that is the name of the prototype

we are using arduino uno

thank you for helping us

If you are using that…
This might be helpful.

thank you for the help

Sorry. I saw a bunch of servos and though "Braccio"... ignore my mess...

@coolpol12 - I will try to answer your questions... I just need to read this topic first.

You are using the Braccio Robot Arm. You should try to make small programs to operate one device at a time. The link to the Forum LAFVIN 2WD car is an example of how to make each device work in a program before combining the programs. (warning: the Forum LAFVIN 2WD topic is not finished - see "updating" in the topic).

https://docs.arduino.cc/retired/getting-started-guides/Braccio/

1 Like
  1. You have two function definitison for Move_Forward... (lines 177 and 220) you can only have one.
  2. On the Move_Forward around line 220, the close brace } immediately before is one-too-many and should be deleted.
  3. Where did you get IR_remote.h?
  4. Where did you get keymap.h?
2 Likes

@coolpol12
Given the help you are getting here don’t you think you could take 15 seconds to edit (little pencil below your post) your first post and add code tags and as you are at it don’t use the title to tell your long story - make a short summary title and put all explanations in the post itself.

Thanks in advance to help us keep the forum a nice looking place

To keep everybody on the same page.

Tom... :smiley: :+1: :coffee: :australia:

1 Like

#include "IR_remote.h"
#include "keymap.h"

IRremote ir(3);

#include <Servo.h>

int base_degress;
int arm_degress;
int claw_degress;
int counter;
int Left_Tra_Value;
int Center_Tra_Value;
int Right_Tra_Value;
int Black_Line;


Servo myservo1;
Servo myservo2;
Servo myservo3;

void setup()
{
  IRremote ir(3);

  base_degress = 90;
  arm_degress = 90;
  claw_degress = 90;
  counter = 1;
  myservo1.attach(9);
  myservo2.attach(10);
  myservo3.attach(11);
  myservo1.write(claw_degress);
  delay(500);
  myservo2.write(arm_degress);
  delay(500);
  myservo3.write(base_degress);
  delay(500);
  pinMode(2, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(6, OUTPUT);
  Stop();
  Serial.begin(9600);
  pinMode(7, INPUT);//Left line tracking sensor is connected to the digital IO port D7
  pinMode(8, INPUT);//Center line patrol sensor is connected to the digital IO port D8
  pinMode(A1, INPUT);//Right line tracking sensor is connected to the digital IO port D9
  Left_Tra_Value = 1;
  Center_Tra_Value = 1;
  Right_Tra_Value = 1;
  Black_Line = 1;
  pinMode(7, INPUT);
  pinMode(8, INPUT);
  pinMode(A1, INPUT);
  pinMode(2, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(6, OUTPUT);
}
void intialize(){
  myservo1.write(90);//make claw servo 1 rotate to 90°
  delay(200);
  myservo2.write(135);//make arm servo 2 rotate to 135°
  delay(200);
  myservo3.write(90);//make base servo 3 rotate to 90°
  delay(200);
}
void loop(){

  if(counter==1) // do only if counter is 1
  {
    intialize();
    counter--; //decrease counter by 1
  }

  if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_UP) {
    Move_Forward(100);
    delay(300);
    Stop();

  } else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_DOWN) {
    Move_Backward(100);
    delay(300);
    Stop();
  } else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_LEFT) {
    Rotate_Left(70);
    delay(300);
    Stop();
  } else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_RIGHT) {
    Rotate_Right(70);
    delay(300);
    Stop();
  } else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_OK) {
    Stop();
  } else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_9) {
    claw_degress = claw_degress - 5;
    if (claw_degress <= 50) {
      claw_degress = 50;

    }
    myservo1.write(claw_degress);
    delay(2);
  } else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_7) {
    claw_degress = claw_degress + 5;
    if (claw_degress >= 180) {
      claw_degress = 180;
    }
    myservo1.write(claw_degress);
    delay(2);
  } else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_2) {
    arm_degress = arm_degress + 5;
    if (arm_degress >= 180) {
      arm_degress = 180;

    }
    myservo2.write(arm_degress);
    delay(2);
  } else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_8) {
    arm_degress = arm_degress - 5;
    if (arm_degress <= 0) {
      arm_degress = 0;

    }
    myservo2.write(arm_degress);
    delay(2);
  } else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_4) {
    base_degress = base_degress + 5;
    if (base_degress >= 180) {
      base_degress = 180;

    }
    myservo3.write(base_degress);
    delay(2);
  } else if (ir.getIrKey(ir.getCode(),1) == IR_KEYCODE_6) {
    base_degress = base_degress - 5;
    if (base_degress <= 0) {
      base_degress = 0;

    }
    myservo3.write(base_degress);
    delay(2);
  }

}
void Move_Backward(int speed) {
  digitalWrite(2,LOW);
  analogWrite(5,speed);
  digitalWrite(4,HIGH);
  analogWrite(6,speed);
}

void Rotate_Right(int speed) {
  digitalWrite(2,HIGH);
  analogWrite(5,speed);
  digitalWrite(4,HIGH);
  analogWrite(6,speed);
}

void Rotate_Left(int speed) {
  digitalWrite(2,LOW);
  analogWrite(5,speed);
  digitalWrite(4,LOW);
  analogWrite(6,speed);
}

void Stop() {
  digitalWrite(2,LOW);
  analogWrite(5,0);
  digitalWrite(4,HIGH);
  analogWrite(6,0);
}

void Move_Forward(int speed) {
  digitalWrite(2,HIGH);
  analogWrite(5,speed);
  digitalWrite(4,LOW);
  analogWrite(6,speed);
}
void Infrared_Tracing() 
{
  int Left_Tra_Value = 1;
  int Center_Tra_Value = 1;
  int Right_Tra_Value = 1;
  Left_Tra_Value = digitalRead(7);
  Center_Tra_Value = digitalRead(8);
  Right_Tra_Value = digitalRead(A1);
  Serial.print("Left Tracking value:");
  Serial.println(Left_Tra_Value);
  Serial.print("Center Tracking value:");
  Serial.println(Center_Tra_Value);
  Serial.print("Right Tracking value:");
  Serial.println(Right_Tra_Value);
  Serial.println("");
  delay(500);
}
  Left_Tra_Value = digitalRead(7);
  Center_Tra_Value = digitalRead(8);
  Right_Tra_Value = digitalRead(A1);
  if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
    Move_Forward(120);

  } else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
    Rotate_Left(80);
  } else if (Left_Tra_Value == Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value != Black_Line)) {
    Rotate_Left(120);
  } else if (Left_Tra_Value != Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value == Black_Line)) {
    Rotate_Right(120);
  } else if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
    Rotate_Right(80);
  } else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
    Stop();
  }

}




void Move_Forward(int speed) {
  digitalWrite(2,HIGH);
  analogWrite(5,speed);
  digitalWrite(4,LOW);
  analogWrite(6,speed);
}

void Stop() {
  digitalWrite(2,LOW);
  analogWrite(5,0);
  digitalWrite(4,HIGH);
  analogWrite(6,0);
}

void Move_Backward(int speed) {
  digitalWrite(2,LOW);
  analogWrite(5,speed);
  digitalWrite(4,HIGH);
  analogWrite(6,speed);
}

void Rotate_Right(int speed) {
  digitalWrite(2,HIGH);
  analogWrite(5,speed);
  digitalWrite(4,HIGH);
  analogWrite(6,speed);
}

void Rotate_Left(int speed) {
  digitalWrite(2,LOW);
  analogWrite(5,speed);
  digitalWrite(4,LOW);
  analogWrite(6,speed);
}

2222:196:3: error: 'Left_Tra_Value' does not name a type
Left_Tra_Value = digitalRead(7);
^~~~~~~~~~~~~~
2222:197:3: error: 'Center_Tra_Value' does not name a type
Center_Tra_Value = digitalRead(8);
^~~~~~~~~~~~~~~~
2222:198:3: error: 'Right_Tra_Value' does not name a type
Right_Tra_Value = digitalRead(A1);
^~~~~~~~~~~~~~~
2222:199:3: error: expected unqualified-id before 'if'
if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
^~
2222:202:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value != Black_Line)) {
^~~~
2222:204:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value != Black_Line)) {
^~~~
2222:206:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value != Black_Line && Right_Tra_Value == Black_Line)) {
^~~~
2222:208:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value != Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
^~~~
2222:210:5: error: expected unqualified-id before 'else'
} else if (Left_Tra_Value == Black_Line && (Center_Tra_Value == Black_Line && Right_Tra_Value == Black_Line)) {
^~~~
2222:214:1: error: expected declaration before '}' token
}
^
Multiple libraries were found for "Servo.h"
Used: C:\Users---\OneDrive\Documents\Arduino\libraries\Servo
Not used: C:\Program Files (x86)\Arduino\libraries\Servo
exit status 1
'Left_Tra_Value' does not name a type

Remove the extra }.

In future, please enclose error messages in code brackets (separate code tags to those enclosing your code).

1 Like

there is a following error shown up when we removed the brace

C:\Users\---\Downloads\2222\2222.ino: In function 'void Move_Forward(int)':

2222:218:6: error: redefinition of 'void Move_Forward(int)'

 void Move_Forward(int speed) {

      ^~~~~~~~~~~~

C:\Users\---\Downloads\2222\2222.ino:173:6: note: 'void Move_Forward(int)' previously defined here

 void Move_Forward(int speed) {

      ^~~~~~~~~~~~

C:\Users\---\Downloads\2222\2222.ino: In function 'void Stop()':

2222:225:6: error: redefinition of 'void Stop()'

 void Stop() {

      ^~~~

C:\Users\---\Downloads\2222\2222.ino:166:6: note: 'void Stop()' previously defined here

 void Stop() {

      ^~~~

C:\Users\---\Downloads\2222\2222.ino: In function 'void Move_Backward(int)':

2222:232:6: error: redefinition of 'void Move_Backward(int)'

 void Move_Backward(int speed) {

      ^~~~~~~~~~~~~

C:\Users\---\Downloads\2222\2222.ino:145:6: note: 'void Move_Backward(int)' previously defined here

 void Move_Backward(int speed) {

      ^~~~~~~~~~~~~

C:\Users\---\Downloads\2222\2222.ino: In function 'void Rotate_Right(int)':

2222:239:6: error: redefinition of 'void Rotate_Right(int)'

 void Rotate_Right(int speed) {

      ^~~~~~~~~~~~

C:\Users\---\Downloads\2222\2222.ino:152:6: note: 'void Rotate_Right(int)' previously defined here

 void Rotate_Right(int speed) {

      ^~~~~~~~~~~~

C:\Users\---\Downloads\2222\2222.ino: In function 'void Rotate_Left(int)':

2222:246:6: error: redefinition of 'void Rotate_Left(int)'

 void Rotate_Left(int speed) {

      ^~~~~~~~~~~

C:\Users\jyank\Downloads\2222\2222.ino:159:6: note: 'void Rotate_Left(int)' previously defined here

 void Rotate_Left(int speed) {

      ^~~~~~~~~~~

Multiple libraries were found for "Servo.h"

 Used: C:\Users\---\OneDrive\Documents\Arduino\libraries\Servo

 Not used: C:\Program Files (x86)\Arduino\libraries\Servo

exit status 1

redefinition of 'void Move_Forward(int)'

Yes. What are these errors telling you?