const int trigPin = 10;
const int echoPin = 11;
const int buzzer = 12;
const int lock = 4;
const int led = 13;
float duration, distance, note, number;
void setup()
{
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzer, OUTPUT); // Set buzzer - pin 12 as an output
pinMode(lock, OUTPUT);
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
number = (duration*.0343)/2;
distance = round(number);
delay(100);
Serial.print("Distance: ");
Serial.println(distance);
if(distance < 3)
{
delay(1000);
Serial.print("START");
Sequence();
}
}
void Sequence()
{
digitalWrite(lock, LOW);
digitalWrite(led, LOW);
delay(2000);
if(distance < 5)
{
delay(1000);
tone(buzzer, 262);
Serial.print("C");
delay(2000);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
number = (duration*.0343)/2;
distance = round(number);
delay(100);
Serial.print("Distance: ");
Serial.println(distance);
if(distance == 5)
{
delay(1000);
tone(buzzer, 294);
Serial.print("D");
delay(2000);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
number = (duration*.0343)/2;
distance = round(number);
delay(100);
Serial.print("Distance: ");
Serial.println(distance);
if(distance >= 6)
{
delay(1000);
tone(buzzer, 330);
Serial.print("It Worked");
digitalWrite(lock, HIGH);
digitalWrite(led, HIGH);
delay(1000);
noTone(buzzer);
}
else if(distance < 6)
{
Serial.print("Didn't work 2");
tone(buzzer, 262);
delay(500);
noTone(buzzer);
delay(500);
tone(buzzer, 262);
delay(500);
noTone(buzzer);
delay(500);
tone(buzzer, 262);
delay(500);
noTone(buzzer);
}
}
else if((distance < 5) || (distance >6))
{
Serial.print("Didn't work 1");
tone(buzzer, 262);
delay(500);
noTone(buzzer);
delay(500);
tone(buzzer, 262);
delay(500);
noTone(buzzer);
delay(500);
tone(buzzer, 262);
delay(500);
noTone(buzzer);
}
}
else
{
Serial.print("Restart");
}
}
Comments