I recently purchased an ultrasonic sensor, hooked it up to my arduino, and uploaded the following code
#define trigPin 11
#define echoPin 12
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance >= 200 || distance <= 0){
Serial.println("Out of range");
}
else {
Serial.print(distance);
Serial.println(" cm");
}
delay(500);
}
When i open up the serial moniter it begins to read data
10cm
10cm
10cm
10cm
10cm
10cm
10cm
10cm
10cm
which is correct. Then when i move it it still works until randomly it starts printing "out of range..."
for example
8cm
8cm
8cm
8cm
7cm
7cm
7cm
6cm
6cm
5cm
out of range
out of range
Does anyone have any ideas?
Moderator edit: code tags corrected