/*Welcome to our PROJECT 3 IN 1*/
/*Group of member
1.MUHAMMAD SHAKIR BIN KAMARUDIN
2.MUHAMMAD ADAM SHAMSUDIN
3.MUHAMMAD DANISH BIN AZNEE
4.MUHAMMAD ALIFF HAZIMI BIN MOHD REDZUAN*/
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define echoPin 2
#define trigPin 3
int maximumRange = 350;
int minimumRange = 5;
int buzzer = 8;
long duration, distance;
int DistanceCm;
void setup() {
lcd.begin(16,2);
Serial.begin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds (2) ;
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration*0.0343/2;
DistanceCm = duration*0.0343/2;
lcd.setCursor(0,0);
lcd.print("Distance: ");
lcd.print(DistanceCm);
lcd.print(" cm ");
delay (10);
if (distance > maximumRange || distance < minimumRange){
Serial.println("Exceed the limit or not reach the limit");
}
else {
Serial.print("Distances : ");
Serial.print(distance);
Serial.println(" cm");
delay (1000);
}
if (distance <= 100){
digitalWrite(11, HIGH);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
}
if (distance > 100 && distance < 200){
digitalWrite(11, LOW);
digitalWrite(10, HIGH);
digitalWrite(9, LOW);
}
if (distance > 200){
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, HIGH);
}
if (distance <= 100){
digitalWrite(11, HIGH);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(buzzer, HIGH);
}
if (distance <= 100){
tone(buzzer,1000);
delay(8000);
noTone(8);
delay(0);
}
if (distance > 100 && distance < 200){
digitalWrite(11, LOW);
digitalWrite(10, HIGH);
digitalWrite(9, LOW);
digitalWrite(buzzer, HIGH);
}
if (distance > 100 && distance < 200){
tone(buzzer,800);
delay(100);
noTone(8);
delay(600);
}
}