Advance Voting Machine
Advance Voting Machine
Advance Voting Machine
A PROJECT REPORT
Submitted by
S. BHARANIGESWARI 412316106005
B. ISHWARYA 412316106007
D. KEERTHANA 4123161060012
M. VANITHA 412316106029
In partial fulfilment for the award of the degree
Of
BACHELOR OF ENGINEERING
IN
ELECTRONICS AND COMMUNICATION ENGINEERING
S. BHARANIGESWARI 412316106005
B. ISHWARYA 412316106007
D. KEERTHANA 4123161060012
M. VANITHA 412316106029
SIGNATURE SIGNATURE
iii
ACKNOWLEDGEMENT
At the juncture of presenting this project, we have immense pleasure in expressing
our heart- full thanks to various personnel who have helped us at various level to
complete this project successfully.
At the outset, we express our respectful and sincere thanks with deep sense of
gratitude to our beloved correspondent
THIRU.M.NITHYASUNDAR, M.COM. ,M.SC., M.PHIL., and our beloved
secretary THIRU.G.KAMARAJ,B.A. for providing us all the necessary facility and
guiding us in right path of life with their enlightened wisdom.
Words are inadequate to express our feelings of gratitude to thank our beloved
Principal DR.A.DHANAAPL, Ph.D., for his constant motivation and encouragement.
We feel greatly indebted to our HOD Prof. MRS. P.SRIDEVI, ME., for her
propellant guidance, kind advice and encouragement. We like to express our thanks to
project coordinator . MRS. P.SRIDEVI, ME., for her guidance, suggestion and
monitoring our performance throughout our project work.Our sincere thanks to our
project guide MRS.A.SUGUNAPRIYA, ASSISTANT PROFESSOR for her
scholarly idea, continual guidance and support with her suggestion for the successful
completion of the project.
One personal note, we would like to use this opportunity to extend our heartiest and
respectful thanks to all TEACHING and NON TEACHING FACULTY members of
our department, friends and all our well wishers, who helped in completing project
successfully.
Sincere thanks to our parents who stands behind our every step with abundant
blessings of the almighty.
iv
TABLES OF CONTENT
CHAPTER TITLES PAGES
NUMBER
ABSTRACT i
ACKNOWLEDGE ii
LIST OF FIGURES iv
LIST OF CHART v
1 INTRODUCTION
2 LITERATURE SURVEY
3 SYSTEM ANALYSIS
3.4HARDWARE REQUIREMENTS
v
4.1 ARDUINO UNO
4.1.1 POWER
4.1.2 MEMORY
4.2 RFID
Fgh
4.2.1 WORKING
4.3 FINGERPRINT
4.3.1 TYPES
vi
4.3.3 CAPACITIVE
4.3.4 MECHANICAL
4.3.5 THERMAL
4.3.7 USES
4.4.6.2 GND
vii
4.4.6.10 CONTROL PINS
4.5 BUZZERS
4.5.1 TYPES
4.5.1.1 ELECTOMECHANICAL
4.5.1.2MECHANICAL
4.5.2 APPLICATIONS
5.1 EMBEDDED C
6 CONCLUSION
7 REFERENCES
viii
.
LIST OF FIGURES
FIGURE TITLE PAGE
NUMBER
1.1 EMBEDDED SYSTEM
ix
4.5 PASSIVE RFID USING INDUCTIVE COUPLING
x
CHAPTER 1
INTRODUCTION
The Internet is a global communication of mass data, publicly used system of
communication networks. Via the interlinked computer systems, the internet allows
the users and organizations to transfer data, services and resources. This is due to the
fact that not a group or a single individual is capable of controlling the internet.
Moreover, it is impossible that some guidelines and rules are followed for the internet
to function efficiently. The internet or simply the Net is a global network environment
of computer networks. It is an interconnection of large and small network nodes all
over the planet.
1
Ninety-eight percent of all microprocessors are manufactured to serve as embedded
system component.
Examples of properties of typical embedded computers when compared with
general-purpose counterparts are low power consumption, small size, rugged operating
ranges, and low per-unit cost. This comes at the price of limited processing resources,
which make them significantly more difficult to program and to interact with.
However, by building intelligence mechanisms on top of the hardware, taking
advantage of possible existing sensors and the existence of a network of embedded
units, one can both optimally manage available resources at the unit and network
levels as well as provide augmented functions, well beyond those available. For
example, intelligent techniques can be designed to manage power.
2
as microwave ovens, washing machines and dishwashers, include embedded systems
to provide flexibility, efficiency and features.
3
Fig 1.3 Block diagram of a typical embedded system
CHAPTER 2
LITERATURE SURVEY
4
Khadija Hasta, Aditya Date, Aparna Shrivastava, Prajakta Jhade, S. N. Shelke,
"Fingerprint Based Secured Voting", 2019 International Conference on
Advances in Computing, Communication and Control (ICAC3).
In the current scenario, most of the countries of the world hold their elections
using Electronic Voting Machines, where your vote gets registered electronically with
the help of an Electronic Machine without using and wasting ballot paper to vote for
elections. As security is a major concern nowadays, ensuring that no person exercises
the right to vote twice is the main aspect. We can resolve this issue by introducing
Finger Print Based Voting, where a person can be authorized based on his Finger
Print. This will put an end to fake voting. The domain of the project is the Internet of
Things where we are building Fingerprint Based Biometric Voting Machine using
Arduino. We know that IoT is the system of interrelated computing devices,
mechanical and digital machines, objects, and the ability to transfer data over a
network without requiring human-to-human or human-to-computer interaction. Thus,
our Fingerprint online module is an application where the user is recognized by his
finger pattern. As we know that the minutiae feature on a finger of each human being
are different, the voter can be easily authenticated. The online system allows the voter
to vote through his fingerprint. The fingerprint of the voter is used to uniquely and
distinctively identify him/her using the fingerprint module. Also, the system promises
the right to vote a candidate only once, thus not allowing the voter to vote for the
second time. An admin is assigned to add all the candidates standing for the election.
Only the admin has the right to add a candidate name and photo who are nominated.
The Admin will also register the voter's name by verifying voter’s details. Admin will
authenticate the voter by verifying the voter’s identity and then admin will register the
voter. Once the user has got the voters id and password from the admin the user can
log in and vote for the candidates who were nominated. The system will allow the user
to vote for only one candidate. In the end, the election result is published by using the
election id. Even users can view the election result.
5
time, man power and money is saved as it is extremely fast and reliable. Voting
secrecy is also maintained without use of ballot paper. VVPAT that is currently used
for voting machine is much more expensive than EVM to be created. The EVM is 100
per cent tamper proof. Results are available in the end just a click away. But these
EVM can be tampered with by changing the hardware connections. Hence a printed
acknowledgement is provided to the voter thus assuring him that vote has been casted
to candidate voter wanted. Here, we describe the design, construction and operation of
this voting machine using ATMEGA 32 microcontroller which has enhanced three
layered extra security.
Vaibhav Bhatia, Rahul Gupta, "A Novel Electronic Voting Machine Design with
Voter Information Facility Using Microcontroller ", 2014 International
Conference on Computing for Sustainable Global Development (INDIA Com).
This paper presents the design of a novel electronic voting machine using
microcontroller. Voter’s information facility has also been incorporated in the machine
design. The information about the number of voters present at the polling place is
stored in a register, which is later used to do various analyses. Infrared sensors have
been used for determining the voter’s information. The design proposed here has a
special option of voter rejection which is not present in the conventional systems. The
simulation of the system is done on Proteus Professional Software v8.0. Multiple vote
casting has been avoided by using software coding techniques. The design presented
in this paper is appropriate and the simulation is working properly under normal
conditions.
Dichou Karima, Pr. Tourtchine Victor, Dr. Rahmoune Faycal, "An Improved
Electronic Voting Machine Using a Microcontroller and a Smart Card", 2014 9th
International Design and Test Symposium.
6
V. Kiruthika Priya, V. Vimaladevi, B. Pandimeenal, T. Dhivya, "Arduino based
Smart Electronic Voting Machine", International Conference on Trends in
Electronics and Informatics ICEI 2017.
The basic idea of this project is to create an electronic voting machine that will
help to eradicate defrauding of the manual voting systems and prior versions of
electronic voting. The thesis looks into and proposes a system that includes multiple
layers of verifications to ensure the reliability of the device. With the inclusion of
biometric fingerprint sensor, each voter is entered into the system only after being
recognized and checked with the given database of enlisted voters. Once the
corresponding fingerprint is matched with the information provided, the voter will be
allowed to proceed for choosing their preferred candidate from the panel of buttons.
The final vote is then displayed onto an LCD for the satisfaction of voters. The
proposed project displays transparency and also carries the feature of being
autonomous during the course of operation.
7
After pressing OK key, the selected ID will be deleted and LCD will display that
which ID has been deleted successfully. This system is flexible to use.
CHAPTER 3
EXISTING SYSTEM:
In existing system, they are pic or 8051 microcontroller.it is difficult to handle
and the cost is high.
The efficiency is low.
The iot facility was not available in exist method.
PROPOSED SYSTEM:
8
90
80
70
60
50
40
PIC
30 ARDUINO
20
10
0
ARDUINO
ST D
CO EE TY PIC
P
S ILI
NCY Y
IB IE OR
LEX FIC EM
F EF M
POWER SUPPLY
WEB SERVER
ARDUINO UNO
FINGER
PRINT BUZZER
9
3.4 HARDWARE REQUIREMENTS:
ARDUINO UNO
FINGER PRINT
RFID READER
ESP8266 (IOT MODULE)
BUZZER
3.5 SOFTWARE REQUIREMENTS:
ARDUINO IDE
EMBEDDED C
CHAPTER 4
HARDWARE COMPONENTS DETAILS
10
microcontroller; simply connect it to a computer with a USB cable or power it with an
AC-to-DC adapter or battery to get started. The Uno differs from all preceding boards
in that it does not use the FTDI USB-to-serial driver chip. Instead, it features the
Atmega16U2 (Atmega8U2 up to version R2) programmed as a USB-to-serial
converter. Revision 2 of the Uno board has a resistor pulling the 8U2 HWB line to
ground, making it easier to put into DFU mode. Revision 3 of the board has the
following new features:
1.0 pinout: added SDA and SCL pins that are near to the AREF pin and two other
new pins placed near to the RESET pin, the IOREF that allow the shields to adapt to
the voltage provided from the board. In future, shields will be compatible both with
the board that use the AVR, which operate with 5V and with the Arduino Due that
operate with 3.3V. The second one is a not connected pin, that is reserved for future
purposes.
Stronger RESET circuit. At mega 16U2 replace the 8U2. "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.
4.1.1 POWER:
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.
11
Fig 4.1 Arduino Uno diagram
4.1.2 MEMORY:
The ATmega328 has 32 KB (with 0.5 KB used for the bootloader). It also has 2
KB of SRAM and 1 KB of EEPROM (which can be read and written with the
EEPROM library). Input and Output Each of the 14 digital pins on the Uno can be
used as an input or output, using pin Mode (), digital Write (), and digital Read ()
functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40
mA and has an internal pull-up resistor (disconnected by default) of 20-50 Kilo ohms.
Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data.
These pins are connected to the corresponding pins of the ATmega8U2 USB-to-TTL
Serial chip.
PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analog Write ()
function.
12
LED: 13. 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. The Uno has 6 analog inputs,
labelled A0 through A5, each of which provide 10 bits of resolution (i.e. 1024
different values). By default, they measure from ground to 5 volts, though is it
possible to change the upper end of their range using the AREF pin and the analog
Reference () function. Additionally, some pins have specialized functionality:
TWI: A4 or SDA pin and A5 or SCL pin. Support TWI communication using the
Wire library. There are a couple of other pins on the board:
AREF. Reference voltage for the analog inputs. Used with analog Reference ().
Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset
button to shields which block the one on the board. See also the mapping between
Arduino pins and ATmega328 ports. The mapping for the Atmega8, 168, and 328 is
identical. Communication the Arduino Uno has a number of facilities for
communicating with a computer, another Arduino, or other microcontrollers.
13
Fig 4.2 Pin diagram of Arduino Uno
The Arduino Uno has a resettable poly fuse that protects your computer's USB
ports from shorts and overcurrent. Although most computers provide their own
internal protection, the fuse provides an extra layer of protection. If more than 500 mA
is applied to the USB port, the fuse will automatically break the connection until the
short or overload is removed.
The maximum length and width of the Uno PCB are 2.7 and 2.1 inches
respectively, with the USB connector and power jack extending beyond the former
dimension. Four screw holes allow the board to be attached to a surface or case. Note
that the distance between digital pins 7 and 8 is 160 mil (0.16"), not an even multiple
of the 100-mil spacing of the other pins.
4.2 RFID:
14
4.2.1 WORKING:
15
A reader: It consists of a scanner with antennas to transmit and receive signals
and is responsible for communication with the tag and receives the information
from the tag.
Active RFID system: These are systems where the tag has its own power
source like any external power supply unit or a battery. The only constraint being
the life time of the power devices. These systems can be used for larger distances
and to track high value goods like vehicles.
Passive RFID system: These are systems where the tag gets power through the
transfer of power from a reader antenna to the tag antenna. They are used for short
range transmission.
Here we are mostly concerned with the passive RFID system as it is most widely used
in regular applications like in retail market organizations.
4.2.6 A brief idea about How the Passive RFID System Works:
The tag can be powered either using inducting coupling method or through EM
wave capture method. Let’s us have a brief knowledge about the system using these
two methods.
16
4.2.6.1 A Passive RFID system using Induction coupling method:
In this approach the RFID tag gets power from the reader through inductive
coupling method. The reader consists of a coil connected to an AC supply such that a
magnetic field is formed around it. The tag coil is placed in the vicinity of the reader
coil and an electromotive force is induced it by the virtue of Faraday’s law of
induction. The EMF causes a flow of current in the coil, thus producing a magnetic
field around it. By the virtue of Lenz law, the magnetic field of the tag coil opposes
the reader’s magnetic field and there will be a subsequent increase in the current
through the reader coil. The reader intercepts this as the load information. This system
is suitable for very short distance communication. The AC voltage appearing across
the tag coil is converted to DC using rectifier and filter arrangement.
The antenna present in the reader transmits electromagnetic waves which are
received by the antenna present in the tag as potential difference across the dipole.
This voltage is rectified and filtered to get the DC power. The receiver antenna is kept
at different impedance which causes it to reflect a part of the received signal. This
reflected signal is received by the reader and monitored accordingly.
17
Fig 4.6 Passive RFID using EM-wave transmission
In the active RFID system, the reader sends signal to the tag using an antenna.
The tag receives this information and resends this information along with the
information in its memory. The reader receives this signal and transmits to the
processor for further processing.
18
(e.g., a battery), thereby enabling them to transmit data at all times. For a more
detailed discussion, refer to this article: Passive RFID Tags vs. Active RFID Tags.
Smart labels differ from RFID tags in that they incorporate both RFID and barcode
technologies. They’re made of an adhesive label embedded with an RFID tag inlay,
and they may also feature a barcode and/or other printed information. Smart labels can
be encoded and printed on-demand using desktop label printers, whereas programming
RFID tags are more time consuming and requires more advanced equipment.
Although RFID technology has been in use since World War II, the demand for
RFID equipment is increasing rapidly, in part due to mandates issued by the U.S.
Department of Defence (DoD) and Wal-Mart requiring their suppliers to enable
products to be traceable by RFID.
From the read distance to the types of tags available, RFID has come a long
way since World War II and there is a bright future ahead. Review the evolution of
RFID.
19
Fig 4.8 FINGER PRINT
4.3.1 TYPES:
They are based on the oldest technique, that consists of placing your finger on a
glass surface or a prism that is illuminated by a led diode. When the ridges of
fingerprints touch the surface, the light is absorbed, while between these crests a total
reflection occurs. The resulting light and dark areas are recorded in an image sensor.
In practice there are some difficulties with this technique: the images obtained
with wet and dry fingers are very different and, in addition, the system is sensitive to
dust and dirt on the surface. The unit has a considerable size, impractical and
expensive. This system is easy to cheat and if the skin is damaged, the fingerprint is
not recognized correctly. The recognition of the fingerprint of older people is also
difficult to do because the skin is not elastic enough. In some circumstances this may
result in false recognition. If the stored fingerprint was taken with less pressure, false
acceptances may occur.
4.3.3 Capacitive:
The sensor is a silicon integrated circuit with a surface that is covered by a large
number of transducer elements (or pixels), with a typical resolution of 500 dpi. Each
element contains two adjacent metal electrodes. The capacity between the electrodes,
which forms a feedback path for an inverting amplifier, is reduced when the finger is
applied to said surface: it is further reduced when it detects ridges and less reduced
when it detects the space between them.
4.3.4 Mechanical:
20
4.3.5 Thermal:
In this case the heat driven by the finger is detected, which is greater when there
is a ridge than when there is a valley. A silicon component has been developed with a
matrix of pixels called "Finger Chip", that is, "finger integrated circuit", each of which
is covered with a layer of pyroelectric material in which a change in temperature
translates into a change in the load distribution of its surface. The image is in the gray
scale that has the right quality even with the finger worn, with dirt, with grease or with
humidity. The sensor has a robust protective layer and can provide a dynamic output.
Most of the sensors described have been altered in the past. To avoid this, a new
operating mode has been added. Instead of simply placing your finger statically on the
sensor, the finger moves slowly along it. The sensor only has a narrow sensitive area,
and generates a complete sequence of images, which can be reassembled, by means of
a processor, in a complete image. The benefits are improved appreciably and the
elimination of any residual grease is guaranteed.
4.3.7 Uses:
The most important use area is in access control for computers. This is
especially important for laptops and PDAs. Thanks to the price falling, more and more
devices are equipped with sensors. Other devices with built-in fingerprint sensors
include USB hard drives, USB memory modules and card readers. They are also
available in mice and keyboards.
Direct physical access to rooms and devices can also be ensured by coupling
fingerprint sensors with door opening systems.
21
specially targeted for IoT based Applications. It includes firmware that runs on the
ESP8266 Wi-Fi SoC from Espressif Systems, and hardware which is based on the
ESP-12 module.
The NodeMCU ESP8266 development board comes with the ESP-12E module
containing ESP8266 chip having Tensilica Xtensa 32-bit LX106 RISC
microprocessor. This microprocessor supports RTOS and operates at 80MHz to 160
MHz adjustable clock frequency. NodeMCU has 128 KB RAM and 4MB of Flash
memory to store data and programs. Its high processing power with in-built Wi-Fi /
Bluetooth and Deep Sleep Operating features make it ideal for IoT projects.
NodeMCU can be powered using Micro USB jack and VIN pin (External
Supply Pin). It supports UART, SPI, and I2C interface.
22
4.4.2 Power Requirement:
As the operating voltage range of ESP8266 is 3V to 3.6V, the board comes with
a LDO voltage regulator to keep the voltage steady at 3.3V. It can reliably supply up
to 600mA, which should be more than enough when ESP8266 pulls as much as 80mA
during RF transmissions. The output of the regulator is also broken out to one of the
sides of the board and labeled as 3V3. This pin can be used to supply power to
external components.
Power to the ESP8266 NodeMCU is supplied via the on-board MicroB USB
connector. Alternatively, if you have a regulated 5V voltage source, the VIN pin can
be used to directly supply the ESP8266 and its peripherals.
The ESP8266 NodeMCU has total 17 GPIO pins broken out to the pin headers
on both sides of the development board. These pins can be assigned to all sorts of
peripheral duties, including:
23
The ESP8266 NodeMCU features two buttons. One marked as RST located on
the top left corner is the Reset button, used of course to reset the ESP8266 chip. The
other FLASH button on the bottom left corner is the download button used while
upgrading firmware.
The board also has a LED indicator which is user programmable and is
connected to the D0 pin of the board.
24
Fig 4.11 Serial communication diagram
The ESP8266 NodeMCU has total 30 pins that interface it to the outside world.
The connections are as follows:
25
Fig 4.12 pin out diagram
For the sake of simplicity, we will make groups of pins with similar
functionalities.
There are four power pins viz. one VIN pin & three 3.3V pins. The VIN pin
can be used to directly supply the ESP8266 and its peripherals, if you have a regulated
5V voltage source. The 3.3V pins are the output of an on-board voltage regulator.
These pins can be used to supply power to external components.
4.4.6.2 GND:
I2C Pins are used to hook up all sorts of I2C sensors and peripherals in your
project. Both I2C Master and I2C Slave are supported. I2C interface functionality can
be realized programmatically, and the clock frequency is 100 kHz at a maximum. It
should be noted that I2C clock frequency should be higher than the slowest clock
frequency of the slave device.
26
ESP8266 NodeMCU has 17 GPIO pins which can be assigned to various
functions such as I2C, I2S, UART, PWM, IR Remote Control, LED Light and Button
programmatically. Each digital enabled GPIO can be configured to internal pull-up or
pull-down, or set to high impedance. When configured as an input, it can also be set to
edge-trigger or level-trigger to generate CPU interrupts.
The NodeMCU is embedded with a 10-bit precision SAR ADC. The two
functions can be implemented using ADC viz. Testing power supply voltage of
VDD3P3 pin and testing input voltage of TOUT pin. However, they cannot be
implemented at the same time.
ESP8266 NodeMCU has 2 UART interfaces, i.e. UART0 and UART1, which
provide asynchronous communication (RS232 and RS485), and can communicate at
up to 4.5 Mbps. UART0 (TXD0, RXD0, RST0 & CTS0 pins) can be used for
communication. It supports fluid control. However, UART1 (TXD1 pin) features only
data transmit signal so, it is usually used for printing log.
ESP8266 features two SPIs (SPI and HSPI) in slave and master modes. These
SPIs also support the following general-purpose SPI features:
27
4 timing modes of the SPI format transfer
Up to 80 MHz and the divided clocks of 80 MHz
Up to 64-Byte FIFO
The board has 4 channels of Pulse Width Modulation (PWM). The PWM output
can be implemented programmatically and used for driving digital motors and LEDs.
PWM frequency range is adjustable from 1000 μs to 10000 μs, i.e., between 100 Hz
and 1 kHz.
Control pins are used to control ESP8266. These pins include Chip Enable pin
(EN), Reset pin (RST) and WAKE pin.
EN pin – The ESP8266 chip is enabled when EN pin is pulled HIGH. When
pulled LOW the chip works at minimum power.
28
RST pin – RST pin is used to reset the ESP8266 chip.
WAKE pin – Wake pin is used to wake the chip from deep-sleep.
4.5 BUZZER:
4.5.1 TYPES:
4.5.1.1 Electromechanical:
29
A piezoelectric buzzer/beeper also depends on acoustic cavity resonance
or Helmholtz resonance to produce an audible beep.
4.5.2 APPLICATIONS:
While technological advancements have caused buzzers to be impractical and
undesirable, there are still instances in which buzzers and similar circuits may be used.
Present day applications include:
Novelty uses
Judging panels
Educational purposes
Annunciator panels
Electronic metronomes
Game show lock-out device
Microwave ovens and other household appliances
Sporting events such as basketball games
Electrical alarms
Joy buzzer (mechanical buzzer used for pranks)
These buzzers are usually driven at a relatively higher voltage but low current,
consumes a little power, but still capable of producing very high sound.
The Piezo element must be a three terminal one, like in the picture.
30
The blue wire is connected to feedback(F) terminal, red wire to the main (M)
terminal and the black wire to the piezo element’s ground(G) plate.
The inductor coil’s value and shape are not crucial. You can use any coil
from 1mH to 10mH or more, or even no measured value at all. I used a 40-turn coil
on a small ferrite toroid in the final design.
The circuit is fairly simple, you can use a little piece of strip board to make it.
As this piezo buzzer circuit uses very few components, so it also could be constructed
by soldering the components to each other.
When A voltage is applied to the electrodes of the piezo element, they produce
flex in either way. This flex force bends the ground plate up and down.
The exact opposite thing happens too, when a piezoelectric element is subjected
to varying pressure, it produces voltage.
As you’ve seen before, self-drive piezo buzzers are constructed with an extra
electrically isolated feedback electrode. The voltage created by the flex force is
available in the feedback terminal.
31
The piezo buzzer is placed in a resonant cavity, there is a hole in the opposite side of
the resonant cavity from where the buzzing sound comes out.
The driver circuit and piezo buzzer co-operates soon between themselves and they
start oscillating on the resonant frequency of the piezo buzzer.
CHAPTER 5
5.1 EMBEDDED C:
32
Fig 5.1 Block diagram of Embedded C
The Embedded C code written in above block diagram is used for blinking the
LED connected with Port0 of microcontroller.
Easy to understand
High Reliability
Portability
Scalability
33
Web applications are rarely used, although XML files and other output may be
passed to a computer for display. File systems with folders are typically absent as are
SQL databases.
This program explains how to use structure within structure in C using normal
variable. “student_college_detail’ structure is declared inside “student_detail”
structure in this program. Both structure variables Please note that members of
“student_college_detail” structure are accessed by 2 dot(.) operator and members
of “student are normal structure variables.
34
Fig 5.2 Embedded C program with examples
bit
sbit
sfr
small
large
These are few of the many keywords associated with the Cx51 C Compiler along with
the standard C Keywords.
35
Additionally, the Arduino IDE uses a simplified version of C++, making it easier to
learn to program. Finally, Arduino provides a standard form factor that breaks out the
functions of the micro-controller into a more accessible package.
The Arduino hardware and software were designed for artists, designers,
hobbyists, hackers, newbies, and anyone interested in creating interactive objects or
environments. Arduino can interact with buttons, LEDs, motors, speakers, GPS units,
cameras, the internet, and even your smart-phone or your TV! This flexibility
combined with the fact that the Arduino software is free, the hardware boards are
pretty cheap, and both the software and hardware are easy to learn has led to a large
community of users who have contributed code and released instructions for
a huge variety of Arduino-based projects
There are many varieties of Arduino boards (explained on the next page) that
can be used for different purposes. Some boards look a bit different from the one
below, but most Arduinos have the majority of these components in common:
36
the configured board and serial port. The toolbar buttons allow you to verify and
upload programs, create, open, and save sketches, and open the serial monitor
The Arduino IDE is incredibly minimalistic, yet it provides a near-complete
environment for most Arduino-based projects. The top menu bar has the standard
options, including “File” (new, load save, etc.), “Edit” (font, copy, paste, etc.),
“Sketch” (for compiling and programming), “Tools” (useful options for testing
projects), and “Help”. The middle section of the IDE is a simple text editor that
where you can enter the program code. The bottom section of the IDE is dedicated
to an output window that is used to see the status of the compilation, how much
memory has been used, any errors that were found in the program, and various
other useful messages.
Projects made using the Arduino are called sketches, and such sketches are
usually written in a cut-down version of C++ (a number of C++ features are not
included). Because programming a microcontroller is somewhat different from
programming a computer, there are a number of device-specific libraries (e.g.,
changing pin modes, output data on pins, reading analog values, and timers). This
sometimes confuses users who think Arduino is programmed in an “Arduino
language.” However, the Arduino is, in fact, programmed in C++. It just uses
unique libraries for the device.
37
executive program with the GNU toolchain, also included with the IDE distribution.
The Arduino IDE employs the program avrdude to convert the executable code into a
text file in hexadecimal encoding that is loaded into the Arduino board by a loader
program in the board's firmware.
FLOW CHART
38
CODING
#include<SoftwareSerial.h>
String x,y;
int j=0;
int authorised1=0;
int authorised2=0;
int authorised3=0;
int authorised4=0;
int buzzer=13;
void setup()
Serial.begin(9600);
mySerial.begin(9600);
pinMode(buzzer,OUTPUT);
void loop()
if(mySerial.available()>0)
39
String a=mySerial.readString();
x=a;
y=a;
Serial.println(a);
if(Serial.available()>0)
String s=Serial.readString();
Serial.println(s);
if((s=="1")&& (authorised1==0))
if(x=="2B00E22D51B5")
Serial.println("*");
Serial.println("25% VOTED");
Serial.println("#");
x="0";
authorised1=1;
else if(authorised1==1)
{ Serial.println("else");
digitalWrite(buzzer,HIGH);
40
delay(1000);
digitalWrite(buzzer,LOW);
delay(1000);
if((s=="2")&& (authorised2==0))
if(x=="2B00E21A1FCC")
Serial.println("*");
Serial.println("50% VOTED");
Serial.println("#");
x="0";
authorised2=1;
else if(authorised2==1)
digitalWrite(buzzer,HIGH);
delay(1000);
digitalWrite(buzzer,LOW);
delay(1000);
if((s=="3")&&(authorised3==0))
41
{
if(x=="2B00E2425ED5")
Serial.println("*");
Serial.println("75% VOTED");
Serial.println("#");
x="0";
authorised3=1;
else if(authorised3==1)
digitalWrite(buzzer,HIGH);
delay(1000);
digitalWrite(buzzer,LOW);
delay(1000);
if((s=="4")&&(authorised4=0))
if(x=="2B00E17F5AEF")
Serial.println("*");
42
Serial.println("100% VOTED");
Serial.println("#");
x="0";
authorised4=1;
else if(authorised4==1)
digitalWrite(buzzer,HIGH);
delay(1000);
digitalWrite(buzzer,LOW);
delay(1000);
OUTPUT
43
CHAPTER 6
CONCLUSION
44
CHAPTER 7
REFERENCES
[5]. A. Ross, S. Dass, and A. K. Jain (2010). A deformable model for fingerprint
matching, Pattern Recognition. University of Michigan.
[6]. Z. Pan, H. Bolouri (2010). figerprint matching on Discrete Cosine Transform and
Neural Networks. University of Hertfordshire, Herts, United Kingdom.
[7]. Ren, Zujie, et al. "iGen: A Realistic Request Generator for Cloud File Systems
Benchmarking
45