Tuesday, 24 July 2018

The code for the automatic railway crossing using IR and Arduino

Working Video

Visit our website for more interesting projects:
SR Automation & Robotics

the code is as written below:

--------------------------------------------************************-----------------------------------------

int M1 = 4;
int M2 = 5;
int M3 = 6;
int M4 = 7;

int RL = 8;
int YL = 9;
int GL = 10;
int BZ = 11;

int flag = 0;


void setup()

{
  Serial.begin(9600);

  pinMode(2, INPUT);
  pinMode(3, INPUT);

  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);

  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);

}


void loop()
{

  int IR1 = 2;

  if (digitalRead(2) == 0 && flag == 0 )
  {
    flag = 1;
    digitalWrite(BZ, HIGH);
    delay(3000);
    digitalWrite(M1, HIGH);
    digitalWrite(M2, LOW);
    digitalWrite(M3, LOW);
    digitalWrite(M4, HIGH);
    digitalWrite(RL, LOW);
    digitalWrite(YL, HIGH);
    digitalWrite(GL, LOW);
    digitalWrite(BZ, HIGH);
    delay(250);
    digitalWrite(M1, LOW);
    digitalWrite(M2, LOW);
    digitalWrite(M3, LOW);
    digitalWrite(M4, LOW);
    digitalWrite(RL, HIGH);
    digitalWrite(YL, LOW);
    digitalWrite(GL, LOW);
    digitalWrite(BZ, LOW);
  }

  int IR2 = 3;

  if (digitalRead(3) == 0 && flag == 1)
  {
    flag = 0;
    delay(3000);
    digitalWrite(M1, LOW);
    digitalWrite(M2, HIGH);
    digitalWrite(M3, HIGH);
    digitalWrite(M4, LOW);
    digitalWrite(RL, LOW);
    digitalWrite(YL, LOW);
    digitalWrite(GL, HIGH);
    digitalWrite(BZ, HIGH);
    delay(250);
    digitalWrite(M1, LOW);
    digitalWrite(M2, LOW);
    digitalWrite(M3, LOW);
    digitalWrite(M4, LOW);
    digitalWrite(RL, LOW);
    digitalWrite(YL, LOW);
    digitalWrite(GL, HIGH);
    digitalWrite(BZ, LOW);
  }
}

---------------------------------------**********************************-------------------------------