Project tutorial
Runway_Management_System

Runway_Management_System © MIT

Simulating runway system.

  • 2,740 views
  • 1 comment
  • 7 respects

Components and supplies

Apps and online services

About this project

Runway Management System

This is the mini-project simulating runway system. In real life scenarios, these really play quintessential role during landing and take-off the plane. Leveraging upon DHT sensor, Ultrasonic sensor and Bluetooth module, this project got its significant shape and effectiveness. A bijou implementation of IoT.

Block Diagram

Components

  • Arduino UNO R3
  • LCD Screen 16x2
  • BlueTooth
  • Temperature and Humidity Sensor - DHT
  • UltraSonic Sensor
  • LED Bulb
  • Buzzer

Procedure

  • Establish the circuit with above enlisted components.
  • Upload the RWS.ino code in the Board.
  • Test its functionality by moving any object (in our case it is a plane) near UltraSonic sensor.
  • Here, the UltraSonic is deployed to measure the distance between plane and the ground, distance numerals are displayed on the screen in rounded figures namely, 50, 40, 30, 20, Approaching Minimum and Successful.
  • We will cross-check the land of the flight by contacting plane via BlueTooth.
  • If it is Successful?, a green LED glows. (Actually we are passing on some queries regarding landing of the flight by an Android app called AMR Voice).
  • Buzzer is beeped if there are any climatic fluctuations during landing and hence it is deferred.

Important Validations

  • This Humidity & Temperature check for the fluctuations in the climate. As climate plays the radical role in deciding whether the plane has to landed nearby or continue flying.
  • Here, this condition decides this action of the plane,
if (humidity < 40 && temperature < 12) {
    lcd.setCursor(0, 0);
    lcd.print("Land your Plane");
    lcd.setCursor(5, 1);
    lcd.print("nearby");
  } else {
    saferunway();
  }
  • We have also used bluetooth to its max. Voice control, this checks whether the mission is complete or not.
if (distance < 6 && distance >= 0) {
    voiceyBT();
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Successful");
  }

void voiceyBT() {
  while (Serial.available()) {
    delay(10);
    char chr = Serial.read();
    if (chr == '#') {
      break;
    }
    voice += chr;
  }
  int len = voice.length();
  if (len > 0) {
    if (voice == "*landed") {
      digitalWrite(led, HIGH);
    } else if (voice == "*okay") {
      digitalWrite(led, LOW);
    }
  }
  voice = "";
}

By glowing green LED bulb.

Significance

  • Climatic fluctuations and vagaries are measured and calculated to perform the tasks.
  • Distance is accurately counted.
  • Check whether plane is landed by bluetooth stimuli and generate respective responds.

Code

RMS CodeArduino
#include <LiquidCrystal.h>
#include <DHT.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
DHT dht;

#define buzz 13
#define led 7

String voice;
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distance;

void setup() {
  Serial.begin(9600);
  Serial.println("Status\tHumidity (%)\tTemperature (C)\t(F)");

  lcd.begin(16, 2);

  pinMode(buzz, OUTPUT);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(led, OUTPUT);

  dht.setup(8);
}

void loop() {
  fluctuations();
  delay(500);
}

void fluctuations() {
  delay(1000);
  float humidity = dht.getHumidity();
  float temperature = dht.getTemperature();
  //Serial.print(dht.getStautusString());
  Serial.print(dht.getStatusString());
  Serial.print("\t");
  Serial.print(humidity, 1);
  Serial.print("\t\t");
  Serial.println(temperature, 1);
  if (humidity < 40 && temperature < 12) {
    lcd.setCursor(0, 0);
    lcd.print("Land your Plane");
    lcd.setCursor(5, 1);
    lcd.print("nearby");
  } else {
    saferunway();
  }
}

void beeper() {
  analogWrite(buzz, 50);
  delay(100);
  analogWrite(buzz, 0);
  delay(100);
}

void saferunway() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);

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

  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.034 / 2;

  //Serial.println(distance);

  if (distance < 60 && distance >= 50) {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Distance = 50");
    //lcd.print(distance);
  } else if (distance < 50 && distance >= 40) {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Distance = 40");
    //lcd.print(distance);
  } else if (distance < 40 && distance >= 30) {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Distance = 30");
    //lcd.print(distance);
  } else if (distance < 30 && distance >= 20) {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Distance = 20");
    //lcd.print(distance);
  } else if (distance < 20 && distance >= 6) {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Approaching");
    lcd.setCursor(9, 1);
    lcd.print("Minimum");
    //lcd.print(distance);
  } else if (distance < 6 && distance >= 0) {
    voiceyBT();
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Successful");
    //lcd.print(distance);
  } else {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("No Signs");
    //lcd.print(distance);
  }
}

void voiceyBT() {
  while (Serial.available()) {
    delay(10);
    char chr = Serial.read();
    if (chr == '#') {
      break;
    }
    voice += chr;
  }
  int len = voice.length();
  if (len > 0) {
    if (voice == "*landed") {
      digitalWrite(led, HIGH);
    } else if (voice == "*okay" || voice == "*ok") {
      digitalWrite(led, LOW);
    }
  }
  voice = "";
}

Comments

Similar projects you might like

Make your first Arduino robot - The best beginners guide!

Project tutorial by Muhammed Azhar

  • 71,780 views
  • 19 comments
  • 155 respects

IoT Made Easy w/ UNO, ESP-01, ThingSpeak & MIT App Inventor

Project tutorial by MJRoBot

  • 37,041 views
  • 16 comments
  • 66 respects

Bluetooth control led with lcd led status display real time.

Project tutorial by Youssef Sabaa

  • 28,510 views
  • 6 comments
  • 54 respects

Easy IOT Water Leakage Indicator

Project tutorial by Patel Darshil

  • 17,251 views
  • 2 comments
  • 18 respects

Arduino UNO Mini-Weather Station

Project tutorial by Igor Fonseca Albuquerque

  • 48,276 views
  • 28 comments
  • 102 respects

Copy Of Fidget Spinner RPM Counter

Project in progress by CK Tan

  • 4,111 views
  • 2 comments
  • 5 respects
Add projectSign up / Login