Curriculum
Course: Ultrasonic Sensor Basics
Login
Text lesson

Arduino IDE Coding

 

Arduino IDE Coding

 

TinkerCad Link

 

#define TRIG_PIN 9
#define ECHO_PIN 10

#define LED1 2
#define LED2 3
#define LED3 4
#define LED4 5

#define BUZZER 6

void setup()
{
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);

  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);

  pinMode(BUZZER, OUTPUT);

  Serial.begin(9600);
}

void loop()
{
  long duration;
  float distance;

  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);

  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);

  digitalWrite(TRIG_PIN, LOW);

  duration = pulseIn(ECHO_PIN, HIGH);

  distance = duration * 0.034 / 2;

  Serial.print("Distance: ");
  Serial.println(distance);

  if(distance > 40)
  {
    digitalWrite(LED1, LOW);
    digitalWrite(LED2, LOW);
    digitalWrite(LED3, LOW);
    digitalWrite(LED4, LOW);

    noTone(BUZZER);
  }

  else if(distance > 30)
  {
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, LOW);
    digitalWrite(LED3, LOW);
    digitalWrite(LED4, LOW);

    tone(BUZZER, 1000);
    delay(500);
    noTone(BUZZER);
    delay(500);
  }

  else if(distance > 20)
  {
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, HIGH);
    digitalWrite(LED3, LOW);
    digitalWrite(LED4, LOW);

    tone(BUZZER, 1000);
    delay(250);
    noTone(BUZZER);
    delay(250);
  }

  else if(distance > 10)
  {
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, HIGH);
    digitalWrite(LED3, HIGH);
    digitalWrite(LED4, LOW);

    tone(BUZZER, 1000);
    delay(100);
    noTone(BUZZER);
    delay(100);
  }
  else
  {
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, HIGH);
    digitalWrite(LED3, HIGH);
    digitalWrite(LED4, HIGH);

    tone(BUZZER, 1000);
  }
  delay(50);
}
×
×

Cart