Challenge

Project 2 - Measuring distance of an object using ultrasonic sensor (HC-SR04)

Ans:

// Master code//

#include <Wire.h>

#include <LiquidCrystal.h>

LiquidCrystal lcd(2,3,4,5,6,7);

int Distance;

void setup()

{

Wire.begin();

Serial.begin(9600);

}

void loop()

{

Wire.requestFrom(8,1);

Distance=Wire.read();

lcd.setCursor(0,0);

lcd.print("Distance= ");

lcd.print(Distance);

lcd.print("inch");

Serial.println(Distance);

delay(50);

wire.end();

}

//Slave code //

#include <Wire.h>

#include <LiquidCrystal.h>

int Signal=2;

LiquidCrystal lcd(2,3,4,5,6,7);

int Value,Duration;

void setup()

{

Wire.begin(8);

Serial.begin(9600);

Wire.onRequest (Distance);

}

void loop()

{

delay(100);

}

void Distance()

{

int count=0;

int TotalValue=0, AvgValue,Value=0;

int Arr[5];

while(count<5)

{

pinMode(signal,OUTPUT);

digitalWrite(Signal,LOW);

delay(5);

digitalWrite(Signal,HIGH);

delay(10);

digitalWrite(Signal,LOW);

pinMode(Signal,INPUT);

Duration=pulseIn(Signal,HIGH);

Value=(Duration/74)/2;

Serial.println(Value);

Arr[count]=Value;

count+=1;

}

for (int i=0;i<5;i++)

{

TotalValue+=Arr[i];

}

AvgValue=TotalValue/count;

wire.write(AvgValue);

delay(10);

}

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.