This is a instructable for a very simple Arduino controlled electric lock.
The key idea here is to be very simple as this was more of a proof of concept prototype type of thing.
The Arduino is used as a switch to control the lock itself, and is set to interface with a Computer.
The Computer sends serial data to the Arduino in which allows the electronic lock to be opened.
The Computer itself allows many different ways of opening this lock such as just pushing a button, reading a bar code scanner, and even over Bluetooth with a Windows Mobile device.
I used this simple project as a fun way of learning the basics of a few different things,
such as Arduino programming, Bluetooth integration, Bar code scanners and Serial communication
Step 1: Parts
Well first you need a Arduino, i used a Diecimila but any type would work.
The lock i am using is La Gard ENV 1300 type lock, i bought like 6 of them for 10 bucks on EBay.
You can not use just any type of lock, like a regular door lock, it must be electronic based.
It needs to work in the following manner: Inside this lock is a deadbolt, now what keeps this deadbolt closed is a very simple electromagnet. When you put power through this electromagnet it allows the lock to be open. If it does not have this simple electromagnet inside then it will not work . A simple door lock that uses a key and pins and tumbler will not work.
I included a picture of the inside of the lock where you can see how it works: Power goes to the electromagnet which pulls back a pin that releases and frees a wedge. This wedge then allows the door to be unlocked.
Theoretically you could create your own electromagnetic lock, or use a simple motor or something but that is for a different instructable.
You will also need a basic transistor: I used a 2N2222 from radio shack
Now if you want to open it through other means than just the computer your need:
A Bluetooth phone, i am using a Touch Pro with Windows Mobile
A bar code scanner, i am using a Symbol CS1504
In the last picture you see a door knob, this door knob has a wooden square knob glued to the bottom to fit in the square peg on the lock, its used to open the lock.
Step 2: Arduino
The wiring of the Arduino is very simple.
Its just a very simple set up with a transistor. 2N2222 from radio shack
Now i tried it with a few resistors and was having some problems so i just went without them.
Feel free to correct me on that.
The transistor is connected as so:
The signal from the Digital port is connected to the transistors base.
The power from the Arduino is going through the lock back out and to the collector on the transistor
Then it is going out the emitter to the Ground on the Arduino
The code is very simple it takes any data from the serial port and sends signal to the port, delays then ends the signal.
Once again, very simple:
Test to use serial port to open/close lock
int inByte = 0;
//check for connection
if (Serial.available() > 0)
inByte = Serial.read();
Its just like it looks, any serial data it picks up on that port it opens the lock for 1000 milliseconds.
Step 3: LockApp
Button – where you push the button and it sends data to the Arduino to open
Bar code – it access a bar code scanner data and checks for a specific code, if it see it it opens the lock
Blue Tooth – Using a WinMo phone it it picks up the correct data through the blue tooth serial connection it opens the lock
Settings – where you tell it what COM ports each device is using
Each one sends data to the Arduino in the same fashion,
It pulls the COM port from the settings menu,
opens a connection,
infoLabel1.Text = “OPENING”;
SerialPort port2 = new SerialPort(lockCom.Text, 9600);
for (int i = 0; i < 100; i++)
infoLabel1.Text = “OPEN”;
infoLabel1.Text = “LOCKED”;
catch (System.Exception exp)
infoLabel1.Text = “CONNECTION PROBLEM”;
So on the button Tab if you hit Open it run the above code.
Read more: Very Simple Arduino Electric Lock