. I used the inbuilt basic example of measuring the distance to test my ultrasonic sensor. the object is kept at 10 - 15 cm. form the ultrasonic sensor but still the readings show 135 cm only
#include <Ultrasonic.h>
int trigPin = 5;
int echoPin = 6;
#include <Servo.h> //servo library
Servo servo;
int servoPin = 7;
long duration, dist, average;
long aver[3]; //array for average
void setup() {
Serial.begin(9600);
servo.attach(servoPin);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
servo.write(0); //close cap on power on
delay(100);
servo.detach();
}
void measure() {
digitalWrite(100,HIGH);
digitalWrite(trigPin, LOW);
delayMicroseconds(100);
digitalWrite(trigPin, HIGH);
delayMicroseconds(150);
digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
dist = (duration/2.0) / 29.1; //obtain distance
}
void loop() {
for (int i=0;i<=2;i++) { //average distance
measure();
aver[i]=dist;
delay(100); //delay between measurements
}
dist=(aver[0]+aver[1]+aver[2])/3;
if ( dist<15 ) {
//Change distance as per your need
servo.attach(servoPin);
delay(1);
servo.write(0);
delay(2500);
servo.write(100);
delay(500);
servo.detach();
}
Serial.print(dist);
}
#include <Ultrasonic.h>
int trigPin = 5;
int echoPin = 6;
#include <Servo.h> //servo library
Servo servo;
int servoPin = 7;
long duration, dist, average;
long aver[3]; //array for average
void setup() {
Serial.begin(9600);
servo.attach(servoPin);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
servo.write(0); //close cap on power on
delay(100);
servo.detach();
}
void measure() {
digitalWrite(100,HIGH);
digitalWrite(trigPin, LOW);
delayMicroseconds(100);
digitalWrite(trigPin, HIGH);
delayMicroseconds(150);
digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
dist = (duration/2.0) / 29.1; //obtain distance
}
void loop() {
for (int i=0;i<=2;i++) { //average distance
measure();
aver[i]=dist;
delay(100); //delay between measurements
}
dist=(aver[0]+aver[1]+aver[2])/3;
if ( dist<15 ) {
//Change distance as per your need
servo.attach(servoPin);
delay(1);
servo.write(0);
delay(2500);
servo.write(100);
delay(500);
servo.detach();
}
Serial.print(dist);
}
digitalWrite(100, HIGH);
”: There is no pin 100 on the Uno.