Automatic Railway Crossing Using Arduino

Published

Introduction: Automatic Railway Crossing Using Arduino

About: i am an electronic lover who want to make something superb.

This is a simple college project. It automatically turn off the railway gate when train arrival and after train departure.

Step 1: Collect the Material

1. Arduino UNO (Or other)
2. L293d motor driver ic or shild
3. Two IR sensor
4. one Dc geared motor 30 RPM
5. 12volt Power supply (SMPS)
6. A toy train
7. A cardboard (as base)
8. solder
9. hot melt gun
10. A buzzer
11. A wooden or plastic rod for gate
12. some wires, screws

Step 2: Fix the Material on Cardboard

1. fix the track on cardboard as shown in pic or in my youtube video, link shown below
https://youtu.be/1Oc5R_yByNw
you can fix this by using hot melt glue, screw, rubber strip.

2. fix the moter on cardboard as shown in pic by screw or rubber strip.

3. connect a plastic or wooden rod to motor's axis, this is used as gate.

4. fix two IR sensor in both side of gate(motor) and should be at equal distance as shown in my video
https://youtu.be/1Oc5R_yByNw

5. Remove the LED's from circuit of sensor and fix opposite to PHOTO TRANSISTOR and connect by wires


Step 3: Circuit Connection and Wiring

circuit diagram is shown in pic.
1. connect the IR sensor's Vcc and GND pin to Arduino

2. connect the output pins of IR sensors to Arduino's pin no 2 and 3

3. connect the pin no 4 and 5 of Arduino to L293D's input pins as shown in circuit.

4. connect the motor as shown in circuit.

5. connect all the connection as shown in circuit.

6. also connect the buzzer to both motors pins.

Step 4: #program and Code

here code is shown
just copy and paste it

int sensor1=2;
int sensor2=3;
int motor1=4;
int motor2=5;

void setup(){
pinMode(sensor1,INPUT);
pinMode(sensor2,INPUT);
pinMode(motor1,OUTPUT);
pinMode(motor2,OUTPUT);
}

void loop(){
C:
if(sensor1==LOW){
digitalWrite(motor1,HIGH);
digitalWrite(motor2,LOW);
delay(500);
digitalWrite(motor1,HIGH);
digitalWrite(motor2,HIGH);
A:
if(sensor2==LOW){
digitalWrite(motor1,LOW);
digitalWrite(motor2,HIGH);
delay(500);
digitalWrite(motor1,HIGH);
digitalWrite(motor2,HIGH);
delay(1000);
goto C;
}goto A;
if(sensor2==LOW){
digitalWrite(motor1,HIGH);
digitalWrite(motor2,LOW);
delay(500);
digitalWrite(motor1,HIGH);
digitalWrite(motor2,HIGH);
B:
if(sensor1==LOW){
digitalWrite(motor1,LOW);
digitalWrite(motor2,HIGH);
delay(500);
digitalWrite(motor1,HIGH);
digitalWrite(motor2,HIGH);
delay(1000);
goto C;
}
goto B;
}
}
}

here 500ms delay is used because gate is closed in this time. you can change this according to practical response

Step 5: Look My Video for More Information

guys this is my first instructable and here I write this "short and sweet". you can see my video on youtube, if you like then hit a like and subscribe. and give a feedback. Thanks a lot.
https://youtu.be/1Oc5R_yByNw

Share

    Recommendations

    • Water Contest

      Water Contest
    • Oil Contest

      Oil Contest
    • Creative Misuse Contest

      Creative Misuse Contest

    43 Discussions

    how did u connected a buzzer and didnt mention in the code

    1 reply

    buzzer is connected in parallel with the motor

    Can I found this project of bases on micro controller 8051

    Where is the power supply connection?

    Please send the circuit diagram for this

    Brother please send me a circuit diagram

    Hey bro....i need the coding "c" part will u explain please...

    the code is not working..

    sir please help in code

    I have done as mention you but it not work why?

    brother could you please upload a C language code for above project plzz as early as possible.

    2 replies

    What do you mean by c language code ???? I think you are try to saying Embedded C code. This is Arduino code embedded C code is not applicable for this board

    he probably means that he wants the program in regular C as most likely, he isn't using an arduino, but probably a pic or a bare atmega...

    i uploaded the code and it is not working. can you please upload another circuit diagram

    after dumping the code and connecting its not working how can i over come it can u provide exact circuit diagram instead of that please....have to submit my project

    3 replies

    yeah thank you hope u add quickly so that i can complete my project