Project 2 - Measuring the distance of an object using ultrasonic sensor and also smoothen the sensor data using moving average filter
AIM:-
To implementation of code for “Measuring distance of an object using ultrasonic distance sensor (28015 Ping) and also smoothen the sensor data using moving average filter”.
CODE:-
void setup
Serial begin
Pin mode
digital write
PROGRAM:-
Master code:
#include//To use LCD functions
#include//To use I2C communication
LiquidCrystal lcd(2,3,4,5,6,7);
int distance;//variable to print the data from slave
void setup()
{
Serial.begin(9600);
Wire.begin();//To begin I2C communication
lcd.begin(16,2);//To begin LCD display
lcd.clear();
}
void loop()
{
Wire.requestFrom(8,4);// adress 8 and request 4 byte
distance=Wire.read();
lcd.setCursor(0,0);//Move cursor to the first line
lcd.print(distance);//To print the received message from slave 1
lcd.print(" inches");
delay(50);
Wire.end();//End the transmission
}
Slave code:
#include<Wire.h>//To use I2C communication
int sig = 2;//Ultrasonic Sig pin
int duration, inches, cm;//Variables used for calculation
static int avg;//Declaring avg as static int type
void setup()
{
Serial.begin(9600);
Wire.begin(8);//To begin I2C communication with address 8
Wire.onRequest(distance);//Call function from master
}
void loop()
{
delay(100);
}
void distance()//Called function
{
pinMode(sig, OUTPUT);//Declaring pin2 as output
digitalWrite(sig, LOW);//Sensor is triggered by pin2
delay(5);
digitalWrite(sig, HIGH);
delay(10);
digitalWrite(sig, LOW);
pinMode(sig, INPUT);//Declaring pin2 as input
duration = pulseIn(sig, HIGH);//To read the pulse
inches = (duration/74)/2;//converting time into a distance
Wire.write(inches);//Return value to master
delay(10);
}
RESULT:-

implementation of code for “Measuring distance of an object using ultrasonic distance sensor (28015 Ping) and also smoothen the sensor data using moving average filter has done