Académique Documents
Professionnel Documents
Culture Documents
h>
LiquidCrystal lcd(13,12,11,10,9,8);
#define buzzer A0
#define relay1 A2
#define relay2 A3
#define fire A1
char input;
void setup()
lcd.begin(16,2);
Serial.begin(9600);
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);
delay(2000);
void loop()
//**********************************
lcd.clear();
lcd.print("fire detected!");
delay(500);
buzzeralert();
//**********************************
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1, LOW);
distance = duration/58.2;
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Distance: ");
lcd.setCursor(11,1);
lcd.print(distance);
lcd.print("cms");
lcd.clear();
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);
Serial.write("Train Stopped");
Serial.println(" ");
Serial.println("STOP");
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Train Stopped");
digitalWrite(relay1, LOW);
Serial.write("Line connected");
Serial.println(" ");
Serial.println("Line connected");
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Line connected");
digitalWrite(relay2, HIGH);
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");