Вы находитесь на странице: 1из 6

#include<LiquidCrystal.

h>

LiquidCrystal lcd(13,12,11,10,9,8);

#define buzzer A0

#define relay1 A2

#define relay2 A3

#define fire A1

char input;

#define echoPin1 5 // Echo Pin

#define trigPin1 4 // Trigger Pin

int maximumRange = 100; // Maximum range needed

int minimumRange = 0; // Minimum range needed

long duration, distance; // Duration used to calculate

void setup()

lcd.begin(16,2);

Serial.begin(9600);

Serial.println(">> Train safety system <<");

Serial.println(" >>START<<");

pinMode(trigPin1, OUTPUT);

pinMode(echoPin1, INPUT);

pinMode(buzzer, OUTPUT);

pinMode(relay1, OUTPUT);

pinMode(relay2, OUTPUT);

pinMode(fire, INPUT);

lcd.setCursor(0,0);
lcd.print("Smart Train ");

lcd.setCursor(0,1);

lcd.print("safety system ");

delay(2000);

void loop()

//**********************************

if( digitalRead(fire) == LOW )

lcd.clear();

lcd.print("fire detected!");

Serial.println(">> Fire detected <<");

delay(500);

buzzeralert();

//**********************************

digitalWrite(trigPin1, LOW);

delayMicroseconds(2);

digitalWrite(trigPin1, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin1, LOW);

duration = pulseIn(echoPin1, HIGH);

distance = duration/58.2;
lcd.clear();

lcd.setCursor(0,1);

lcd.print("Distance: ");

lcd.setCursor(11,1);

lcd.print(distance);

lcd.print("cms");

if(distance < 20)

lcd.clear();

Serial.println(">> Obstacle Detected! <<");

lcd.print("Obstacle Detected!");

lcd.setCursor(0,1);

lcd.print("Distance: ");

lcd.setCursor(11,1);

lcd.print(distance);

lcd.print("cms");

buzzeralert();

//**********************************

delay(500);

if (Serial.available() > 0)

input = Serial.read();

Serial.print(input);

if (input == 'F')

{
if(digitalRead(fire) == HIGH || distance >= 20)

Serial.write("Train Started");

Serial.println(" ");

Serial.println("Start");

lcd.clear();

lcd.setCursor(0,1);

lcd.print("Train Started");

digitalWrite(relay1, HIGH);

else if (input == 'S')

Serial.write("Train Stopped");

Serial.println(" ");

Serial.println("STOP");

lcd.clear();

lcd.setCursor(0,1);

lcd.print("Train Stopped");

digitalWrite(relay1, LOW);

else if (input == 'A')

Serial.write("Line connected");

Serial.println(" ");

Serial.println("Line connected");

lcd.clear();
lcd.setCursor(0,1);

lcd.print("Line connected");

digitalWrite(relay2, HIGH);

else if (input == 'B')

Serial.write("Solar connected");

Serial.println(" ");

Serial.println("Solar connected");

lcd.clear();

lcd.setCursor(0,1);

lcd.print("Solar connected");

digitalWrite(relay2, LOW);

void buzzeralert()

digitalWrite(relay1,LOW);

Serial.println("");

Serial.println("buzzer ON");

digitalWrite(buzzer, HIGH);

delay(800);

digitalWrite(buzzer, LOW);

delay(200);

digitalWrite(buzzer, HIGH);

delay(800);
digitalWrite(buzzer, LOW);

delay(200);

Serial.println("buzzer OFF");

Вам также может понравиться