Hello
I got a project that uses 3 sensors but the sensors have wrong readings the first time. Is there a way to ignore these first reading so that my robot ignores them. As you can see in the serial monitor the first reading is incorrect. How can we fix this?
This is my code for the program:
#define trigPinR 3
#define echoPinR 2
#define trigPinL 13
#define echoPinL 12
#define trigPinV 11
#define echoPinV 10
long duurR, cmR;
long duurL, cmL;
long duurV, cmV;
void setup() {
// put your setup code here, to run once:
pinMode(echoPinR, INPUT);
pinMode(trigPinR, OUTPUT);
pinMode(echoPinL, INPUT);
pinMode(trigPinL, OUTPUT);
pinMode(echoPinV, INPUT);
pinMode(trigPinV, OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trigPinR, LOW);
delayMicroseconds(5);
digitalWrite(trigPinR, HIGH);
delayMicroseconds(10);
digitalWrite(trigPinR, LOW);
pinMode(echoPinR, INPUT);
duurR = pulseIn(echoPinR, HIGH);
cmR = duurR/2 * 0.0343;
digitalWrite(trigPinL, LOW);
delayMicroseconds(5);
digitalWrite(trigPinL, HIGH);
delayMicroseconds(10);
digitalWrite(trigPinL, LOW);
pinMode(echoPinL, INPUT);
duurL = pulseIn(echoPinL, HIGH);
cmL = duurL/2 * 0.0343;
digitalWrite(trigPinV, LOW);
delayMicroseconds(5);
digitalWrite(trigPinV, HIGH);
delayMicroseconds(10);
digitalWrite(trigPinV, LOW);
pinMode(echoPinV, INPUT);
duurV = pulseIn(echoPinV, HIGH);
cmV = duurV/2 * 0.0343;
Serial.print(cmR);
Serial.print("cmR");
Serial.println();
Serial.print(cmL);
Serial.print("cmL");
Serial.println();
Serial.print(cmV);
Serial.print("cmV");
Serial.println();
delay(125);
This is my serial monitor:
494c2cmL
44cmV
493cmR
2244cmL
44cmV
493cmR
2244cmL
44cmV
mL
44cmV
494cmR
200cmL
44cmV