const int trigPin = 27;
const int echoPin = 26;
const int LEDredPin = 22;
const int LED1Pin = 21;
const int LED2Pin = 19;
const int numE = 2;
const int numD = 0;
const int numC = 4;
const int numB = 16;
const int numA = 17;
const int numF = 5;
const int numG = 18;
#define SOUND_SPEED 0.017; //sound speed / 2
#define CM_TO_INGH 0.0393701;
long duration;
float distanceCM;
float distanceInch;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(trigPin , OUTPUT);
pinMode(echoPin , INPUT);
pinMode(LEDredPin , OUTPUT);
pinMode(LED1Pin , OUTPUT);
pinMode(LED2Pin , OUTPUT);
//
//7segment LED
pinMode(2, OUTPUT); //e
pinMode(0, OUTPUT); //d
pinMode(4, OUTPUT); //c
pinMode(16, OUTPUT); //b
pinMode(17, OUTPUT); //a
pinMode(5, OUTPUT); //f
pinMode(18, OUTPUT); //G
//
}
void loop() {
digitalWrite(LEDredPin , LOW);
digitalWrite(LED1Pin , LOW);
digitalWrite(LED2Pin , LOW);
digitalWrite(numE , HIGH);
digitalWrite(numD , HIGH);
digitalWrite(numC , HIGH);
digitalWrite(numB , HIGH);
digitalWrite(numA , HIGH);
digitalWrite(numF, HIGH);
digitalWrite(numG, HIGH);
digitalWrite(trigPin , LOW);
delayMicroseconds(2);
digitalWrite(trigPin , HIGH);
delayMicroseconds(10);
digitalWrite(trigPin , LOW);
duration = pulseIn(echoPin , HIGH);
distanceCM = duration * SOUND_SPEED;
distanceInch = distanceCM * CM_TO_INGH;
Serial.print("Distance (cm) : ");
Serial.println(distanceCM);
if(distanceCM < 100){
int tt = 1000;
digitalWrite(22 , HIGH);
digitalWrite(21 , LOW);
digitalWrite(19 , LOW);
num1();
delay(tt);
num2();
delay(tt);
num3();
delay(tt);
num4();
delay(tt);
num5();
delay(tt);
reset();
digitalWrite(22 , LOW);
digitalWrite(21 , HIGH);
digitalWrite(19 , LOW);
delay(500);
digitalWrite(22 , LOW);
digitalWrite(21 , LOW);
digitalWrite(19 , HIGH);
num1();
delay(tt);
num2();
delay(tt);
num3();
delay(tt);
num4();
delay(tt);
num5();
delay(tt);
} else {
digitalWrite(LEDredPin , LOW);
digitalWrite(LED1Pin , LOW);
digitalWrite(LED2Pin , LOW);
}
delay(1000);
//
}
void reset(){
digitalWrite(2, HIGH);
digitalWrite(0, HIGH);
digitalWrite(4, HIGH);
digitalWrite(16, HIGH);
digitalWrite(17, HIGH);
digitalWrite(5, HIGH);
digitalWrite(18, HIGH);
}
void num1(){
reset();
digitalWrite(2, HIGH);
digitalWrite(0, HIGH);
digitalWrite(4, LOW);
digitalWrite(16, LOW);
digitalWrite(17, HIGH);
digitalWrite(5, HIGH);
digitalWrite(18, HIGH);
}
void num2(){
reset();
digitalWrite(2, LOW);
digitalWrite(0, LOW);
digitalWrite(4, HIGH);
digitalWrite(16, LOW);
digitalWrite(17, LOW);
digitalWrite(5, HIGH);
digitalWrite(18, LOW);
}
void num3(){
reset();
digitalWrite(2, HIGH);
digitalWrite(0, LOW);
digitalWrite(4, LOW);
digitalWrite(16, LOW);
digitalWrite(17, LOW);
digitalWrite(5, HIGH);
digitalWrite(18, LOW);
}
void num4(){
reset();
digitalWrite(2, HIGH);
digitalWrite(0, HIGH);
digitalWrite(4, LOW);
digitalWrite(16, LOW);
digitalWrite(17, HIGH);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
}
void num5(){
reset();
digitalWrite(2, HIGH);
digitalWrite(0, LOW);
digitalWrite(4, LOW);
digitalWrite(16, HIGH);
digitalWrite(17, LOW);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
}
//