int trigPin = 2;
int echoPin = 3;
int A = 4;
int B = 5;
int C = 6;
int D = 7;
int E = 8;
int F = 9;
int G = 10;
void setup() {
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
Serial.begin(9600);
}
void loop()
{
long duration, inches, cm;
pinMode(trigPin, OUTPUT);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
if (cm == 0)
{
displayZero();
}
if (inches == 1)
{
displayOne();
}
if (inches == 2)
{
displayTwo();
}
if (inches == 3)
{
displayThree();
}
if (inches == 4)
{
displayFour();
}
if (inches == 5)
{
displayFive();
}
if (inches == 6)
{
displaySix();
}
if (inches == 7)
{
displaySeven();
}
if (inches == 8)
{
displayEight();
}
if (inches == 9)
{
displayNine();
}
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(50);
}
long microsecondsToInches(long microseconds)
{
return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
void displayZero()
{
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
}
void displayOne()
{
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(A,LOW);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
}
void displayTwo()
{
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(G, HIGH);
digitalWrite(E, HIGH);
digitalWrite(D, HIGH);
digitalWrite(C, LOW);
digitalWrite(F, LOW);
}
void displayThree()
{
digitalWrite(F, LOW);
digitalWrite(A, HIGH);
digitalWrite(E, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(G, HIGH);
}
void displayFour()
{
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(A, LOW);
digitalWrite(D, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
digitalWrite(E, LOW);
}
void displayFive()
{
digitalWrite(A, HIGH);
digitalWrite(C, HIGH);
digitalWrite(B, LOW);
digitalWrite(D, HIGH);
digitalWrite(F, HIGH);
digitalWrite(E, LOW);
digitalWrite(G, HIGH);
}
void displaySix()
{
digitalWrite(A, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(B, LOW);
digitalWrite(G, HIGH);
}
void displaySeven()
{
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(E, LOW);
digitalWrite(D, LOW);
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
}
void displayEight()
{
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
}
void displayNine()
{
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(E, LOW);
digitalWrite(D, LOW);
digitalWrite(C, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
}