PIC Projects
WiFi - ESP8266
Doorbell with SD / EEPROM
SD FAT16/32 for .bmp
TFT Egg Timer
LCD TFT Oscilloscope
SD Talking Clock
SD Sound Recorder,
    FAT32 wav Player
LED Thermometer
LED Egg Timer
LCD Egg Timer

Frequency Counters
100KHz For PC
1MHz For PC
8 Digits LED 50 MHz
Scope Screen Display
LCD Module 10MHz
6MHz for Android
USB PIC18F2550
USB TFT display BMP
USB DS18B20 Sensor
USB Thermometer
USB Counter
USB Meter
USB Oscilloscope
USB Input-Output
USB 16x2 LCD

COM & LPT Ports
MCP3201 on LPT
Serial TFT Text
Serial Inputs Outputs
Serial Port LCD
Analogue Signal to LPT
MCP3201 on Serial Port
Serial Thermometer
Analogue Signal to Serial
LCD Display on LPT
Serial Thermostat

Water Softener
HP Stream 7 docking
3.7V to 5V
Solar Charger

Infrared Decoder
PIC Music

Code Lock
Code Lock with LCD


Electronic code lock with the ability to rewrite the entry code. Can be used for entrance door, car door or a locker. The LCD simplify the interaction by the user. Any 4 digits number can be used. Pressing the right code activates the relay for 2 seconds. Not pressing any key for more than 30 seconds resets the display. Using microcontroller PIC16F870. To change the 4 digits code press 'New Code' pushbutton. The pushbutton has to be mounted in an area not accessible to the public. The 4 digits are stored in the chip's EEPROM, so the numbers are retained when the power is off.
You are free to use the circuit diagram and the software with no limitations.

Circuit Description
See also Technical Tips

Supply 12 to 24V for the relay, 5V for the PIC is from 78L05 voltage regulator.
The NO contact of the relay is connected to the door electric latch.
Key pad can be any matrix switches.

All transistors are BC237 or equivalent.
LCD module is 1 line 16 characters. It has 14 way connector, 10 connections are used, 4 bits data bus is selected. There is a big selection of LCD modules, and they are very similar in characteristics i.e. DM1601, ACM1601.
Contrast pot must be set because in one end of the pot it is totally dimmed.
New Code pushbutton is for entering new 4 digits code.