Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INTRODUCTION
1.1 Embedded System
An embedded system is a combination of software and hardware to perform a
dedicated task.
Some of the main devices used in embedded products are Microprocessors and
Microcontrollers.
Microprocessors are commonly referred to as general purpose processors as
they simply accept the inputs, process it and give the output. In contrast, a
microcontroller not only accepts the data as inputs but also manipulates it, interfaces
the data with various devices, controls the data and thus finally gives the result.
As everyone in this competitive world prefers to make the things easy and
simple to handle, this project sets an example to some extent.
Embedded system is a special-purpose computer system designed to perform
one or a few dedicated functions, sometimes with real-time computing constraints. It
is usually embedded as part of a complete device including hardware and mechanical
parts. In contrast, a general-purpose computer, such as a personal computer, can do
many different tasks depending on programming. Embedded systems have become
very important today as they control many of the common devices we use.Since the
Embedded system is dedicated to specific tasks, design engineers can optimize it,
reducing the size and cost of the product, or increasing the reliability and
performance. Some embedded systems are mass-produced, benefiting from
economies of scale.
Physically, Embedded systems range from portable devices such as digital
watches and MP3 players to large stationary installations like traffic lights, factory
controllers, or the systems controlling nuclear power plants. Complexity varies from
low, with a single microcontroller chip, to very high with multiple units, peripherals
and networks mounted inside a large chassis or enclosure. In general, "Embedded
system" is not an exactly defined term, as many systems have some element of
1
towards the destination after doing necessary protocol conversion. Most networking
equipments, other than the end systems (desktop computers) we use to access the
networks, are embedded systems
. Telecommunications: In the field of telecommunications, the embedded systems
can be categorized as subscriber terminals and network equipment. The subscriber
terminals such as key telephones, ISDN phones, terminal adapters, web cameras are
embedded systems. The network equipment includes multiplexers, multiple access
systems, Packet Assemblers Dissemblers (PADs), sate11ite modems etc. IP phone, IP
gateway, IP gatekeeper etc. are the latest embedded systems that provide very lowcost voice communication over the Internet.
Wireless technologies: Advances in mobile communications are paving way for many
interesting applications using embedded systems. The mobile phone is one of the
marvels of the last decade of the 20h century. It is a very powerful embedded system
that provides voice communication while we are on the move. The Personal Digital
Assistants and the palmtops can now be used to access multimedia services over the
Internet. Mobile communication infrastructure such as base station controllers, mobile
switching centers are also powerful embedded systems.
test and measuring equipment are now becoming portable facilitating easy testing and
measurement in the field by field-personnel.
Security: Security of persons and information has always been a major issue. We
need to protect our homes and offices; and also the information we transmit and store.
Developing embedded systems for security applications is one of the most lucrative
businesses nowadays. Security devices at homes, offices, airports etc. for
authentication and verification are embedded systems. Encryption devices are nearly
99 per cent of the processors that are manufactured end up in~ embedded systems.
Embedded systems find applications in . every industrial segment- consumer
electronics, transportation, avionics, biomedical engineering, manufacturing, process
control and industrial automation, data communication, telecommunication, defense,
security etc. Used to encrypt the data/voice being transmitted on communication links
such as telephone lines. Biometric systems using fingerprint and face recognition are
now being extensively used for user authentication in banking applications as well as
for access control in high security buildings.
Finance: Financial dealing through cash and cheques are now slowly paving way
for transactions using smart cards and ATM (Automatic Teller Machine, also
expanded as Any Time Money) machines. Smart card, of the size of a credit card, has
a small micro-controller and memory; and it interacts with the smart card reader!
ATM machine and acts as an electronic wallet. Smart card technology has the
capability of ushering in a cashless society. Well, the list goes on. It is no exaggeration
to say that eyes wherever you go, you can see, or at least feel, the work of an
embedded system!
operating system and then transfer the entire software on to the memory chip. Once
the software is transferred to the memory chip, the software will continue to run for a
long time you dont need to reload new software.
Now, let us see the details of the various building blocks of the hardware of an
embedded system. As shown in Fig. the building blocks are;
Central Processing Unit (CPU)
Memory (Read-only Memory and Random Access Memory)
Input Devices
Output devices
Communication interfaces
Application-specific circuitry
Fig.1.2 Hardware of an embedded system
Memory:
The memory is categorized as Random Access 11emory (RAM) and Read
Only Memory (ROM). The contents of the RAM will be erased if power is switched
off to the chip, whereas ROM retains the contents even if the power is switched off.
So, the firmware is stored in the ROM. When power is switched on, the processor
reads the ROM; the program is program is executed.
Input devices:
Unlike the desktops, the input devices to an embedded system have very
limited capability. There will be no keyboard or a mouse, and hence interacting with
the embedded system is no easy task. Many embedded systems will have a small
keypad-you press one key to give a specific command. A keypad may be used to input
only the digits. Many embedded systems used in process control do not have any
input device for user interaction; they take inputs from sensors or transducers 1fnd
produce electrical signals that are in turn fed to other systems.
Output devices:
The output devices of the embedded systems also have very limited capability.
Some embedded systems will have a few Light Emitting Diodes (LEDs) to indicate
the health status of the system modules, or for visual indication of alarms. A small
Liquid Crystal Display (LCD) may also be used to display some important
parameters.
Communication interfaces:
The embedded systems may need to, interact with other embedded systems at
they may have to transmit data to a desktop. To facilitate this, the embedded systems
are provided with one or a few communication interfaces such as RS232, RS422,
RS485, Universal Serial Bus (USB), IEEE 1394, Ethernet etc.
Application-specific circuitry:
Sensors, transducers, special processing and control circuitry may be required
fat an embedded system, depending on its application. This circuitry interacts with the
processor to carry out the necessary work. The entire hardware has to be given power
supply either through the 230 volts main supply or through a battery. The hardware
has to design in such a way that the power consumption is minimized.
10
Chapter 2
BLOCK DIAGRAM
LCD Display
Power supply
Micro
controller
Finger
Print
Module
M
A
X
2
3
2
BUZZER
EEPROM
Fig. 2.1 Block Diagram of atm security based on finger print recognition
11
Chapter 3
CIRCUIT DIAGRAM
12
Chapter 4
EXPLANATION OF EACH BLOCK
The block diagram mainly consists of Aurdino Board which has inbuilt
microcontroller (ATmega328) and the Analog to Digital converting pins. The
description is given in detail below. And the block diagram consists of hardware
components, which are finger print module, LCD, power supply.
13
14
Digital Pins 0-1/Serial In/Out - TX/RX (dark green) - These pins cannot be
used for digital i/o (Digital Read and Digital Write) if you are also using serial
communication (e.g. Serial.begin).
Toggles External Power and USB Power (place jumper on two pins closest to
desired supply) - SV1 (purple)
15
USB (used for uploading sketches to the board and for serial communication
between the board and the computer; can be used to power the board) (yellow)
LED: 13. On the Diecimila and LilyPad, there is a built-in LED connected to
digital pin 13. When the pin is HIGH value, the LED is on, when the pin is
LOW, it's off.
through analog input 5 as digital pin 19. Analog inputs 6 and 7 (present on the Mini
and BT) cannot be used as digital pins.
I2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire
library (documentation on the Wiring website).
VIN (sometimes labeled "9V"): The input voltage to the Arduino board when
it's using an external power source (as opposed to 5 volts from the USB
connection or other regulated power source). You can supply voltage through
this pin, or, if supplying voltage via the power jack, access it through this pin.
Also note that the Lily Pad has no VIN pin and accepts only a regulated input.
5V: The regulated power supply used to power the microcontroller and other
components on the board. This can come either from VIN via an on-board
chip.
GND: Ground pins.
AREF: Reference voltage for the analog inputs. Used with analog Reference().
Reset: (Diecimila-only) Bring this line LOW to reset the microcontroller.
Typically used to add a reset button to shields which block the one on the
board.
17
4.2 Atmega328
4.2.1 Pin diagram
18
Port B (PB7-PB0):
Port B is an 8-bit bi-directional I/O port with internal pull-up resistors (selected
for each bit). The Port B output buffers have symmetrical drive characteristics
with both high sink and source capability. As inputs, Port B pins that are
externally pulled low will source current if the pull-up resistors are activated. The
Port B pins are tri-stated when a reset condition becomes active, even if the clock
is not running. Port B also serves the functions of various special features of the
ATmega32.
Port C (PC7-PC0):
Port C is an 8-bit bi-directional I/O port with internal pull-up resistors (selected
for each bit). The Port C output buffers have symmetrical drive characteristics
with both high sink and source capability. As inputs, Port C pins that are
externally pulled low will source current if the pull-up resistors are activated. The
Port C pins are tri-stated when a reset condition becomes active, even if the clock
is not running. If the JTAG interface is enabled, the pull-up resistors on pins
PC5(TDI), PC3(TMS) and PC2(TCK) will be activated even if a reset occurs.
The TD0 pin is tri-stated unless TAP states that shift out data are entered. Port C
also serves the functions of the JTAG interface.
Port D (PD7-PD0):
Port D is an 8-bit bi-directional I/O port with internal pull-up resistors (selected
for each bit). The Port D output buffers have symmetrical drive characteristics
with both high sink and source capability. As inputs, Port D pins that are
externally pulled low will source current if the pull-up resistors are activated. The
Port D pins are tri-stated when a reset condition becomes active, even if the clock
is not running. Port D also serves the functions of various special features of the
ATmega32.
Reset (Reset Input):
A low level on this pin for longer than the minimum pulse length will generate a
reset, even if the clock is not running. Shorter pulses are not guaranteed to
generate a reset.
XTAL1:
Input to the inverting Oscillator amplifier and input to the internal clock
operating circuit.
XTAL2:
20
4.2.2 Features
21
4.3.1 Overview
This section discusses the AVR core architecture in general. The main function
of the CPU core is to ensure correct program execution. The CPU must therefore be
able to access memories, perform calculations, control peripherals, and
22
handleinterrupts.
cycle access time. This allows single-cycle Arithmetic Logic Unit (ALU) operation. In
a typical ALU operation, two operands are output from the Register File, the
operation is executed, and the result is stored back in the Register File in one clock
cycle.
Six of the 32 registers can be used as three 16-bit indirect address register
pointers for Data Space addressing enabling efficient address calculations. One of
these address pointers can also be used as an address pointer for look up tables in
Flash program memory. These added function registers are the 16-bit X-, Y-, and Zregister, described later in this section. The ALU supports arithmetic and logic
operations between registers or between a constant and a register. Single register
operations can also be executed in the ALU. After an arithmetic operation, the Status
Register is updated to reflect information about the result of the operation. Program
flow is provided by conditional and unconditional jump and call instructions, able to
directly address the whole address space. Most AVR instructions have a single 16-bit
word format. Every program memory address contains a 16- or 32-bit instruction.
Program Flash memory space is divided in two sections, the Boot Program
section and the Application Program section. Both sections have dedicated Lock bits
for write and read/write protection. The SPM instruction that writes into the
Application Flash memory section must reside in the Boot Program section. During
interrupts and subroutine calls, the return address Program Counter (PC) is stored on
the Stack. The Stack is effectively allocated in the general data SRAM, and
consequently the Stack size is only limited by the total SRAM size and the usage of
the SRAM. All user programs must initialize the SP in the Reset routine (before
subroutines or interrupts are executed). The Stack Pointer (SP) is read/write accessible
in the I/O space. The data SRAM can easily be accessed through the five different
addressing modes supported in the AVR architecture.
The memory spaces in the AVR architecture are all linear and regular memory
maps. A flexible interrupt module has its control registers in the I/O space with an
additional Global Interrupt Enable bit in the Status Register. All interrupts have a
separate Interrupt Vector in the Interrupt Vector table. The interrupts have priority in
accordance with their Interrupt Vector position. The lower the Interrupt Vector
address, the higher the priority.
The high-performance AVR ALU operates in direct connection with all the 32
general purpose working registers. Within a single clock cycle, arithmetic operations
between general purpose registers or between a register and an immediate are
executed. The ALU operations are divided into three main categories arithmetic,
logical, and bit functions. Some implementations of the architecture also provide a
powerful multiplier supporting both
signed/unsigned multiplication and fractional format. See the Instruction Set section
for a detailed description.
26
Most of the instructions operating on the Register File have direct access to
all registers, and most of them are single cycle instructions. As shown in Figure 6-2,
each register is also assigned a data memory address, mapping them directly into the
first32 locations of the user data space. Although not being physically implemented as
SRAM locations, this memory organization provides great flexibility in access of the
registers, as the X-, Y-, and Z-pointer registers can be set to index any register.
Fig. 4.7 Structure of the 32 general purpose working registers in the CPU
X-, Y-, and Z-register
The registers R26:R31 have some added functions to their general purpose
usage. These registers are 16-bit address pointers for indirect addressing of the data
space. The three indirect address registers X, Y, and Z are defined as described in
27
28
Fig 4.9 SPH and SPL - Stack Pointer High and Low Register
ATmega328
contains
4/8/16/32Kbytes
On-chip
In-System
Reprogrammable Flash memory for program storage. Since all AVR instructions are
16 or 32 bits wide, the Flash is organized as 2/4/8/16K x 16. For software security, the
Flash Program memory space is divided into two sections, Boot Loader Section and
29
Application Program Section. The Flash memory has an endurance of at least 10,000
write/erase cycles. The ATmega328 Program Counter (PC) is 11/12/13/14 bits wide,
thus addressing the 2/4/8/16K program memory locations.
SRAM Data Memory:
ATmega328 is a complex microcontroller with more peripheral units than can
be supported within the 64 locations reserved in the Opcode for the IN and OUT
instructions. For the Extended I/O space from 0x60 - 0xFF in SRAM, only the
ST/STS/STD and LD/LDS/LDD instructions can be used.
The lower 768/1280/1280/2303 data memory locations address both the
Register File, the I/O memory, Extended I/O memory, and the internal data SRAM.
The first 32 locations address the Register File, the next 64 location the standard I/O
memory,
then
160
locations
of
Extended
I/O
memory,
and
the
next
512/1024/1024/2048 locations address the internal data SRAM. The five different
addressing modes for the data memory cover: Direct, Indirect with Displacement,
Indirect, Indirect with Pre-decrement, and Indirect with Post-increment. In The
Register File, Registers R26 to R31 Feature the indirect addressing pointer registers.
The direct addressing reaches the entire data space. The Indirect with Displacement
mode reaches 63 address locations from the base address given by the Y- or Z register.
When using register indirect addressing modes with automatic pre-decrement
and post-increment, the address registers X, Y, and Z are decremented or incremented.
The 32 general purpose working registers, 64 I/O Registers, 160 Extended I/O
Registers, and the 512/1024/1024/2048 bytes of internal data SRAM in the
ATmega328 are all accessible through all these addressing modes.
4.3.8 Interrupts
30
Table 4.2 Reset and Interrupt Vectors in ATMEGA 328 and ATMEGA 328P
Vector
No.
1
Program
Address
0x0000
Source
Interrupt Definition
RESET
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
0x0002
0x0004
0x0006
0x0008
0x000A
0x000C
0x000E
0x0010
0x0012
0x0014
0x0016
0x0018
0x001A
0x001C
0x001E
0x0020
0x0022
0x0024
0x0026
0x0028
0x002A
0x002C
0x002E
0x0030
0x0032
INT0
INT1
PCINTO
PCINT1
PCINT2
WDT
TIMER2 COMPA
TIMER2 COMPB
TIMER2 OVF
TIMER1 CAPT
TIMER1 COMPA
TIMER1 COMPB
TIMER 1 OVF
TIMER0 COMPA
TIMER0 COMPB
TIME0 OVF
SPI, STC
USART, RX
USART, UDRE
USART, TX
ADC
EE READY
ANALOG COMP
TWI
SPM READY
When the IVSEL bit in MCUCR is set, Interrupt Vectors will be moved to the
start of the Boot Flash Section. The address of each Interrupt Vector will then be the
address in this table added to the start address of the Boot Flash Section.Table below
shows reset and Interrupt Vectors placement for the various combinations of
BOOTRST and IVSEL settings. If the program never enables an interrupt source, the
31
Interrupt Vectors are not used, and regular program code can be placed at these
locations. This is also the case if the Reset Vector is in the Application section while
the Interrupt Vectors are in the Boot section or vice versa.
"Uno" means one in Italian and is named to mark the upcoming release of
Arduino 1.0. The Uno and version 1.0 will be the reference versions of Arduino,
moving forward. The Uno is the latest in a series of USB Arduino boards, and the
reference model for the Arduino platform; for a comparison with previous versions,
see the index of Arduino boards.
VIN: The input voltage to the Arduino board when it's using an external power
source (as opposed to 5 volts from the USB connection or other regulated
power source). You can supply voltage through this pin, or, if supplying
voltage via the power jack, access it through this pin.
5V: This pin outputs a regulated 5V from the regulator on the board. The
board can be supplied with power either from the DC power jack (7 - 12V),
the USB connector (5V), or the VIN pin of the board (7-12V). Supplying
voltage via the 5V or 3.3V pins bypasses the regulator, and can damage your
board. We don't advise it.
3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current
draw is 50 mA.
IOREF. This pin on the Arduino board provides the voltage reference with
which the microcontroller operates. A properly configured shield can read the
IOREF pin voltage and select the appropriate power source or enable voltage
translators on the outputs for working with the 5V or 3.3V.
33
Memory:
The ATmega328 has 32 KB (with 0.5 KB used for the boot loader). It also has
2 KB of SRAM and 1 KB of EEPROM (which can be read and written with the
EEPROM library).
Serial Communication:
The Arduino Uno has a number of facilities for communicating with a
computer, another Arduino, or other microcontrollers. The ATmega328 provides
UART TTL (5V) serial communication, which is available on digital pins 0 (RX) and
1 (TX). An ATmega16U2 on the board channels this serial communication over USB
and appears as a virtual com port to software on the computer. The '16U2 firmware
uses the standard USB COM drivers, and no external driver is needed. However, on
Windows, a .inf file is required. The Arduino software includes a serial monitor
which allows simple textual data to be sent to and from the Arduino board. The RX
and TX LEDs on the board will flash when data is being transmitted via the USB-toserial chip and USB connection to the computer (but not for serial communication on
pins 0 and 1).
A Software Serial library allows for serial communication on any of the Uno's
digital pins. The ATmega328 also supports I2C (TWI) and SPI communication. The
Arduino software includes a Wire library to simplify use of the I2C bus. For SPI
communication, use the SPI library.
4.5 Conclusion
In this chapter Arduino, ATmega328, and also about the Embedded system and
its application was dicussed.
34
Chapter 5
HARDWARE DESCRIPTION
5.1 Introduction
In the previous chapter Arduino, Atmega328 was studied and also about
Embedded systems. Now in this chapter hardware components used for solar power
tracking and its implementation i.e. about Dc motor, L293D, Finger print module and
power supply are studied.
Background
The analysis of fingerprints for matching purposes generally requires the
comparison of several features of the print pattern. These include patterns, which are
35
aggregate characteristics of ridges, and minutia points, which are unique features
found within the patterns. It is also necessary to know the structure and properties of
human skin in order to successfully employ some of the imaging technologies.
5.2.1 Patterns
The three basic patterns of fingerprint ridges are the arch, loop, and whorl:
arch: The ridges enter from one side of the finger, rise in the center forming an arc,
and then exit the other side of the finger.
loop: The ridges enter from one side of a finger, form a curve, and then exit on that
same side.
whorl: Ridges form circularly around a central point on the finger.
Scientists have found that family members often share the same general fingerprint
patterns, leading to the belief that these patterns are inherited.
36
Bifurcation.
37
Optical
Optical fingerprint imaging involves capturing a digital image of the print
using visible light. This type of sensor is, in essence, a specialized digital camera. The
top layer of the sensor, where the finger is placed, is known as the touch surface.
Beneath this layer is a light-emitting phosphor layer which illuminates the surface of
the finger. The light reflected from the finger passes through the phosphor layer to an
array of solid state pixels (a charge-coupled device) which captures a visual image of
the fingerprint. A scratched or dirty touch surface can cause a bad image of the
fingerprint. A disadvantage of this type of sensor is the fact that the imaging
capabilities are affected by the quality of skin on the finger. For instance, a dirty or
marked finger is difficult to image properly. Also, it is possible for an individual to
erode the outer layer of skin on the fingertips to the point where the fingerprint is no
longer visible. It can also be easily fooled by an image of a fingerprint if not coupled
with a "live finger" detector. However, unlike capacitive sensors, this sensor
technology is not susceptible to electrostatic discharge damage.
Fingerprints can be read from a distance.
Ultrasonic
Ultrasonic sensors make use of the principles of medical ultrasonography in
order to create visual images of the fingerprint. Unlike optical imaging, ultrasonic
sensors use very high frequency sound waves to penetrate the epidermal layer of skin.
The sound waves are generated using piezoelectric transducers and reflected energy is
also measured using piezoelectric materials. Since the dermal skin layer exhibits the
same characteristic pattern of the fingerprint, the reflected wave measurements can be
38
used to form an image of the fingerprint. This eliminates the need for clean,
undamaged epidermal skin and a clean sensing surface.
Capacitance
Capacitance sensors use principles associated with capacitance in order to
form fingerprint images. In this method of imaging, the sensor array pixels each act as
one plate of a parallel-platecapacitor, the dermal layer (which is electrically
conductive) acts as the other plate, and the non-conductive epidermal layer acts as a
dielectric.
Passive capacitance
A passive capacitance sensor use the principle outlined above to form an
image of the fingerprint patterns on the dermal layer of skin. Each sensor pixel is used
to measure the capacitance at that point of the array. The capacitance varies between
the ridges and valleys of the fingerprint due to the fact that the volume between the
dermal layer and sensing element in valleys contains an air gap. The dielectric
constant of the epidermis and the area of the sensing element are known values. The
measured capacitance values are then used to distinguish between fingerprint ridges
and valleys
Active capacitance
Active capacitance sensors use a charging cycle to apply a voltage to the skin
before measurement takes place. The application of voltage charges the effective
capacitor. The electric fieldbetween the finger and sensor follows the pattern of the
ridges in the dermal skin layer. On the discharge cycle, the voltage across the dermal
layer and sensing element is compared against a reference voltage in order to
calculate the capacitance. The distance values are then calculated mathematically, and
used to form an image of the fingerprint. Active capacitance sensors measure the ridge
patterns of the dermal layer like the ultrasonic method. Again, this eliminates the need
for clean, undamaged epidermal skin and a clean sensing surface.
39
5.2.4Algorithms
Matching algorithms are used to compare previously stored templates of
fingerprints against candidate fingerprints for authentication purposes. In order to do
this either the original image must be directly compared with the candidate image or
certain features must be compared.
Pattern-based (or image-based) algorithms
Pattern based algorithms compare the basic fingerprint patterns (arch, whorl,
and loop) between a previously stored template and a candidate fingerprint. This
requires that the images be aligned in the same orientation. To do this, the algorithm
finds a central point in the fingerprint image and centers on that. In a pattern-based
algorithm, the template contains the type, size, and orientation of patterns within the
aligned fingerprint image. The candidate fingerprint image is graphically compared
with the template to determine the degree to which they match.
improvements have been made to LCD to help enhance resolution, image, sharpness
and response times .One of the latest such advancement is applied to glass during acts
as switch allowing control of light at the pixel level, greatly improving LCDs ability
to display small-sized fonts and image clearly . And other advances have allowed
LCDs to greatly reduce liquid crystal cell response times. Response time is basically
the amount of time it takes for a pixel to change colors, in reality response time is
the amount of time it takes a liquid crystal cell to go from being active to inactive.
This is due to following reasons:
42
43
D0 D7: The 8bit data pins, DO D7, are used to send information to the
LCD or read the contents of the LCDs internal registers. To display letters and
numbers, we send ASCII codes for the letters AZ, a-z numbers 0-9 to these
pins while making RS=1. There are also instruction command codes that can
be sent to the LCD to clear the display or force the cursor to home position or
blink the instruction command codes.
We also use RS = 0 to check the busy flag bit to see if the LCD is ready to
receive information. The busy flag is D7 and can be read when R/W=1 and RS=0, as
follows: if R/W = 1, RS = 0. When D7= 1 (busy flag = 1), the LCD is busy taking
care of internal operations and will not accept any information.
5.5 Conclusion
In this the other hardware components used in finger print module and
implementation power supply are studied.
44
Chapter 6
SOFTWARE DESCRIPTION
6.1 Introduction
In this chapter the circuit diagram, working of the arduino board and also the
software implementation will be studied.
On Rev1 boards: connecting the solder jumper on the back of the board (near
ATmega8U2/16U2 is connected to the reset line of the ATmega328 via a 100 nano
farad capacitor. When this line is asserted (taken low), the reset line drops long
enough to reset the chip. The Arduino software uses this capability to allow you to
upload code by simply pressing the upload button in the Arduino environment. This
means that the boot loader can have a shorter timeout, as the lowering of DTR can be
well-coordinated with the start of the upload.
This setup has other implications. When the Uno is connected to either a
computer running Mac OS X or Linux, it resets each time a connection is made to it
from software (via USB). For the following half-second or so, the boot loader is
running on the Uno. While it is programmed to ignore malformed data (i.e. anything
besides an upload of new code), it will intercept the first few bytes of data sent to the
board after a connection is opened. If a sketch running on the board receives one-time
configuration or other data when it first starts, make sure that the software with which
it communicates waits a second after opening the connection and before sending this
data. The Uno contains a trace that can be cut to disable the auto-reset. The pads on
either side of the trace can be soldered together to re-enable it. It's labeled "RESETEN". You may also be able to disable the auto-reset by connecting a 110 ohm resistor
from 5V to the reset line; see this forum thread for details.
47
program and load on the Arduino board. Click the Serial Monitor button . If all has
gone well, the monitor window will show your message and look something like this
Push the Arduino reset button a few times and see what happens.
48
Hint: If you want to check code syntax without an Arduino board connected, click the
Verify button or Ctrl-R. And if you want to see how much memory your program
takes up, Verify then look at the message at the bottom of the programming window.
6.3.4 Troubleshooting
If there is a syntax error in the program caused by a mistake in typing, an error
message will appear in the bottom of the program window. Generally, staring at the
error will reveal the problem. If you continue to have problems, try these ideas
Statements are terminated with a semi-colon. A classic mistake is to forget the semicolon so if your program does not compile, examine the error text and see if you
forgot to enter a colon. Comments are any text that follows // on a line. For multiline block comments, begin with /* and end with */ Constants are fixed numbers
and can be entered as ordinary decimal numbers (integer only) or in hexadecimal
(base 16) or in binary (base 2)Labels are used to reference locations in your program.
They can be any combination of letters, numbers and underscore (_), but the first
character must be a letter. When used to mark a location, follow the label with a
colon. When referring to an address label in an instruction line, don't use the colon.
Variables are allocated by declaring them in the program. Every variable must be
declared. If a variable is declared outside the braces of a function, it can be seen
everywhere in the program. If it is declared inside the braces of a function, the
variable can only be seen within that function.
50
Additionally, wire a 10K pot to +5V and GND, with it's wiper (output) to LCD
screens VO pin (pin3).
Chapter 7
51
FUTURE SCOPE:
Performance can be increased in terms of speed and memory.
A speaking voice alarm can be used to indicate unauthorized person accessing
the ATM.
The system can be made to communicate with modems or mobile phones
Chapter 8
CONCLUSION
52
With this project we can provide security to banks / ATM s from the UN authorized
actions and can provide the complete access control of account to the real account
holder only.
53