Você está na página 1de 8

#include <LiquidCrystal.

h>

const int rs = 7, en = 8, d4 = 9, d5 = 10, d6 = 11, d7 = 12;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

char inchar;

int start = 0;

int ende = 0;

int address = 0;

byte value;

int power = 0;

int rest = 0;

int ir_pin = 14;

int ir_pin1 = 15;

int in1 = 2;

int in2 = 3;

int in3 = 4;

int in4 = 5;

int relay = 6;

int buz = 13;


int numbers = 0;

int counter = 0;

int counter1 = 0;

int countval = 0;

int counttot = 0;

int hitObject = false;

int hitObject1 = false;

void setup()

// Open serial communications and wait for port to open:

lcd.begin(16, 2);

Serial.begin(9600);

pinMode(ir_pin, INPUT);

pinMode(ir_pin1, INPUT);

pinMode(A2, OUTPUT);

pinMode(A3, OUTPUT);

pinMode(in1, OUTPUT);

pinMode(in2, OUTPUT);

pinMode(in3, OUTPUT);

pinMode(in4, OUTPUT);
pinMode(relay, OUTPUT);

pinMode(buz, OUTPUT);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Train automation");

delay(5000);

void loop() // run over and over

counter = 0;

counter1 =0;

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("train running");

digitalWrite(in1, HIGH);

digitalWrite(in2, LOW);

digitalWrite(in3, HIGH);

digitalWrite(in4, LOW);

delay(10000);

digitalWrite(in1, LOW);

digitalWrite(in2, LOW);

digitalWrite(in3, LOW);

digitalWrite(in4, LOW);
dooropen();

count();

doorclose();

void dooropen()

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("DOOR OPEN");

digitalWrite(buz, HIGH);

delay(2000);

digitalWrite(buz, LOW);

digitalWrite(A2, LOW);

digitalWrite(A3, HIGH);

delay(3000);

void doorclose()

{
lcd.clear();

lcd.setCursor(0, 0);

lcd.print("DOOR CLOSE");

digitalWrite(A3, LOW);

digitalWrite(A2, HIGH);

delay(3000);

digitalWrite(A3, LOW);

digitalWrite(A2, LOW);

loop();

void count() // run over and over

lcd.clear();

start:

int val1 = digitalRead(ir_pin1);

if ( (val1 == 1) && (hitObject == false) )

counter1++;
hitObject = true;

counttot--;

Serial.print("Counterout = ");

Serial.println(counter1);

} else if ( (val1 == 0) && (hitObject == true) ) {

hitObject = false;

int val = digitalRead(ir_pin);

if ( (val == 1) && (hitObject1 == false) )

counter++;

hitObject1 = true;

Serial.print("Counterin = ");

Serial.println(counter);

counttot++;

} else if ( (val == 0) && (hitObject1 == true) ) {

hitObject1 = false;

// counttot = (counter - counter1);


lcd.clear();

lcd.setCursor(0, 0);

lcd.print("TOTAL: ");

lcd.setCursor(8, 0);

lcd.print(counttot);

lcd.setCursor(0, 1);

lcd.print("IN: ");

lcd.setCursor(4, 1);

lcd.print(counter);

lcd.setCursor(8, 1);

lcd.print("OUT: ");

lcd.setCursor(13, 1);

lcd.print(counter1);

delay(100);

countval++;

if (countval >=100)

countval = 0;

doorclose();

}else{

goto start;

}
//fin:

Você também pode gostar