Hey guys,
My program for multiple Sonar sensors, is giving the next fault:
'SonarSensor' was not declared in this scope
Does anyone know, what's wrong in the code..?
//
#define trigPin1 2
#define echoPin1 3
#define trigPin2 4
#define echoPin2 5
#define trigPin3 7
#define echoPin3 8
int ledPin = 13;
int WaardeVoor;
int WaardeLinks;
int WaardeRechts;
int SonarSensor;
long duration, distance, RightSensor, FrontSensor, LeftSensor;
void setup()
{
Serial.begin (9600);
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
pinMode(trigPin3, OUTPUT);
pinMode(echoPin3, INPUT);
}
void loop() {
SonarSensor(trigPin1, echoPin1);
RightSensor = distance;
WaardeRechts = RightSensor;
SonarSensor(trigPin2, echoPin2);
LeftSensor = distance;
WaardeLinks = LeftSensor;
SonarSensor(trigPin3, echoPin3);
FrontSensor = distance;
WaardeVoor = FrontSensor;
if (WaardeVoor > 4)
{
// getal 0 sturen
}
else
{
if (WaardeRechts > 4)// deze waarde nog bepalen
{
// getal 3 sturen
}
else
{
if (WaardeLinks > 4)// deze waarde nog bepalen
{
// getal 4 sturen
}
else
{
// getal 6 sturen
}
else
{
// volgende afweging maken
}
Serial.print(LeftSensor);
Serial.print(" - ");
Serial.print(FrontSensor);
Serial.print(" - ");
Serial.println(RightSensor);
}
void SonarSensor(int trigPin, int echoPin)
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1;
delay(5);
}
}
.