Arduino automatic door opener


    This project can be attached to a door phone so that when the doorbell button is pressed the door opens automatically.
    Very useful for doctors offices with many patients like hematology lab. This hardware is for the building's main entrance (you can leave your office door open...:)  )

    While doorbell button is pressed you can pick an AC voltage in the speaker of the door phone. You can measure this trigger voltage using  a DC voltage sensor.
    Why a voltage sensor? Cause you isolate your arduino from voltages that could go as high as 12Vdc or 24Vdc. My voltage sensor also divides input voltage by ratio 5 to 1, so max input voltage is 25V.
    In my case I have a trigger of 6.5VAC. This trigger voltage goes to a AC to DC diode bridge converter and then through the DC voltage sensor to the analog input A0.If analog input A0 returns a reads more than 4 Volts then  digital I/0 pin 12 becomes high and triggers the 5V relay which is connected to button of door phone that opens the door.

  Arduino Nano V3

  Battery 9V

  DC Voltage Sensor Module

  1 Channel Relay Module Board 5V Module

  Diode Bridge

Battery:  Connect to Vin and GND of arduino(careful do not connect battery when you also have usb connected)

AC to DC diode bridge: AC pins goes to door phone's speaker pins, DC pins to DC voltage sensor.

Voltage sensor: Input + VCC goes to + pin of diode bridge, input GROUND goes to - pin of diode bridge, output S to pin A0  , output +Vcc to 5V pin, output ground to GND pin of arduino.

Channel relay: Trigger to Digital I/O Pin 12, +Vcc to 5V pin, Ground to GND pin of arduino.


// set pin numbers:
const int ledPin =  13;           // the number of the LED pin
const int relayPin= 12;           // the number of the Realy pin
const int AnalogInputPin = A0;    // Sensor analog input pin

void setup()
  pinMode(ledPin, OUTPUT);        //set digital pin LED OUTPUT
  pinMode(relayPin, OUTPUT);      //set digital pin RELAY OUTPUT
  Serial.begin(9600);             //for checking input of voltage sensor when connected to PC
}//end void setup

void loop()
  float sensorValue =0;
  sensorValue = analogRead(AnalogInputPin);        //Reads analog input A0 and returns value from 0 to 1023 (10 bit AD converter).
  //float sensorRatio= ((5*5)/1023);               //This one should have worked but didn't (5v max analog input * 5 times ratio of output to input of DC voltage sensor / 1023 max of A0 )
float sensorRatio= 22.646/1000;                  //!!!!Checking with serial monitor and using 2 batteries(1,2V & 9V) I measured their voltage with voltmeter I made this correction ratio. Before connection the diode bridge.
float voltIs = (sensorValue * sensorRatio)+ 0.6; // 0.6v is a diode's bridge average threshold voltage when there is no rectifier such as this case.
Serial.println(voltIs);                          // for checking voltage with serial monitor of arduino 1.0 software.
delay(200);                                      // delay for 0,2 second to keep processor cool and noise free.

  //When push button of door is pressed a 4,5V voltage is appearing in the door phone's speaker.
  if ( voltIs > 3.95 && voltIs < 08.05)             //Speaker voltage = 6,5 volts  (yes I could have been more precise but had to make sure that door opens)
      {  digitalWrite(ledPin,   HIGH);                //LED indication that relay circuit is closed
         digitalWrite(relayPin, HIGH);                //relay circuits is closed so door mechanism is on
         delay (3500);                                      //Delay door opening magnetic mechanism for 3,5 seconds so that patient passes through entrance.
         digitalWrite(ledPin,   LOW);               // turn off Led
         digitalWrite(relayPin, LOW);              // relay back to NO
         delay (20);                                       // precaution delay
       sensorValue=0;                           //precaution just in case there is anomaly not to open door.
       voltIs = 0;                                 //precaution just in case there is anomaly not to open door.
     } //end if voltIs     

}//end void loop

      Created @ 2012 by
     Pagonidis Alexandros


The final project in a box:

Well try not to use a metal box because you will need too much glue to isolate the circuits.



  1. Buy Godrej Boom Barrier in India. Get best and cheap prices with installation guide. Know the features, application, technical specification, certificates and product comparison for Godrej Boom Barrier

    Boom Barrier|| Automatic Gates

  2. I really love your weblog, Its great to find not absolutely everyone is just posting a ton of rubbish these days!
    garage door repair san diego

  3. Pretty article! I found some useful information in your blog, it was awesome to read, thanks for sharing this great content to my vision, keep sharing..
    Home Automation in Chennai
    smart home in Chennai
    Home security in Chennai
    Burglar alarm in Chennai
    Door sensors Chennai

  4. Thank you for informative blog. I m waiting for your next blog. Kindly visit my site Automatic doors

  5. I am very enjoyed because of this blog. Its an educational topic. It help me quite definitely to solve some problems. Its opportunity are so fantastic and working style so speedy.Pintu High Speed

  6. Thank you for informative blog.Well done keep up the good work & waiting for your next blog. Visit for install Best home surveillance systems

  7. Great article. The concept The secret to creating magnetic, high-traffic blog contentreally is well explained and has helped me a lot. thank you for submitting this article. Automatic Swing Doors

  8. This is excellent information. Thanks for sharing.
    Livfuture is best Sensor door manufacturers and supplier in pune. We supply best price Automatic Sensor door
    Automatic Sensor door - Livfuture Pune