microcontroller-based lock using colour security code

78
MICROCONTROLLER-BASED LOCK USING COLOUR SECURITY CODE THEN DAO HUI UNIVERSITI TEKNOLOGI MALAYSIA

Upload: aj-cruz

Post on 24-Oct-2015

203 views

Category:

Documents


2 download

DESCRIPTION

Security

TRANSCRIPT

Page 1: Microcontroller-based Lock Using Colour Security Code

MICROCONTROLLER-BASED LOCK USING COLOUR SECURITY CODE

THEN DAO HUI

UNIVERSITI TEKNOLOGI MALAYSIA

Page 2: Microcontroller-based Lock Using Colour Security Code

PSZ 19:16 (Pind. 1/07)

DECLARATION OF THESIS / UNDERGRADUATE PROJECT PAPER AND COPYRIGHT

Author’s full name : THEN DAO HUI

Date of birth : 14th

MARCH 1989

Title : MICROCONTROLLER-BASED LOCK USING COLOUR

SECURITY CODE

Academic Session : 2012/2013

I declare that this thesis is classified as :

I acknowledged that Universiti Teknologi Malaysia reserves the right as follows:

1. The thesis is the property of Universiti Teknologi Malaysia.

2. The Library of Universiti Teknologi Malaysia has the right to make copies for the

purpose of research only.

3. The Library has the right to make copies of the thesis for academic exchange.

Certified by:

Date : 7th June 2013 Date : 7

th June 2013

NOTES : * If the thesis is CONFIDENTAL or RESTRICTED, please attach with the letter from the organization with period and reasons for confidentiality or restriction.

UNIVERSITI TEKNOLOGI MALAYSIA

CONFIDENTIAL (Contains confidential information under the Official

Secret Act 1972)*

RESTRICTED (Contains restricted information as specified by the

organization where research was done)*

OPEN ACCESS I agree that my thesis to be published as online open

access (full text)

SIGNATURE SIGNATURE OF SUPERVISOR

(NEW IC NO. /PASSPORT NO.) NAME OF SUPERVISOR

890314-01-5369 Prof. Dr. Johari Halim Shah

Osman

Page 3: Microcontroller-based Lock Using Colour Security Code

"I hereby declare that I have read this report and in my opinion this report is

sufficient in terms of scope and quality for the award of the degree of Bachelor

of Electrical Engineering (Mechatronic)”

Signature :

Name : Prof. Dr. Johari Halim Shah bin Osman

Date : June 7th

, 2013

Page 4: Microcontroller-based Lock Using Colour Security Code

MICROCONTROLLER-BASED LOCK USING COLOUR SECURITY CODE

THEN DAO HUI

A thesis submitted in partial fulfillment of the

requirements for the award of the degree of

Bachelor of Electrical Engineering (Mechatronic)

Faculty of Electrical Engineering

Universiti Teknologi Malaysia

JUNE 2013

Page 5: Microcontroller-based Lock Using Colour Security Code

ii

I declare that this thesis entitled "MICROCONTROLLER-BASED LOCK USING

COLOUR SECURITY CODE" is the result of my own research except as cited in the

references. The thesis has not been accepted for any degree and is not concurrently

submitted in candidature of any other degree.

Signature :

Name : THEN DAO HUI

Date : June 7th

, 2013

Page 6: Microcontroller-based Lock Using Colour Security Code

iii

Special dedicated, in appreciative attitude for the supports, encouragement and

caring to my beloved parents, siblings and friends.

Page 7: Microcontroller-based Lock Using Colour Security Code

iv

ACKNOWLEDGEMENT

First and foremost, I would like to thank my supervisor, Prof. Dr. Johari

Halim Shah bin Osman for the unfailing supports and pointed guidance given all

along my final year project. Prof. Johari had giving me a lot of advice and

consultation in completing the project.

Besides, I would like to express my appreciation to my family who for their

whole-hearted supports during my study in university. Without their encouragement

and supports, both financial and mental, I would not have gone this far. Thanks for

their tolerances and understanding shown during my project.

Last but not least, a special thanks to my friends who have selflessly shared

the opinions and useful information as well as the technical supports to me in order

to complete the project.

Page 8: Microcontroller-based Lock Using Colour Security Code

v

ABSTRACT

Nowadays, lock has evolved into the security device that embedded with the

microcontroller which is usually named electronic lock. There are several

authentication methods for the electronic lock and the password based electronic lock

are the most ubiquitous and cheapest among them. However, there are some

drawbacks for this type of lock. This colour security code lock is designed to

overcome those drawbacks. It is a microcontroller based lock which using the colour

sequence code as password to unlock the system. An Arduino mega 2560 R3 is used

as the brain of the electronic locking mechanism. A semi-transparent keypad

equipped with RGB LEDs is used to provide user as an end peripheral to insert the

code. Meanwhile, a Graphic Liquid Crystal Display (GLCD) is used as a platform for

the system to exhibit its condition and status as well as to allow user to select the

desired menu option. A vehicle power lock is chosen to perform the locking

mechanism in this project. The colour of the keypad buttons is changing randomly

during the code inserting process to provide an unfixed button. User is required to

key in the correct colour sequence in order to unlock of the system. Three accounts

are provided for the user to set their owned combination of code. The Arduino IDE

is used to develop and boot the programming code into the project. Generally, this

colour security code lock is able to increase the security level as compared to the

ordinary password based lock, since the sequence of buttons to key in the security

code is not fixed and security code is not based on alpha numeric numbers.

Page 9: Microcontroller-based Lock Using Colour Security Code

vi

ABSTRAK

Kebelakangan ini, teknologi mangga berkembang dengan pesat. Alat

mangga yang terbenam dengan mikropengawal dapat dikesan di pasaran dan

biasanya ia dikenali sebagai mangga elektronik. Terdapat beberapa jenis cara

pengesahan bagi mangga elektronik, dimana manga jenis kata laluan adalah jenis

yang paling terkenal dan murah. Walaubagaimanapun, terdapat beberapa kelemahan

untuk manga jenis kata laluan ini. Bagi mengasai kelemahan ini, mangga jenis kod

warna direka. Ia berasaskan mikropengawal dan menggunakan urutan kod warna

sebagai kata laluan untuk process login. Arduino mega 2560 R3 digunakan sebagai

otak dalam system ini untuk memanipulasi dan memproses isyarat input dan output.

Papan litar bercetak kekunci separa telus yang dilengkapi dengan RGB LED

digunakan untuk memasukkan kod. Selain itu, Liquid Crystal Display bergrafik

(GLCD) digunakan sebagai platform untuk menunjukkan status system ini dan

membenarkan pengguna untuk memilih pilihan menu yang dikehendaki. Mangga

kuasa dipilih untuk mewakili mekanisme penguncian dalam projek ini. Warna butang

kekunci berubah secara rawak semasa proses pemasukan kod. Pengguna dikehendaki

memasukkan kod mengikut urutan warna yang betul untuk mengakses ke dalam

system ini. Tiga akaun disediakan dalam system ini, pengguna boleh mengudahsuai

kod yang sedia ada dengan kod baru. Perisian bernama Arduino IDE digunakan

dalam penyedian kod pengaturcaraan bagi projek ini. Secara umumnya, mangga jenis

kod warna ini dapat meningkatkan tahap keselamatan berbanding dengan mangga

jenis kata laluan yang biasa. Hal ini disebabkan mangga jenis kod warna tiada warna

butang yang tetap dan tidak menggunakan nombor untuk kata laluan.

Page 10: Microcontroller-based Lock Using Colour Security Code

vii

TABLE OF CONTENTS

CHAPTER TITLE PAGE

DECLARATION ii

DEDICATION iii

ACKNOWLEDGEMENT iv

ABSTRACT v

ABSTRAK vi

TABLE OF CONTENTS vii

LIST OF TABLES x

LIST OF FIGURES xi

LIST OF ABBREVIATIONS xiii

LIST OF APPENDICES xiv

1 INTRODUCTION

1.1 Background 1

1.2 Objective of Project 2

1.3 Scope of Project 3

1.4 Thesis Outline 3

1.5 Summary of Works 3

2 LITERATURE REVIEW

2.1 Introduction 7

2.2 Authentication methods 8

2.2.1 Password Type 8

2.2.2 Token Type 9

2.2.3 Biometric Type 9

Page 11: Microcontroller-based Lock Using Colour Security Code

viii

2.3 Existing Modal of Security System 10

2.3.1 Security System using Password 11

2.3.2 Security System using Token 12

2.3.3 Security System using Biometric 13

2.3.4 Others Security System 13

2.4 Drawbacks of each authentication method 14

2.5 Color 16

2.6 Colour Authentication System 18

2.7 Random Keypad System 20

2.8 Arduino 21

2.8.1 Arduino Mega 2560 R3 22

2.9 The Key Scanning Concept 24

3 METHODOLOGY

3.1 Hardware 25

3.1.1 Microcontroller Part 26

3.1.1.1 Serial peripheral Interface (SPI) 26

3.1.2 Keypad Part 28

3.1.3 Controller Interface Parts 29

3.1.4 Lock Interface Board 32

3.1.5 Electric Lock Part 34

3.1.6 Graphic Liquid Crystal Display (GLCD)

Shield

35

3.2 Software 35

3.2.1 Algorithm for Color Code Verification 35

3.2.2 Algorithm for Menu 37

3.2.3 Programming Code 39

4 RESULT AND DISCUSSION

4.1 Result 44

4.1.1 Keypad Colour 45

4.1.2 Operation 45

4.2 Discussion 48

Page 12: Microcontroller-based Lock Using Colour Security Code

ix

4.2.1 Control of RGB LED 48

4.2.2 Number of Available Button’s colour 49

4.2.3 True Random Number 50

4.2.4 Multiple Jumper Wires on Keypad

Interface Board

51

4.2.5 Keypad Brightness 51

5 CONCLUSION

5.1 Conclusion 53

5.2 Recommendation 54

REFERENCES 56

APPENDICES A 61

Page 13: Microcontroller-based Lock Using Colour Security Code

x

LIST OF TABLES

TABLE NO. TITLE PAGE

1.1 Gantts Chart and Milestone for FYP1 5

1.2 Gantts Chart and Milestone for FYP1 6

3.1 Resistance value for the potentiometer set 42

4.2 Default code settings for each account 47

4.1 Colour Chart 48

Page 14: Microcontroller-based Lock Using Colour Security Code

xi

LIST OF FIGURES

FIGURE NO. TITLE PAGE

1.1 Project flow for FYP1 4

1.2 Project flow for FYP2 4

2.1 Password Based System 8

2.2 Token based system 9

2.3 Types of token 9

2.4 Types of biometric information 10

2.5 Example of iris biometric lock 10

2.6 Result of colour combination traced by human eye 17

2.7 Colour combination chart 17

2.8 Pass-Color System 19

2.9 The ColorLogin Scheme 19

2.10 keypad of the ScramblePad from HIRSCH 20

2.11 Operation flow of the Swivel PINSAFE 21

2.12 Input output connection of Atmega 2560 24

3.1 Overview of the project 25

3.2 Arduino Mega 2560 R3 board 26

3.3 SPI connection and SPI data transferring diagram 27

3.4 Silicon rubber keypad and internal keypad PCB 28

3.5 Layout of the keypad 29

3.6 First design of the controller interface board 30

3.7 Digital potentiometer sent from RS Component 31

3.8 First version of keypad interface board 31

3.9 Second version of keypad interface board 31

3.10 Circuit diagram for Toshiba optocoupler 33

3.11 Signal flow diagram for power lock connection 33

Page 15: Microcontroller-based Lock Using Colour Security Code

xii

3.12 Schematic diagram for lock interface board 34

3.13 Program flowchart of the system 36

3.14 Algorithm for whole program 38

3.15 Algorithm for code changing process 38

3.16 SPI control register (SPCR) and the setting condition 40

3.17 Data transferring mode for SPI 40

3.18 Program flowchart of key scanning part 41

3.19 Programming concept for joystick input of 43

GLCD shield

4.1 Colour security code lock 44

4.2 System process display 47

4.3 Connection of RGB LED 49

4.4 10 available colours for button 50

4.5 First colour combination after reset for twice attempt 50

4.6 Position of the boards 51

4.7 Colour keypad without and with casing 52

Page 16: Microcontroller-based Lock Using Colour Security Code

xiii

LIST OF ABBREVIATIONS

DSP - Digital Signal Processing

DVD - Digital Video Disc

EEPROM - Electrically Erasable Programmable Read-Only Memory

FPGA - Field Programmable Gate Array

GLCD - Graphic Liquid Crystal Display

IC - Integrated Circuit

IDE - Integrated Development Environment

LCD - Liquid Crystal Display

LED - Light Emitting Diode

MISO - Master In Slave Out

MOSI - Master Out Slave In

MSTR - Master

PCB - Printed Circuit Board

PIC - Peripheral Interface Controller

PWM - Pulse Width Modulation

RFID - Radio Frequency Identification

RISC - Reduced Instruction Set Computing

SCK - Serial Data Clock

SPI - Serial Peripheral Interface

SS - Slave Select

USB - Universal Serial Bus

Page 17: Microcontroller-based Lock Using Colour Security Code

xiv

LIST OF APPENDICES

APPENDIX TITLE PAGE

A Arduino Mega 2560 schematic 61

Page 18: Microcontroller-based Lock Using Colour Security Code

1

CHAPTER 1

INTRODUCTION

1.0 Background

Nowadays, the public security in our country is not so ideal and the crime rate

seems not to be reduced these past years. Our life is full of threats in every minute

from now, no matter where we are especially in the city. The tragedy may occur

during our way to work, travelling or even at our sweet home which is usually

defined as the safest place for us. The robbery and burglary cases seemed rampant

today, it even occurred under the CCTV surveillance. Even though the police have

put a lot of efforts on this, but still, it needs our own effort to ensure the security for

our home. Due to this, the security has become a crucial issue for our daily life.

Everyone is going to use whatever means that can promise them the safety of their

asset.

The lock is considered as the main hire of defense to prevent others to access

personal stuffs or intrude into our private area. It is one of the earliest security

methods over the centuries. The lock is an indispensable part for security system and

still used in the security system today with other extra access operation, likes

password, token or biometric verification.

Password authentication system seems to be the most common type among

these accessing methods. However, the users are facing an inconvenience when

someone is standing beside or behind them during the keying in of the password. The

Page 19: Microcontroller-based Lock Using Colour Security Code

2

bystander can watch the whole process over the shoulder of the user and can make

guesses of the password that the user pressed by observing the position of the finger.

Thing will become worse if the onlooker know or able to see the keyboard or keypad.

This condition is known as shoulder surfing [1].

In addition, the risk of password being stolen is higher if the security system

belongs to a person and the password used is not change for quit sometime. By

placing some chemicals on the keypad, someone may easily see the fingerprint. From

that, it is able to know the number set that being pressed and the password may be

guessed based on that set of numbers [2].

In order to enhance the security by increasing the easiness in memorising of

password and reduce if the chances of the password being stolen by bystander, a

password authentication lock system using colour sequence is introduced. This lock

requires user to enter the correct colour sequence from the keypad where the buttons’

colour are changing randomly. By pressing one of the key, the color will change

immediately. This will increase the toughness of shoulder security of password;

hence increase the security level of the locking system.

1.2 Objective of Project

The main objective of this project is to develop a security system that uses

the color sequence as authentication method. The color of the button to key to key in

the colour code is changing randomly, hence creating a security lock that can reduce

the probability of password being stolen by bystander in such a way that the

passwords pressed are difficult to be guessed by others nearby.

Page 20: Microcontroller-based Lock Using Colour Security Code

3

1.3 Scope of Project

In order to fulfill the project objective, there are several scopes had been set.

Firstly, the security lock is aimed to use for door locking system using Arduino board

as the controller. Second, there will be at least 3 colors changing randomly for each

key of the keypad. Third, the colour will be changed once one of the keys (button) is

pressed or 5s had elapsed without any key pressed.

1.4 Thesis Outline

This thesis comprises five chapters. The first chapter discusses about the

objective and scope of this project as well as the summary of work. Meanwhile,

chapter 2 is regarding the literature review and research based on books, journals and

previous thesis on the subject. It introduces about the authentication method of

electronic lock, drawbacks for each type of method, current electronic lock modal,

color, color coded system and random keypad system as well as Arduino board. Next,

the methodology of the project is presented in chapter 3. It includes the hardware part

and the software part. In chapter 4, the result and discussion will be presented.

Lastly, chapter 5 consists of the conclusion and the recommendation for future

extension of the project.

1.5 Summary of Works

The flow of the project is illustrated in the flowcharts which it include the

completed works and the future to-do works for FYP 1 and FYP 2 as shown in

Figure 1.1 and Figure 1.2 respectively. Meanwhile, the Table 1.1 and 1.2 are the

Gantts Charts for FYP1 and FYP2 respectively.

Page 21: Microcontroller-based Lock Using Colour Security Code

4

Figure 1.1 : Project flow for FYP1

Figure 1.2 : Project flow for FYP2

Start

Supervisor Assignment

3 title proposal

Title

confirmation

The existing modal Research

Literature Review

Design the hardware

Study programming language

and draw program flowchart

Hardware Purchasing

Thesis writing

Circuit Planning

Workable?

End

Circuit Re-planing

Yes

No

Yes

No

Keypad circuit

Start

Keypad Interface circuit

Lock Interface circuit

Programming by part

Testing and

troubleshooting

Improvement

Poster designing

Seminar

Thesis writing

End

Page 22: Microcontroller-based Lock Using Colour Security Code

5

Table 1.1: Gantts Chart and Milestone for FYP1

Page 23: Microcontroller-based Lock Using Colour Security Code

6

Table 1.2: Gantts Chart and Milestone for FYP2

Page 24: Microcontroller-based Lock Using Colour Security Code

7

CHAPTER 2

LITERATURE REVIEW

2.1 Introduction

It was believed that the first lock in the world was vanished and it was

nowhere to investigate as there was no any record of it [3]. The history of lock can

only be traced back to 4000 thousand years ago when the oldest ancient lock was

invented by the Egyptian. This oldest lock was discovered in 1842 in Persia and it

used the same technique with pin tumbler lock as nowadays. Apart from the ancient

Egypt, there are others old civilizations, likes Greek and Roma that invented lock

with different locking techniques. Some archaeologist deduced that all of these

locking techniques were not related with each other and they were developed

independently [3].

With the fast growing of technology, the lock has evolved from only pure

mechanical type into electrical and electronic type. With the assemblage of electronic

and mechanic at system, the lock has developed into a high-tech style which uses

some special authentication method. Usually, it is called electronic lock or smart lock

as it can operate based on the given information. In the current market, there are

many authentication methods to trigger the electronic lock including, button

sequence, radio frequency identification (RFID), biometric, security token and etc.

Generally, these kinds of authentication use the embedded system to process or

verify password or data entered by the users. The intruders have to spend quite a time

to crack these kinds of high tech lock [4] [5].

Page 25: Microcontroller-based Lock Using Colour Security Code

8

2.2 Authentication methods

2.2.1 Password Type

Among these authentication methods, the most popular type is using the

numerical code as access tool [4][5][25]. This method requires the user to enter the

correct sequence of code via keypad (button) in order to unlock the system. Some

examples of password based system are shown in Figure 2.1. Basically, it contain 4-6

digits of number as the security code. Besides numerical code, the password is also

one of the methods under the button sequence type. It may consist of the combination

of alphabetic and numerical code. Meanwhile the passphrase is a set of words which

is having the function as the password but it is longer than password. The longer

password will cause a problem in recalling the password where a user may easily

forget [1]. This longer password has no obvious improvement on the security as long

as the inserted information is remained unchanged. It will increase the rate of error

during the entering session; this may bring frustration to the user.

However, password seems to be the main authentication method for some

period due to the consideration of dependability, safety, user friendly of the

technologies and confidentiality. But there will always a conflict between safety and

user friendly. As stated by Birget [7], the password must have two criterions which

are against to each other. First, passwords should be highly memorable, and the

access process should be done in swift and simple by user. Second, passwords should

be safe where they should seem to be random and secret. They need to be altered

from time to time and cannot be the same for every account of the same person.

Besides, the passwords also cannot be recorded or kept in bare text.

Figure 2.1: Password based system

Page 26: Microcontroller-based Lock Using Colour Security Code

9

2.2.2 Token Type

For the authentication using security token, it requires possession of the so

called ‘key’ or token in order to unlock [4][5][6] as illustrated in Figure 2.2. The

token can be a card, ring, passport or other devices that contained the information to

be verified by the security system as exhibited in Figure 2.3. The system needs the

tag and the reader to operate. RFID is a method that authenticates the user by using

the radio wave which is belongs to the token type group. It needs a tag to store the

information as the code and the tag is usually embedded into an object, or living

thing including human for the verification. The valid detection range is depending on

the system. It may up to several meters as long as the tag is presented in the detection

field of the reader. Usually, the door access tag is made in a card like shape.

Figure 2.2: Token based system

Figure 2.3: Types of token

2.2.3 Biometric Type

Lastly, the biometrics authentication is the access operation that is growing

fast and is getting more popular as it performs in high security level [4][5][6]. There

Page 27: Microcontroller-based Lock Using Colour Security Code

10

are several types of biometric authentication such as fingerprint scanning, iris and

retina scanning, voice detection, hand geometry recognition, face detection and so on

as displayed in Figure 2.4. This kind of system is said to be safe as each individual

having a unique pattern for the retina, iris, and fingerprint as well as other body parts

that are used as the authentication method.

Figure 2.4 : Types of biometric information

Figure 2.5 : Example of iris biometric lock

2.3 Existing Modal of Security System

There are many types of microcontroller based lock introduced by different

researches. In this part, the type of lock is categorised according to the authentication

method which are basically consist of three main types as stated before. There are

password pin based, token based, biometric based and other types.

Page 28: Microcontroller-based Lock Using Colour Security Code

11

2.3.1 Security System using Password

For the password based microcontroller based lock, most of them are using

PIC as the microcontroller while there are also some using Atmel’s chip and FPGA.

An electronic based lock is presented [8]. It is a low cost PIC based lock with simple

design. The 4x4 keypad is used as the input and a relay is used as the lock. Another

password based lock system named Office Access Control System is presented by S.

R. Khan in his paper [9]. It is a low cost system that uses to restrict unauthorized

person to access into certain zone. PIC is used as the main controller and a 4x4

keypad is attached in the system. Generally, the function is just slightly different as it

has the alarm function.

Another similar electronic lock is also introduced by M. H. Muhammed in his

journal [10]. Just as the previous lock, it uses PIC microcontroller and the 4x4

keypad as input. However, it has some extra functions which the password can be

reset and the backspace function is added. Besides, the system is claimed to be

smooth as the software have been verified without any bug. In the journal written by

Sitong S., Angang T. and Decai Z. [11], a FPGA based electronic lock have been

introduced. It is claimed to be reliable as the processes are carried out by the

hardware and is easy to modify as it can load the latest design into the FPGA without

any alteration of the hardware. The main disadvantage is that the price might be

higher than other locks that using microcontroller chip.

In addition, a home automation system is implemented by Indeerpret K.[12]

This Atmel based system has several subsystem such as, locking system, switching

system, temperature control, lighting and fire detection system. In this project,

locking system which is using password authentication by receiving input from a

keypad is considered. The lock is installed inside the door where cannot be seen from

the outside and this reduce the chance of damage by intruder.

Page 29: Microcontroller-based Lock Using Colour Security Code

12

2.3.2 Security System using Token

There are four token-based security systems found in the literature. The types

of token that has been used in these literatures are keys, RFID card and remote

controller. The first is an electronic and mechanical lock that using DSP as controller

[13]. It joins the mechanical and the electronic lock function in one system where a

key that contained digital information is used to access the system. User is required

to plug in the key and turn it. During this moment, the lock will read the information

on the key and start the verification process to determine the next step. If the

information is not match the alarm signal will be sent to the coordinate center. This

system has the function of key deletion, it is useful when the key is missing or being

stolen. Overall, it is safe and has the identification function. However, it is operated

on battery.

An intelligent door lock created by student from Nanchang University is

introduced in the ISECS International Colloquium [14] which uses a 32-bit Arm

CPU as the controller which associates with other subsystems, including LCD, RAM,

ROM, and Real time clock to perform as a complete locking system. The RFID card

is used as the token to access the system. The main advantage of this system is its

ability to trace the entry record directly from the lock without the need of the central

computer.

There is another RFID security system operated in 13.5 MHz is found in the

literature [15]. The system comprises a communication module, data manipulating

system and the RF token. Overall, it is just a simple RFID system. The other system

is a remote door lock controller invented by University of Connecticut [16]. This

design is aimed at the handicapped group who face the inconvenience in moving the

hand freely. The system is made up of a remote controller and receiver to perform

the lock and unlock operation.

Page 30: Microcontroller-based Lock Using Colour Security Code

13

2.3.3 Security System using Biometric

For the biometric based security system, there are several methods that have

been proposed such as the face, iris, fingerprint and voice recognition. A face

recognition door locking system is designed [17]. A GUI is implemented using

Matlab and PIC is used to control the status of the electronic lock in this system. A

computer is needed to perform the face recognition procedure.

Soni-Key is another biometric based door lock that uses voice and fingerprint

in the authentication process [18]. It is developed by student from the University of

Connecticut. It is purposely designed for the disable group who are using the

wheelchair. The system can be controlled by either voice or fingerprint where it

depends on the position of the user. When user needs to access from the outside,

he/she is required to pass the voice and fingerprint verification. Meanwhile, the

system requires only voice command form the user inside the house to operate. This

system faces the accuracy problem as the voice is hard to be constant for every

access.

In addition, there is also a security system that uses multi type biometric

being proposed by a researcher from India [19]. The system uses iris and fingerprint

as the dimension to verify the authorized user. It is aimed for the application in the

office where the high security is needed. It is a safe system as the fingerprint and iris

pattern are different for everyone. Due to the advanced technology used, the cost for

the system is also high.

2.3.4 Others Security System

Apart from the three main authentication methods, there are still some other

type such as, audio and internet. A security procedure using audio recognition has

been proposed by student from West Visayas State University [20]. This method uses

the high frequency audio as code and this code is combined and played during the

Page 31: Microcontroller-based Lock Using Colour Security Code

14

accessing process to let the lock system to trace and verify it. It is safe enough for

this stage as the technology have not been widely applied. This means others still do

not master in cracking this system. Besides, the technique used in the audio

verification is very accurate as it shows less error during the experiment. It can

prevent the stealing of the code as the audio from the key is hard to trace by the

human ear. On the down side, this method needs a music player to play the code and

a computer to verify the real code.

A home appliance control system is published in the SiCE-ICASE

international conference by D. H. Yoon, D. J. Bae and H. S. Kim [21]. It involves

telephone to control the locking operation via internet. There are several subsystems

that existed in this control system, such as the door lock, the lighting system and the

motor system. It is convenient that to control those subsystems via internet but this

exposes the system to the risk of virus infection.

2.4 Drawbacks of each authentication method

The users tend to forget the password easily if they are having many accounts

with different passwords [22]. Due to the easiness in forgetting password, the user

usually tend to select a short and easy to remember password. According to the ABC

news on Oct 2012, the website SplachData had announced the most used passwords

for 2012 [23]. Due to its popularity, these passwords are become defenseless and

may easily be cracked. The worst passwords used by the majority are “password”,

“123456”, “abc123”, “111111” and “letmein”. This makes their passwords on the

high risk of being broke or hacked by others with the use of dictionary attack.

Besides, they also try to save the password on a paper or in the text file in computer

[24]. This is against the purpose of setting the password and it will cause the system

unsecure anymore. Furthermore, the password system is in the risk of password

being stolen by the bystander [1]. The bystander can simply peep the inserted

password during the password entry process if the users are not aware of it.

Sometimes, even an alert user can become victim, if the peeper manages to observe

Page 32: Microcontroller-based Lock Using Colour Security Code

15

the finger movement and guess the password as they know the position of the keypad

numbers.

The biggest drawback of the token method is the system will not recognize

the owner but only the token itself. When the token is possessed by other non-

authorized person or the token is missing or being stolen, it will become a problem

[26]. The system will not verifying the person but the token he or she has. Once the

wrong person gets the token, he or she may access into the security area without any

resistance. The token may be duplicates if someone knows the technique of making

the token. The system will be at risk if someone stole and duplicated it without the

knowing of the user. Since it needs reader and tag to operate, the price will be high as

compared with other. In the market, the price of those tags is still high unless bundle

purchasing is made [6].

For biometric security, an undeniable fact is that the detection system

response cannot give the 100 percent accuracy as there is always a wrong scanning

from it either in false positives (false acceptance) or false negatives (false rejection).

False acceptance is the error that the system verified the unauthorised person, while

false rejection is the error that the system fail to verify the authorised user. Generally,

the cost of this kind of system is higher as it needs advanced technology to operate.

Besides, there will be a problem when the user underwent a surgery for either healthy

or beauty purposes. The system may not recognize the authorised user due to the

changing personal biometric features. The problem rises if the thumbprint of the user

is cloned by someone and it is impossible to ask to get a new thumbprint. In our daily

life, it is impossible for an individual to make sure that he /she would not leave any

fingerprint at the public area. So, the fingerprint may probably be dropped into the

wrong hand if someone purposely trace for it. There will be another worry if the

database of the biometric system has been broke into. This means that the identity of

the user may be exposed and their activities on other systems may be traced as they

are using the same biometric information [27][28].

Page 33: Microcontroller-based Lock Using Colour Security Code

16

2.5 Color

Color is important to our daily life. From our sight, almost everything on

earth has its own color. The color is actually the light that sensed and analysed by our

brain. When light are transmit from either the lighting stuff or non-lighting stuff into

our receptor, the signal will be produce and will be sent to our brain. We will notice

about this signal and translate it as color [29].

Our vision system is good as we can detect more type of colours as compared

to other mammals. According to the Art Laboratory Handbook, human can detect

and interpret around 10Mil of various colours they see [29]. There are 4 kinds of

receptor that mankind used i.e. one rod and 3 kind of cone. Each of the cones (Blue,

green and red) have their own specification to sense different wavelength of light

which are optimum at 430,530 and 560 respectively [30]. Different wavelength will

trigger different receptor and this will make us sense the variety of colour as shown

in Figure 2.6. Just like the general color chart which consists of 3 base colours , the

colour combinations that can be sensed by human eye is explained. For example, the

red wavelength and green wavelength go into our eye at the same time, we will see it

as yellow in colour. The Figure 2.7 is the colour chart for the colour combination.

Page 34: Microcontroller-based Lock Using Colour Security Code

17

Figure 2.6 : Result of colour combination traced by human eye

Figure 2.7: Colour combination chart

However, our memory is unable to recall the exact colour that we see before.

Usually there will be a slight difference between the exact and the one in our

memory after a certain period [31]. The experiment revealed that we will see the two

Magenta

Red

Blue

Cyan

Green

Yellow

Page 35: Microcontroller-based Lock Using Colour Security Code

18

slightly different colours as the same one if we are exposed to the first color for a

period and followed by the second.

Colour is not only useful for us as it provides information through our sight,

but it is also will influence our feeling. As Lynnay Huchendorf stated in his paper

[32], the bright colour is exciting despite of soothing. In the paper [29], colour is

claimed that will bring joyful for our lives and make us to enjoy. Furthermore, he

also declared that colour is a need in our life as it can help us to avoid danger like

detecting the red burning flame, the dark cloud in the sky and etc. This benefit of

colour is also proved in the book [33][34] which stated that colour in nature are

crucial for living creature to continue on their life such as finding food, detecting

prey and so on.

Apart from the need for living, colour is also reported helpful in memorizing.

Several papers claimed that colour help people to memorize and recall more faster

[35] [36]. One of the paper [37] [38], have explained how colour can help in

memorizing. People will normally pay attention on the color and this makes them

more concentrate on the thing or information they are watching. Indirectly, they will

keep the information in memory easily [39].

2.6 Colour Authentication System

Most of the papers or journals published security system are based on

graphical password. There are not many systems that use colour as security code and

all of them are software based system where the colour changing is showed on the

screen instead of hardware. There is a research on the feasible of the use of colour as

the code to access security system in 2008 [35]. The research used a system called

Pass-Colour (Figure 2.8) as the security system that based on the colour code. Users

are required to set their code using colour and use that code to login the system. The

research found that the colour as security code method is safe enough and easy to

remember by the user. This method made the password entry process become more

Page 36: Microcontroller-based Lock Using Colour Security Code

19

interesting and easy to remember. By this they reduce the chance that user record

their password in other place and indirectly enhance the safety aspect.

Figure 2.8 : Pass-Color System

ColorLogin scheme is a system that based on graphical password with the

help of color in the password searching process which is developed by Xidian

University [40]. In this scheme users are given some row of icons and are required to

click on the row where the icon password is located. Once pressing the row, it will be

replaced with another lock icon to prevent others to record the icons on that row. As

there are many rows and many icons in a row, it is tedious for user to search for the

correct icon password. As solution, the inventor has use difference background color

to assist user in searching for their password icon as shown in Figure 2.9.

Figure 2.9 : ColorLogin Scheme

There are some systems that use colour as the password likes Color Contacts

Lock, GallerySMS Color Lock and etc. [41][42]. All of these systems are the

software based system where the color is show in the screen and the color location is

fixed.

Page 37: Microcontroller-based Lock Using Colour Security Code

20

2.7 Random Keypad System

Random keypad system is the system where the number or symbol on keypad

buttons is changing randomly during operation. This feature can reduce the chance of

password being stolen by the bystander during the password entry process. The

onlooker will have difficulty to see what number is being pressed by watching the

finger movement as the location of the numbers is placed randomly.

HIRSCH ScramblePad is a random keypad where the number is displayed

randomly on it as displayed in Figure 2.10 [43]. The number positions are placed

randomly on the keypad before the password entry. The keypad button is built by

LED seven segment display with the restriction of the light wave in certain direction.

This caused the numbers only to be visible within certain angle. This can prevent

others to read from the side plus it is hard to guess the code by watching the

movement of the user’s finger.

Figure 2.10 : Keypad of ScramblePad from HIRSCH

Another random key system is the PINSAFE software form Swivel as

demonstrated in Figure 2.11[44]. It provides user a set of random number

combination from 0 to 9 during the time that user try to login. User is required to

remember 4 numbers at the location of their original password and insert the 4

numbers during the login process. This method can prevent others from knowing the

real password even when they have watched the login process. Besides, they can

resist the attack on key logger as the entered number is not the real password.

Page 38: Microcontroller-based Lock Using Colour Security Code

21

Figure 2.11 : Operation flow of the Swivel PINSAFE

2.8 Arduino

Arduino is a microcontroller that acts like a mini computer to perform

specified function. It can be programmed to manipulate the collected data from the

input and control the connected output peripheral. It is usually applied in the

embedded system where it interacts with the surrounding via its combination of

hardware and software. There are a lot of applications of Arduino as long as there is

a loaded program to command the input devices (usually sensors or keypad) and the

output devices (such as the LED or LCD screen) connected to the board [45][46].

Basically, the Arduino board consists of several main parts in a single board,

such as processor, power supply, Input/output ports, USB Port and extension

connectors. Arduino is an Atmel based Microcontroller. The Atmel Microprocessor

is used as the brain for all Arduino modal. A voltage regulator is soldered in the

Arduino board which receives the unregulated voltage from the range of 7V-12V to

produce a regulated 5V DC to the circuit. The supply is connected to the power jack

to get the external power source [45][46].

Besides, a crystal clock is used to generate the clock pulse (“heart beat”) for

the microprocessor to process in stable time for each cycle. The number of input/

Page 39: Microcontroller-based Lock Using Colour Security Code

22

output ports is varied according to the modal of the Arduino as the microprocessor

for each modal is different. The USB Port is mainly used for connecting the Arduino

with the computer during program burning. Apart from that, the USB port also

supplies the 5v voltage directly from the computer. It means that there is no need for

other external source to power up the Arduino when it is connected through the USB.

However one has to bear in mind that the current from the USB port may not be

enough for other bigger output loads such as, relays, motor and etc. As the

microprocessor type in each Arduino is different, the number of extension connector

(usually located at the side of the board) is also different. These extension connectors

are a user friendly feature where it provides the direct ports for the user to connect

the input/output pins of the IC [45][46].

The reason of Arduino is chosen as the controller in this project is because

there are many shields with different function that can be added when it is

modification is needed. Another reason to choose Arduino is due to the open source

of its hardware and software. It means that it can be used commercially without

copyright issue. Furthermore, the program burning process of Arduino is also simple

as it only needs to connect the USB cable between Arduino and the computer. This

will save a lot of money and programming time as it does not need to connect to the

programmer [45][46].

2.8.1 Arduino Mega 2560 R3

The modal of Arduino in this project is the Arduino Mega 2560 R3. It can

work with the power supply of 6-20V but the optimal range is 7V -12V. The

overheat problem may be encountered if the supply exceed 12V; whereas the

insufficient voltage regulator’s output will happen if the input of the regulator is less

than 7V. Besides, there is a 3.3V regulator used on the board with the ability of

supplying a 50mA current [47].

Page 40: Microcontroller-based Lock Using Colour Security Code

23

It used Atmega2560 chip as the processor. According to the Atmel Datasheet

for the ATmega2560, it is an 8-bit high efficiency chip as its power consumption is

small. The RISC architecture is applied in this processor where the execution of the

instruction is quicker than the CISC architecture [47].

There is a 256Kbyte of flash memory, 8k byte of internal Static Random

Access Memory and 4k byte of Electrically Erasable Programmable Read Only

Memory. The write/ erase cycle for Flash memory and EEPROM are 10K times and

100ktimes respectively. The 16 mega Hertz crystal is used to supply the clock pulse

for the chip.

Besides, there are 54 Input/output pins in this model. The 12 ports are varied from

port A to port K. All ports are 8 pins accept the port G with only 6 pins. It also

consists of 32 General Purpose Registers. Among these I/O pins, there are 16 pins for

analog input, 15 pins for PWM output, 3 sets of serial communication interface and 1

set of Serial peripheral Interface as well as 2-wire Serial interface [47]. The output

connection of Atmega 2560 is shown in Figure 2.12. The whole schematic diagram is

shown in APPENDIX A.

Page 41: Microcontroller-based Lock Using Colour Security Code

24

Figure 2.12 : Input output connection of Atmega 2560

2.9 The Key Scanning Concept

The key scanning concept is used in the programming part. The keypad in

this project is arranged in matrix form which it can be divided into row and column

for each button. In the scanning routine, each button is scanned according to the row

and followed by the column. The scanning concept is applied the zero row pins and

5V to all column pins. If there is a connection (button is pressed) and the particular

column shows 0V then one will know which column and row of the button is pressed.

If there is no pressed button trace in the row, the program will start the scanning the

next row. It means that all the first row buttons will be scan by checking the signal

from each column and this will move to another row for scanning if no button is

pressed [10].

Page 42: Microcontroller-based Lock Using Colour Security Code

25

CHAPTER 3

METHODOLOGY

3.1 Hardware

Firstly, the hardware of the security system is determined. The system

proposed consists of five main parts: the semi-transparent keyboard button (input),

the controller interface circuit board, the lock interface board, the microcontroller

board (data processor) and the electronic lock as displayed in Figure 3.1.

Figure 3.1 Overview of the project

Lock interface

board

Vehicle Power

Lock

Colour Keypad

Keypad

interface

board

GLCD shield

Arduino Mega

2560 R3

Page 43: Microcontroller-based Lock Using Colour Security Code

26

3.1.1 Microcontroller Part

The microcontroller board for this system is selected from the existing model,

such as the Arduino board, PIC start-up kit and etc. The Arduino mega2560 were

chosen as the main controller board after the comparison based on the conveniency,

price, booting process and user friendly aspect were made. The main reasons the

Atmel based Arduino is chosen over the others because of its convenience aspect in

bootloading, cheap price, open source hardware and code, large number of libraries

and etc. Furthermore, the Mega 2560 modal have the most Input/Output ports among

all of the Arduino board which overall is 54 ports. This feature allows output board

to be designed without facing insufficient I/O port issue. The replacement of

Atmega8U2 with Atmega16U2 as the USB to serial Converter provides swift data

transfer and larger flash memory. This Arduino mega board comes in as a complete

system where one only needs to load the program into the board in order for it to

function. This can save a lot of time in developing a controller board since one does

not need to design and troubleshoot the circuit. The Figure 3.2 exhibits the Arduino

Mega 2560 R3 board.

Figure 3.2 : Arduino Mega 2560 R3 board

3.1.1.1 Serial peripheral Interface (SPI)

The Serial peripheral Interface (SPI) is a protocol used for communication

between the microcontroller and the SPI device which are the 4884 LCD shield and

the digital potentiometer AD5206 in this project. The information is sent smoothly in

Page 44: Microcontroller-based Lock Using Colour Security Code

27

series within a short distance. There are 3 common pins for all devices which are

Master Out Slave In (MOSI), Master In Slave Out (MISO), and Serial Clock (SCK).

There is also a special pin which is different for all device, the slave select (SS). The

connection between two devices for the SPI communication is displayed in Figure

3.3 and the functions of each pin is shown below.

MOSI - Pin on master to send information to slave.

MISO - Pin on slave to send information to master.

SCK - clock pulse.

SS - Pin on slave where the master can enable or disable the slave.

For the Arduino2560 mega board, the pins for the SPI are pin 51(MOSI), pin

50 (MISO), pin 52(SCK) and pin 53(SS). Only the MOSI, SCK and SS were used in

this project. The Arduino 2560 is functioned as master to send information to the

digital potentiometer. The slave device is only enabled when the SS pin is in low.

The speed and the data transfer mode for SPI are set using the SPI control Register

(SPCR). The 8 bit of the SPCR is illustrated in the Figure 3.16. All of the bits in the

register are used to determine the format of information transferring via SPI.

Figure 3.3 : SPI connection and SPI data transferring diagram

Page 45: Microcontroller-based Lock Using Colour Security Code

28

3.1.2 Keypad Part

A white colour semi-transparent button type usually made from silicon rubber

is needed for the project to allow the light to be emitted from the back. A 4x4 silicon

rubber keypad button and a PCB board with the circuit printed on it were used as

shown in Figure 3.4. This type of button is used due to its design where it has

reserved an empty LED-size space underneath each button. With this feature, the

RGB LED can be placed under the button without affecting the pressing operation.

This keypad button is flexible as it can be divided into a 2x4 or 2x2 key pool system.

It provides the same feel as pressing on the television remote controller and each

button needs an equivalent of 190-210 grams force to trigger. There is a conductive

ring under each button to connect the PCB circuit to work as a switch. The RGB is

placed under each button to allow different colour to show among the buttons by the

manipulating of the current signal at the RGB pins. The dimension of keypad is

demonstrated in Figure 3.5.

For the keypad Printed Circuit Board (PCB), it reserved a RGB space and a

diode space for each button as shown in the Figure 3.4. The diode is used to isolate

the button so that it makes the decoding process become simple. Each of the

electronic components is inserted into the hole on the PCB until the maximum level

and the remaining of their ‘leg’ is cut as short as possible. These two steps were done

to prevent the inappropriate placement of components from affecting the sensitivity

of the keypad.

Figure 3.4 : Silicon rubber keypad and internal keypad PCB

Page 46: Microcontroller-based Lock Using Colour Security Code

29

Figure 3.5: Layout of the keypad

3.1.3 Controller Interface Parts

The main function of the controller interface board is to provide an interface

between microcontroller board and the keypad circuit. There is a digital

potentiometer ICs AD5206BRZ10 (Figure 3.7) soldered on the board to control the

resistance for each pin of the RBG in order for the RGB to show different kind of

colour as pre-decided. This AD5206 IC has 6 pots of 10K potentiometer with 256

positions. This permits to control 6 set of LED with a single chip because of the

compatibility with serial peripheral interface (SPI) communication. The

microcontroller can give command to the IC via SPI. There are some transistors on

the board which were used as switch to control the button during keypad scanning.

By controlling the activation of the transistors, keypad button can be manipulated

according to column. Apart from that, this board is also used to provide one power

supply for all the components accept the microcontroller board. This board operates

on 5V input voltage supplied directly from the microcontroller board. The schematic

of the interface circuit is shown in Figure 3.6. The first version of the hardware is

shown in Figure 3.8. This circuit is soldered on donut board and occupied quite a

large space. However, this version needs many jumpers to connect it with the main

Page 47: Microcontroller-based Lock Using Colour Security Code

30

microcontroller board and all the boards are hard to maintain in a fixed position since

there is only jumper wires connected between them. In order to solve this problem, a

second version of the keypad interface board is developed where it can be directly

attached on to the main Arduino board. It is designed to remove the entire jumper

wires that connect between this board and the main board. The only jumper wires set

on this second board is connected to the keypad button. With this, this second

version became more tidy, well-organised and compact. Aside from that, there is a

small modification on this board where it reserved a space for the lock interface

board to be attached on it. There is only 3 points of connection between this board

and the lock interface board which is the 2 I/O pins and a 5 V supply. The second

version board which is also the final version is showed in Figure 3.9.

Figure 3.6 : Schematic of the controller interface board

Page 48: Microcontroller-based Lock Using Colour Security Code

31

Figure 3.7 : Digital potentiometer sent from RS Component

Figure 3.8 : First version of keypad interface board

Figure 3.9 : Second version of keypad interface board

Page 49: Microcontroller-based Lock Using Colour Security Code

32

3.1.4 Lock Interface Board

The lock interface board is used to control the operation of the electronic lock.

As the common electronic lock operates on 12V, a 12V supply is needed. The lock

uses magnetic coil and this may cause a high current flow in the circuit. Hence, an

optocoupler is used to separate the electric flow between the main board and the lock

part. This is purposely made to protect the main board from any overflow of current

or high voltage effect. The optocoupler used is a Toshiba chip named TLP521-2 as

shown in Figure 3.10. The last number showed the number of channel on the chip

which is 2 channels. These two channels are controlled by two input/ output pins of

the Arduino respectively.

Apart from the optocoupler, there are relays, voltage regulator, transistors,

and so on. 3 relays are used to control the direction of the lock. Generally, the

polarity of the lock connection needs to be exchanged in order to have a different

direction of lock movement and it can be solved with some special connection. 3

relays are applied for different polarity setting for the lock without changing the

lock’s wire connection manually. The concept of the connection is shown in Figure

3.11. The first relay is used to control the current for the second and third relays. The

common pin of the 2nd

and 3rd

relay are connected to the two input wires of the

power lock. The operation of these 2 relay are always in the opposite way. When the

second relay is on, the third relay is not operating or vice versa. With this, the

common pin for both relays will have different polarity too.

A 5 V voltage regulator was used to regulate12V input to 5V which is the

supply voltage for the whole lock interface board. The direct 12V input is applied to

the normally close and open pins of the relays and the lock. Each relay is connected

in parallel with a reversed polarity transistor to prevent the spike voltage, called back

EMF.

As an isolation circuit, there are two parts of independent current flow on it.

They can be categorised as the part before the optocoupler and the part after the

isolator. The part before the optocoupler is the flow between the Arduino and the

Page 50: Microcontroller-based Lock Using Colour Security Code

33

optocoupler. The pin 47 and pin 43 are set to output mode and are connected to the

cathode of channel 1 and channel 2 of the optocoupler respectively. Meanwhile, the

anode for both channels is connected with the 5V from the Arduino board. Once the

pin 43 or 47 is set to low, the current flowed through the LED inside the optocoupler.

This leads to the collector and emitter (detector) of the optocoupler to be shorted and

the current can flow through. The detector is another part which is after the

optocoupler. The channel 1 function to control the current flow to the relay that

governed the locking mechanism of the power lock, whereas the channel 2 is to

control the current flow to the relay that governed the unlocking mechanism. The

schematic of this lock interface board is illustrated in the Figure 3.12.

Figure 3.10 : Circuit diagram for Toshiba optocoupler

Figure 3.11: Signal flow diagram for power lock connection

Page 51: Microcontroller-based Lock Using Colour Security Code

34

Figure 3.12: Schematic diagram for lock interface board

3.1.5 Electric Lock Part

There are several types of electronic lock available in the market, such as

electric door knob, electrical door opener, electrical latch strikes, electromagnetic

lock and etc. The electronic lock was chosen according to the price, operating

voltage and accessible in the market. After reviewing all the locks’ price that

available on the market, the power lock for vehicle use is considered as the cheapest

among them. It is a 12v power door lock which cost only RM 20 as shown in early

part of this chapter (Figure 3.1). There are two operation states for the lock: either

locking or unlocking. The actuator exerts a 70 N pull/ push force during the

maximum 0.2 second operation. The operation depends on the polarity of the lock’s

input wires. The lock will move to the maximum of opposite direction if the polarity

is changed. The two input wires are soldered to the common terminal of two different

relays in order to have different polarities supply without changing the wire

connection.

Page 52: Microcontroller-based Lock Using Colour Security Code

35

3.1.6 Graphic Liquid Crystal Display (GLCD) Shield

An Arduino 48x84 LCD shield is selected as the display device for this lock

system. Besides, it also displayed the menu option for the user to select and play

important part as it is used to exhibit the information and status of the lock. This

shield fixed perfectly onto the Arduino main board with 84 pixels width and 48

pixels height screen area. There is a 5 Degree Of Freedom (DOF) joystick soldered

on it and this worked as an input device for the user to interact with the system. By

moving to certain direction, the shield will generate signal to the corresponding I/O

pin. As those pins are connected to the microcontroller, the controller can notify the

exact insert by referring to that pins. Furthermore, a reset button is located right

beside the joystick for resetting the system. This LCD shield is operated on a 5V

with LCD backlight control function. The pin 7 is set for the backlight control. SPI

interface is used for it to communicate with the microcontroller board via the digital

I/O pins of 2, 3, 4, 5 and 6. A library is ready for programming this shield and this

saves a lot of time in the programming part, which will be discussed later. A

modification was done on the keypad interface board in order to fix this shield on the

top of the Arduino board as shown in the next chapter (Figure 4.6).

3.2 Software

For software implementation, the Arduino IDE is used to create, debug and

boot the code. There are 3 main parts in the software implementation which are the

color code verification algorithm, the menu option algorithm and the programming

code.

3.2.1 Algorithm for Color Code Verification

A program flow chart as displayed in Figure 3.13 was prepared as the

preliminary work for the programming. The program will start with the initialization

Page 53: Microcontroller-based Lock Using Colour Security Code

36

of the input/output ports. Then, it is followed by generation of the random colour

mode for each keypad button and the scanning of the pressed button. The colour will

change randomly if one of the buttons is pressed or 4 seconds without any key press.

Once the three codes have been entered, the microcontroller will perform the

verification process. The lock will receive pulse to open if the correct code

combination has been entered or else the wrong entry will be record and the lock will

remain locked. Once it reached the 3 times wrong entry limit, the system is set not to

receive to any input for a certain period.

Figure 3.13 : Color Code Verification

Page 54: Microcontroller-based Lock Using Colour Security Code

37

3.2.2 Algorithm for the Menu

In the second project stage, a GLCD shield is attached to give the instruction

and to show the condition of the lock system to the user. The programming algorithm

of the GLCD starts with a menu as shown in Figure 3.14. There are four options in

the main menu which are LOGIN, CHANGE PASSWORD, LOCKING and ABOUT.

Under the LOGIN page, there are 3 user accounts provided to be chosen i.e. Lecturer,

Staff and Class Rep. The user is prompted to key in the password for the accounts

they have chosen. The later algorithm is just continuation of the previous password

verification algorithm that has been set above. For the CHANGE PASSWORD page,

the algorithm is the same as the LOGIN except that it is after the true return of the

valid password verification. The lock would not be unlocked but the system

prompted user to key in the new password (3 times pressed) in sequence. After 3

codes selected, a repetition of the 3 new set codes are needed to be keyed in again for

the conformation. The new set of codes is activated only if the user has entered the

same colour and sequence of the codes twice as illustrated in Figure 3.16.

The third option of the main menu called LOCKING is used to lock back the

system after unlock. Besides, it is also given a hidden function to select the difficulty

in unlocking the system. There are two types of difficulty which are “direct” and

“hard”. The difficulty for the system’s unlocking process is alternating every time the

LOCKING option is selected. An ‘H’ alphabet will be shown on the screen to

indicate the “hard” unlocking process or else it is “direct” unlocking process. The

Figure 4.2 h shows the hard mode as ‘H’ alphabet appeared on the display.

For the last option (ABOUT), it is used to reset all the settings to the default

value including the changed password. This function is to prevent someone who has

forgotten their new set password. As this project is only a demo kit, this reset option

is accessible directly from the menu. It will be a different case if the lock system is

applied to guard our properties. This function must be located at the position where

only the technical person can access.

Page 55: Microcontroller-based Lock Using Colour Security Code

38

Figure 3.14 : Algorithm for whole program

Figure 3.15 : Algorithm for code changing process

Start

Choose account

Insert new code

Correct code

Insert new code again

1st = 2nd

New code set

YES

YES

No

Wrong code

NO

Page 56: Microcontroller-based Lock Using Colour Security Code

39

3.2.3 Programming Code

The program is developed in C language with the Arduino syntax in the

Arduino IDE (Software). This IDE is also used for loading the program code into

Arduino board. Based on the previous algorithm, a program for the Arduino to

control and manage all the signal of input and output devices is developed. The

whole programming code is stored inside the file named “Program.doc” in the

attached DVD. There are some main parts in this C language program such as, the

initialization of the ports and SPI, button scanning loop and code scanning part,

random colour setting, permanent data storage and menu option.

For the port, there are certain things which need to be highlighted are the

mode and hardware connection. The number must be declared based on the hardware

connection. The ports for column signal of the keypad are set as the output pins 14 –

17. In addition, the 4 ports of the keypad column, pins 32, 34, 36 and 38 are set to

input mode for the microcontroller to control the RGB. Meanwhile the 2 ports of

keypad row (pins 28, 30) are set as output to send signal to the column ports if the

button has been pressed.

As the digital potentiometer is used, the SPI is initialized for it to

communicate with the microcontroller. In order to decide the style of communication

in SPI, a register named (SPCR) is set. In the program, the SPCR is set as

0b01010000 where the SPE and the MSTR are set to “high”. By referring to Figure

3.16, SPE (bit 6) is set high to enable the SPI and a “high” in MSTR indicates the

master mode. The method of data sending is where the most significant is the DORD

(bit 5) is set to “low”. As the CPOL (bit 3) is equal to low, the data clock will idle

when low meanwhile samples data occurs at the rising edge as CPHA (bit 2) is set to

low. As shown in Figure 3.17, the data will be sample and send at the rising edge of

the clock. During the falling edge, the new second bit data (new cycle) starts and it

will be send during the coming rising edge. The last 2 bits, SPR1 and SPR0 are set to

zero to have the fastest SPI speed which is equal to 4 MHz. During the data

transferring, the SPDR register is stored with the information to be sent and the

program is checking for SPIF flag inside the SPI Status Register (SPSR). Before

Page 57: Microcontroller-based Lock Using Colour Security Code

40

proceeding to the next instruction, the program will wait until the SPIF is set as it

indicates the transmission is done.

Figure 3.16 : SPI control register (SPCR) and the setting condition

Figure 3.17 : Data transferring mode for SPI

The button scanning loop is a program that will keep on repeating for

scanning the signal from the keypad if any. It is located inside the function called

“keyinprocess()” as shown in the programming document in the CD. This loop will

only start when the user tries to login on any account. This scanning loop is a nested

loop where it is divided into the column and row for the keypad signal as displayed

in Figure 3.18. The loop went through every column in the first row before it moves

to the second row. It read the signal from each column in a certain row to check

whether the button in the column has been pressed. As the row and column is

separated by a diode and the corresponding row is given a high signal (5V) for every

row looping, the signal will reach the column port if the button is pressed. The

Page 58: Microcontroller-based Lock Using Colour Security Code

41

microcontroller will receive a “high” signal from column to indicate the pressed

button. After every column in a row is scanned and before moving to the next row,

the microcontroller will send a “low” signal to that row’s pin. By this method, the

microcontroller is able to detect the pressed button on the keypad. Once the column

signal showed a “high”, a counter is increased to indicate the times of pressing. As

each button has its own colour code during the scanning, the program stored the code

in a specific variable. Once the third button is pressed, the program will compare the

3 stored codes with the code set of that particular account in the memory. If the set of

entered code does not match with the real code, the wrong counter will increase by 1.

The loop will stop after the wrong counter showed 3 and it will step in a delay mode

for a certain period.

Figure 3.18: Program flowchart of key scanning part

The random colour programming part is executed once, before going into the

key scanning loop. The program called a function named “random_button[]” to

randomly allocate a color from the 10 colours which are white, yellow, purple, pink,

red, green, blue, light green, light blue and orange. Each colour has its own number

which is from 1 to 10. The function will be call every 250 times of the key scanning

loop if there are no key is pressed within this period. The interval between colour

changing is approximately set to 4 seconds. However, this function will also be

called right after a button had been pressed. In this function, each button will be

linked with a random number (1-10). Based on this number, the microcontroller

Row++;

Column=0;

Column++

Column >

4?

Row > 2?

Store key

Key

pressed?

NO

YES

Break

Start

YES

YES

NO

NO

Page 59: Microcontroller-based Lock Using Colour Security Code

42

stored the resistance value for red, green and blue pin of each RGB LED in a set of

variable. In the button scanning loop, these variables are sent to the digital

potentiometer for the RGB colour setting. By this, the each RGB showed the

different colour according to the resistance level set. The values of the resistance

level for red, green and blue pin are varying for different colour as showed in the

Table 3.1.

Table 3.1 : Resistance value for the potentiometer set

Colour Resistance Value

Red Green Blue

White 20 10 5

Yellow 9 10 255

Purple 20 255 5

Pink 5 255 20

Red 1 255 255

Green 255 1 255

Blue 255 255 1

Light Green 255 5 20

Light Blue 255 20 5

Orange 5 20 255

In this project, there are some important values needed to be stored such as

the new password set by the user. In the Adruino board, there is a 4 kB EEPROM

memory that can be used to keep nonvolatile data where the data does not fade out

even during the power off period. Therefore, the library entitled “avr/eeprom.h” is

initialised in order to call the read and write function for the EEPROM memory. The

“eeprom_read_block ((void*)&structure, (void*)0, sizeof (structure));” function is to

read all the structure parameter from the EEPROM. Meanwhile, the

“eeprom_write_block((const void*)& structure, (void*)0, sizeof(structure));”

function is to write or stored the structure into the EEPROM.

The menu option is done through the programming of the GLCD shield. A

library for this GLCD has been downloaded and included in the program to make the

coding easier. With the library, the SPI setting for the communication between the

Page 60: Microcontroller-based Lock Using Colour Security Code

43

shield and board is ignored. Therefore, the focused was only on how to read the input

and to create the menu page and the option. The program kept on looping for

scanning for the pressed joystick as demonstrated in Figure 3.19. Once the joystick is

pressed, the program will fall into the corresponding case to execute the instruction

accordingly. There is a 5 degree of freedom on the joystick where 4 of them are for

direction indications and the center-down is used as select or the enter function.

Besides, a function “lcd.backlight(ON/OFF)” is used to turn on or off the back light

for the user to read the screen in a dark environment. It is programmed to be on for

only a certain period to reduce the energy consumption.

Figure 3.19: Programming concept for joystick input of GLCD shield

Page 61: Microcontroller-based Lock Using Colour Security Code

44

CHAPTER 4

RESULT AND DISCUSSION

4.1 RESULT

The result part is divided into 2: the keypad colour and operation part. The

keypad colour part shows the keypad colour that is available and the colour chart.

Meanwhile, the operation part exhibits the menu page and the status of the lock

system during the whole operation. The overall view of this project is exhibited in

Figure 4.1.

Figure 4.1: Colour security code lock

Page 62: Microcontroller-based Lock Using Colour Security Code

45

4.1.1 Keypad Colour

There are 10 colours available on the keypad for the user to select. Each of

the colour is associated with a specific value from 1 -10 as shown in the table 4.2.

Based on the observation done, most users tend to treat the light blue and blue colour

and light green and yellow colour as the same colour. The process started with the

introduction of the colour keypad to the user. The user was required to calculate the

total number of the colour on the keypad which each button colour is changing

randomly. The majority mentioned that there are only 7, 8 or 9 colours in total. But

after the colour chart is exposed to them, they managed to differentiate all the ten

colours correctly even without a second look on the chart. This had proved that the

10 created colours are valid to be used as the user password. Another observation

that had been done is for the dark environment; all users were able to differentiate

precisely the shown colours.

4.1.2 Operation

Once the power code is turned on, the display showed 1st page of the menu

and the backlight is turned on for several seconds before it shuts off. There are 4

options on the menu which is LOGIN, CHANGE PASSWORD, LOCKING and

ABOUT as displayed on Figure 4.2a. The function of each option was explained in

the algorithm part in previous chapter. There are three options of account and a back

option appeared after the LOGIN or CHANGE PASSWORD is chosen. This page is

shown on the Figure 4.2 b). The user can either went back to the main menu by

choosing “Back” option or proceed to code inserting process by selecting one of the

accounts. The keypad buttons are set with random colour during the code inserting

process. The buttons’ colour will only alter in two conditions which are when one of

the buttons is pressed or after the certain idle period. If a button were pressed, the

display will show the ‘*’ to indicate that the code had entered. The condition is

illustrated in the Figure 4.2c.

Page 63: Microcontroller-based Lock Using Colour Security Code

46

There is a difference between the LOGIN and CHANGE PASSWORD after

the right code is inserted. For the LOGIN option: after 3 codes were inserted, the

lock system will carry on with locking process (Figure 4.2e) and the keypad will

blink in green if the right code had verified. Or else, the lock system will indicate

wrong input (Figure 4.2d) and prompt user to insert the code again. If the user still

failed to insert the right code for the 2 remaining attempts, the screen will exhibit the

bad input symbol and user is required to wait for certain period before moving back

to the previous menu page. At the meantime, the keypad will blink in red colour. The

whole LOGIN process is shown in Video 1 in the DVD.

For the CHANGE PASSWORD option, after the correct code verification,

the system will ask the user to enter their new password. After 3 colour codes are set,

the second times entry is required as the confirmation process. The new colour code

will only set after the confirmation process and the display is shown as Figure 4.2f.

If the wrong code is inserted during the process, the display will show the bad input

which is the same result for the LOGIN option. This process is demonstrated in

Video 2 in the DVD.

The LOCKING option is selected when the user wish to close back the

unlocked system or to change the difficulty mode as illustrated in the algorithm part

in Chapter 3. The Figure 4.2h exhibits the locking process for the “hard” mode.

There is no alphabet ‘H’ in the direct mode. The user is required to press directly the

colour sequence the same as the original code in the direct mode. For the “hard”

mode, there will be a random number shown during the code inserting process. When

the number appeared, it implied that the system is in the “hard” mode. In order to

unlock the system, the shown number needs to be added into the real code. For

example, let the real code is purple-green-blue (3, 6, 7) and the given random number

is 5. So, the colour code that the user needs to be inserted is light green-white-yellow

(8, 1, 2). This is calculated by adding the random number into the real code which is

equal to 8, 11 and 12 respectively. For the double digit result, only the second

number is considered where 12 will become 2 for this case. Video 3, 4 and 5 in

DVD indicates the LOCKING process, the mode changing and the login with hard

mode respectively.

Page 64: Microcontroller-based Lock Using Colour Security Code

47

The ABOUT option is applied to reset all the settings especially the code into

the default settings as illustrated in the table 4.1. The default codes for the lecturer,

stuff and class representative are red-green-blue, light green-light blue-white and

yellow-purple-pink respectively. Upon entered in this option, all the codes are set to

this default value as shown in Video 6 in DVD.

a) b) c) d)

e) f) g) h)

Figure 4.2 : a) 1st page of menu

b) Accounts for LOGIN and CHANGE PASSWORD

c) Code inserting process

d) Wrong code

e) Unlocking process

f) New code set

g) Reset

h) Locking process

Table 4.1: Default code settings for each account

Page 65: Microcontroller-based Lock Using Colour Security Code

48

Table 4.2: Colour Chart

4.2 Discussion

There are several problems encountered during this project and most of them

were solved by using alternative method and applying some modification. Several

solved problems are discussed in this section, such as, the control of the RGB LED

independently, the number of available colours for the button, true random number,

multiple jumper wire on the board, and the brightness problem of the keypad.

4.2.1 Control of RGB LED

This is the first problem encountered at the early stage of the design. As each

button needed to be shown in different colours, the resistance of each RGB LED pins

had to be controlled independently as each of the RGB LED demanded for specific

resistance value to be lighted up in desired colour. The digital potentiometer is

chosen to provide the required resistance value to the button and 3 potentiometers are

required for each button as there are red green and blue pins. It would be a waste a

set of potentiometers to each button is applied. Therefore, a solution was met where

a set of digital potentiometers is connected to the buttons in a same row. This

Page 66: Microcontroller-based Lock Using Colour Security Code

49

indicates that the number of the potentiometer set is depended on the number of the

buttons’ row. Until this stage, only the row’s colour is managed to be controlled by

setting the potentiometer values for that row. In order to get only one RGB LED to

be turned on, the ground of the RGB in the same row had to be controlled

individually. This illustrates that the resistance values are shared in the row

meanwhile the ground is controlled in column as exhibited in Figure 4.3. The

buttons are treated as a matric form in controlling the signal. By this method, let the

2nd

row 3rd

column button is required to light in green, the potentiometer set in

charged for the 2nd

row has to be set to a certain resistance value and the ground

control for 3rd

column has to be activated.

Figure 4.3 : Connection of RGB LED

4.2.2 Number of Available Button’s colour

The total number of colour selection is one of the factors that determine the

security level of this lock. The more numbers of available colours will provide a

better security for our code. In this project, there are 3 colour codes in a set of code.

The 3 codes are chosen from 10 available colour selections as displayed in Figure 4.4.

The probability of guessing the code is about

.

Actually, this security level can be adjusted by altering either the total number of

colour selections or the number of code. This can be easily done by changing the

Page 67: Microcontroller-based Lock Using Colour Security Code

50

programming code. So, it would not be an issue for us in determining the security

level in the future. If the number of colour selection is increased from 10 to 13

colours and the number of code remains unchanged, the chance for the code to be

guessed is

.

v

Figure 4.4 : 10 available colours for button

4.2.3 True Random Number

The “random()” function in the Arduino library is used to generate a series of

random numbers . However, the number is not a truly randomly generated number as

a problem is found where the random generated numbers are in a sequence of

patterns for every time the system is reset. This is because the Arduino is using a

formula to calculate the random number. In that case, a solution was found by using

a library named “TrueRandom”. The random() function of this library generates the

random number without following a specific sequence and the generated number for

every time after being reset is different as exhibited in Figure 4.5.

a) b)

Figure 4.5 a) and b): First colour combination after reset for twice attempt

4 5 6 7 10

9 1 2 3 8

Page 68: Microcontroller-based Lock Using Colour Security Code

51

4.2.4 Multiple Jumper Wires on Keypad Interface Board

The initial design for the keypad interface board consists of multiples of

jumper wires that are connected from the interface board to the Arduino main board

and the keypad. These wires cause quite a problem during the testing stage. It makes

the project looks messy. Apart from appearance, the connection is easily looses and it

is hard to trace the loosed part as there are plenty of them. Due to this, a second

version interface board is built to fix the problem. This new board is a shield-like

board where it can be directly attached onto the Arduino main board as show in the

Figure 4.6. All the jumper wires between the interface board and Arduino board were

replaced by the male and female pins and the connection would not be rashly lost.

Figure 4.6 : Position of the boards

4.2.5 Keypad Brightness

Each keypad’s button consists of one RGB LED and the light have to

penetrate through the semi-transparent rubber before reaching our eye. Plus, the light

from either the Pendaflour lamp or the sun have caused the keypad colour to become

plain. It is hard to differentiate while operating under the bright circumstance. As

solution, a casing for the keypad is fabricated using the 3D printer. 90% of 4 side

surfaces of the button are covered by the casing and only the top surface is exposed

to the user. By this method, the brightness of the keypad has been increased

drastically to the level where the user is able to distinguish the colour among the

GLCD shield

Keypad interface board

Arduino main board

Page 69: Microcontroller-based Lock Using Colour Security Code

52

buttons. Figure 4.7 displays the keypad under the two different settings. Figure 4.7a

shows the keypad without the casing while Figure 4.7b shows the covered keypad.

a) b)

Figure 4.7: a) Colour keypad without casing b) Colour keypad with casing

Page 70: Microcontroller-based Lock Using Colour Security Code

53

CHAPTER 5

CONCLUSION AND RECOMMENDATION

5.1 CONCLUSION

This colour security code lock can be considered as a low cost robust lock.

By comparing to other electronic locks that are based on different authentication

method such as, RFID and biometrics, this lock has the advantage on the price aspect.

At the same time, it provides a safer unlocking process than the ordinary password

based lock in which its buttons are fixed.

The goal of this project is to create a security system with the color sequence

as authentication method. The color on the buttons is changing randomly during the

code inserting process. This is to avoid others from using the chemical attack to trace

our fingerprint on the keypad. Besides, this project also aims to reduce the

possibility of the code being peeped by the onlooker. As the code changes instantly

once the user pressed, the onlooker was difficultly to trace what code is actually

being keyed.

The first objective is completely fulfilled as this lock provides random colour

on the button during the inserting process. The second objective can be considered

fulfilled in term of reduction of the possibility for passcode being peeped. It cannot

completely avoid others from peeping on the code but it is able to reduce the chance

of passcode being seen.

Page 71: Microcontroller-based Lock Using Colour Security Code

54

5.2 RECOMMENDATION

For future works, some problems and recommendations have been outlined in

order to improve the quality of the lock system.

i. Button Sensitivity

There is a small problem on the button sensitivity which has caused a little

influence on the second objective. Due to the insensitivity of button, some of the

buttons have to be pressed using more force. This has caused delay in the time for the

button scanning and the probability of bystander read is the passcode increased. Thus,

a new keypad board with different signal detection style can be created in order to

increase the sensitivity of the lock system. It will function perfectly once the

sensitivity of the button is solved. The bystander will have difficulty to detect the

pressed code as the inserting process is done in a short time.

ii. Data Logging Function and Mobile Phone Communication

As this lock system only stored the data on password only, it may be

modified to have a function of recording the number and time of login for each

account. By using this method, the user will manage to trace and to check when there

is something happened in the guard area. Besides, this lock can also be equipped

with the mobile phone communication. When the wrong code is inserted for more

than a certain number, the system will trigger the alarm mode with a message to be

sent to the user’s mobile phone. This will provide a chance for user to stop

something unwanted from happening.

Page 72: Microcontroller-based Lock Using Colour Security Code

55

iii. Random Number or Symbol

As this lock only operated with the random colour, it would not suit the users

who suffered from colourblindness. Therefore, the lock can be attached with some

random numbers or symbols which associated with those random colours. The

random numbers can be displayed by using the 7 segment. By this modification, the

user with colourblind problem will be able to use it without any different with others

who are healthy.

Page 73: Microcontroller-based Lock Using Colour Security Code

56

REFERENCES

[1] Volker Roth, Kai Ritchter and Rene Freidinger,. (2004). “A PIN Entry

Method Resilient Against Shoulder Surfing.” Proceedings of the 11th ACM

Conference on Computer and Communications Security: pp. 236-245.

[2] Eric Brier, David Naccache and Pascal Paillier. (2003). “ Chemical

Combinatorial Attacks on Keyboards.” Cryptology ePrint Archive, Report

2003: pp.217.

[3] Bill Phillips. (2005) “The Complete Book of Locks and Locksmithing.(Sixth

Edition).” book, McGraw-Hill. Chapter 1, pp.1-5.

[4] James Ohwofasa Akpeninor. (2012). “Modern Concepts of Security.” book,

AuthorHouse, chapter 6, pp. 86-97.

[5] Bill Ballad, Tricia Ballad and Erin Banks. (2011). “Access Control,

Authentication, and Public Key Infrastructure.” Book, Jones & Bartlett

Learning, Chapter 1, pp. 13-15.

[6] Dhiren R. Patel. (2008). “Information Security: Theory and Practice.” Book,

Prentice-Hall, Chapter 1, pp. 9-10.

[7] Wiedenbeck, S., Waters, J., Birget, J.C., Brodskiy, A., and Memon, N.

PassPoints: design and longitudinal evaluation of a graphical password

system. International Journal of Human- Computer Studies, 63, (2005), pp.

102-127.

[8] A. Firdaus (2008). “Electronic Combination Lock Using PIC.” Thesis of

Falculty of Electronic and Computer Engineering.

[9] Sadeque Reza Khan. (2012). “Development of Low Cost Private Office

Access Control System(OACS).” International Journal of Embedded Systems

and Applications (IJESA) Vol.2, No.2.

Page 74: Microcontroller-based Lock Using Colour Security Code

57

[10] Muhanad Hayder Mohammed. (2012). "SECURE ELECTRONIC LOCK

USING PIC 16F628A MICROCONTROLLER."International Journal of

Research in Computer Science, 2 (5): pp. 43-47.

[11] Si Tong Sun et al. (2011). “The Design of Electronic Code Lock.” ,

Advanced Materials Research (Volume 267), Manufacturing Systems and

Industry Application: pp. 1001-1004.

[12] Inderpreet Kaur,. (2010). "Microcontroller Based Home Automation System

With Security." (IJACSA) International Journal of Advanced Computer

Science and Applications, Vol. 1, No. 6.

[13] Li Hui, Yang Hong-tao, Li Xiu-lan. (2010). “Design and application of new

kind of electronic and mechanical antitheft lock using DSP.” 2010

International Conference on Computer, Mechatronics, Control and Electronic

Engineering (CMCE).

[14] A. Fang, X. Ye, M. Gong, W. Yang, L. Zhang. (2008). “The circuit designing

of the intelligent door lock.” 2008 ISECS International Colloquium on

Computing, Communication, Control, and Management.

[15] N-G Choi, H-J Lee, S-H Leel. (2005). “A 13.56 Mhz RFID System.” Applied

Electromagnetics, 2005. APACE 2005. Asia-Pacific Conference.

[16] R. Alecsandru, W. Pruehsner, John D. Enderle Ph.D. (1995). “Remote Door

Lock Controller.” Bioengineering Conference, 1999. Proceedings of the IEEE

25th Annual Northeast.

[17] Hassan H., Bakar R.A., Mokhtar A.T.F. . (2012). “Face Recognition Based

on Auto-Switching Magnetic Door Lock System .” System 2012 International

Conference on Engineering and Technology (ICSET): pp. 1- 6.

[18] E. Phelps, W.R. Pruehsner, J.D. Enderle (2000). “Soni-key voice controlled

door lock [for disabled persons].” Bioengineering Conference, 2000.

Proceedings of the IEEE 26th Annual Northeast: pp. 165- 166.

[19] Saravanan K., Saranya C., Saranya M. (2012) “A new application of Multi

modal Biometrics in home and office security system.” National Conference

On Control, Communication And System Engineering: pp. 435-440.

[20] J.R.R. De Josef , B.D. Gerardo, M.B.S. Concepcion , K.G.V. Oreta, Yung-

Cheol Byun. (2012). “Ultrasonic Key Recognition: Security Algorithm for

Pre-composed High Frequency Sound as a Mode of Unlocking a Security

Lock.” 2012 IEEE/ACIS 11th International Conference on Computer and

Information Science, pp. 655-660.

Page 75: Microcontroller-based Lock Using Colour Security Code

58

[21] D. H. Yoon, D. J. Bae, H. S. Kim. (2006). “Implementation of Home Electric

Appliances Control System based on the Mobile and the Internet.” SICE-

ICASE, 2006. International Joint Conference: pp. 3730- 3733.

[22] Adams, A. Sasse, M. A. and Lunt, P. (1997) “Making Passwords Secure and

Usable.” HCI '97 - People and Computers XII, pp.1-20. Springer-Verlag,

Bristol.

[23] Olivia B. Waxman. (October 2012). “The 25 worst passwords of 2012.”

TIME magazine Tech department.

[24] A. Adams & M. A. Sasse (1999). ‘Users are not the enemy: Why users

compromise security mechanisms and how to take remedial measures’.

Commun. ACM 42(12): pp. 40–46.

[25] Menkus, B. (1988). "Understanding the use of passwords." Comput. Secur.

7(2): pp. 132-136.

[26] Svigals, J. (1994). "Smartcards a security assessment." Comput. Secur. 13(2):

pp. 107-114.

[27] Dhiren R. Patel. (2008). “Information Security: Theory and Practice.” Book,

Prentice-Hall, Chapter 8, pp. 170-203.

[28] Brostoff, S., & Sasse, M.A. (2000). “Are Passfaces more usable than

passwords? A field trial investigation.” In Proceedings of HCI 2000, Sept. 5-

8, Sunderland, U.K. Springer., pp. 405-424 .

[29] Herman Miller.(2001). “Experience of Color.” Pdf, Herman Miller Inc, pp.1-

12. Retrieved November 26, 2012, from

http://www.hermanmiller.com/hm/content

/research_summaries/pdfs/wp_Experience_of_Color.pdf.

[30] David Hubel. (1995). “Eye, Brain, and Vision”. book, Chapter 8 Color Vision.

[31] Francis, M. A. and R. J. Irwin (1998). "Stability of memory for colour in

context." Memory (Hove, England) 6(6). pp. 609-621.

[32] Huchendorf, Lynnay, (2007). The Effects of color on memory. UW-L Journal

of Undergraduate Research X, pp. 1-4.

[33] Schanda, J. (2006). "Light, vision, and color”. Arne Valberg, John Wiley &

Sons, Ltd., 2005, pp. 464 .

Page 76: Microcontroller-based Lock Using Colour Security Code

59

[34] Lois Swirnoff,w.w. (2003). “Dimensional Color, 2nd Ed.” Norton &

Company, London and New York. pp.160.

[35] M. Ali, M.N. Hajar Hasrol Jono, M. Yusof Darus, Norkhushaini. (2008).

“User Perceptions Towards the Use of Colour as Authentication Method:

Focus on FTMSK Lecturer.” Proceedings of the International Conference on

Computer and Communication Engineering.

[36] Gegenfurtner, K. R. and J. Rieger (2000). "Sensory and cognitive

contributions of color to the recognition of natural scenes." Current biology :

CB 10(13). pp. 805-808.

[37] Lin Ching Chen (1997). “The Effects of Color Background Information on

Children’s Cognitive Learning.” Journal of Visual Literacy, Vol 17, Number

2, pp. 39-52.

[38] Y. Pan (2010). “Attentional capture by working memory contents.” Canadian

Journal of Experimental Psychology, 64 (2), pp. 124-128.

[39] M. Faiz M. Mustafar, M. A. Dzulkifli. (2011). “The Effect of Ground Colour

on Memory Performance.” The 8th International Postgraduate Research

Colloquium.

[40] H. Gao, X. Liu ,R. Dai. ,S. Wang, X. Chang. (2009) “Analysis and

Evaluation of the ColorLogin Graphical Password Scheme.” Fifth

International Conference on Image and Graphics.

[41] Color Contact software description. Retrieved November 10, 2012, from

http://www.e7fanclub.com/2011/10/color-contacts-lock-10-symbian3-

anna.html.

[42] Gallery SMS Color Lock software description. Retrieved November 10, 2012,

from http://store.ovi.com/content/213346.

[43] Hirsch-Identive (2012) “ScramblePad” product sheet. Retrieved November 15,

2012, from http://hirsch-identive.com/products-services/physical-

security/readers-keypads-biometrics/scramblepad/ds47l#tab1.

[44] Swivel Solution (2012) “PINSAFE” brochure. Retrieved November 15, 2012,

from http://www.swivelsecure.com/core-technology/pinsafe/.

Page 77: Microcontroller-based Lock Using Colour Security Code

60

[45] Dale Wheat. (2011). “Arduino internals.” Technology in Action, pp. 1-25.

[46] Harold Timmis. (2011). “Practical Arduino Engineering.” Technology in

Action.

[47] Atmel (2011). “Atmel mega 2560 datasheet.” Datasheet. Retrieved November

15, 2012, from http://www.atmel.com/images/doc2549.pdf.

Page 78: Microcontroller-based Lock Using Colour Security Code

61

APPENDIX A

Arduino Mega 2560 schematic