const int trigPin=3;
const int echoPin=2;
int ledPinArray[] = {4,5,6,7};
unsigned long duration;
int distance_cm;
const int buzzer=8;
void setup()
{
pinMode(trigPin, OUTPUT);
pinMode(echoPin,INPUT);
for (int i=0;i<4;i++){
pinMode(ledPinArray[i], OUTPUT);
}
Serial.begin(9600);
}
void loop()
{
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance_cm = (duration/2) / 29.1;
Serial.println(distance_cm, DEC);
displayLed(distance_cm);
delay(1000);
}
void displayLed(int numToShow){
for (int i=0;i<4;i++)
{
digitalWrite(ledPinArray[i], LOW); // All values initialised as low
}
if (numToShow <280){
digitalWrite(ledPinArray[3], HIGH);
digitalWrite(ledPinArray[2], LOW);
digitalWrite(ledPinArray[1], LOW);
digitalWrite(ledPinArray[0], LOW);
}
if (numToShow <250){
digitalWrite(ledPinArray[3], LOW);
digitalWrite(ledPinArray[2], HIGH);
digitalWrite(ledPinArray[1], LOW);
digitalWrite(ledPinArray[0], LOW);
}
if (numToShow <100){
digitalWrite(ledPinArray[3], LOW);
digitalWrite(ledPinArray[2], LOW);
digitalWrite(ledPinArray[1], HIGH);
digitalWrite(ledPinArray[0], LOW);
tone(buzzer,1000,500);
}
if (numToShow <50){
digitalWrite(ledPinArray[3], LOW);
digitalWrite(ledPinArray[2], LOW);
digitalWrite(ledPinArray[1], LOW);
digitalWrite(ledPinArray[0], HIGH);
tone(buzzer,1000,500);
}
// NAMA : Mahdalena Hasibuan
// KELAS : Mikrokontroler
// UNIV : Universitas Islam Kuantan Singingi
// NIM : 200210035
if (numToShow <30){
digitalWrite(ledPinArray[3], LOW);
digitalWrite(ledPinArray[2], LOW);
digitalWrite(ledPinArray[1], LOW);
digitalWrite(ledPinArray[0], HIGH);
tone(buzzer,1000,500);
}
}