You are on page 1of 71

SMS BASED VOTING MACHINE

CHAPTER 1 INTRODUCTION
1.1 Introduction to SMS Based Voting Machine

India is worlds largest democracy. Fundamental right to vote or simply voting in elections forms the basis of Indian democracy. In India all earlier elections a voter used to cast his vote by using ballot paper. This is a long time-consuming process and very much prone to errors. This situation continued till election scene was completely changed by electronic voting machine. No more ballot paper, ballot boxes, stamping, etc. All this condensed into a simple box called ballot unit of the electronic voting machine. Cell phone based voting machine is capable of saving considerable printing stationery and transport of large volumes of electoral material. It is easy to transport, store, and maintain. It completely rules out the chance of invalid votes. It reduces of polling time, resulting in fewer problems in electoral preparations, law and order, candidates expenditure, etc. and easy and accurate counting without any mischief at the counting centre. The aim of our project is to design & develop a mobile based voting machine. This project focuses onto implement GSM (Global System for Mobile Communication) based Voting System. This system is implemented using an embedded microcontroller. The embedded microcontroller used here is AT89S52microcontroller. Actually, the aim of the project is to implement an Automatic Voting system. GSM Based voting machine is fully controlled system. There is no chance of any mistake. Primarily, the system functions with the help of different technologies like the traditional cellular network such as Global System for Mobile Communications (GSM) and other radio frequency medium. Today GSM fitted Banks, cars; ambulances, fleets and police vehicles are common sights. The functional units of our projects are GSM MODEM, LCD display, PC data base and AT89S52.

1.2

Basic Aim of Project

The aim of our project is to design & develop a mobile based voting machine. In this project user can dial the specific number from any land line or mobile phone to cast his vote. Once the user is connected to the voting machine he can enter his password & choice of vote. If
1

Dept. of E&C, PCE

SMS BASED VOTING MACHINE he has entered a valid choice & password his vote will be caste with two short duration beeps. For invalid password/choice long beep will be generated. User is allotted 15 seconds to enter his password & choice. A reset button is provided for resetting the system. A total key is provided to display the result. We have also used non-volatile memory for storing all data. EEPROM will preserve all information in case of power failure.

1.3

Current Market Solution Available:

At present Electronic Voting Machines ("EVM") are being used in Indian General and State Elections to implement electronic voting in part from 1999 elections and in total since 2004 elections. The EVMs reduce the time in both casting a vote and declaring the results compared to the old paper ballot system. However, EVMs have been under a cloud of suspicion over their alleged tamping arability and security problems during elections (especially after the 2009 general elections). An EVM consists of two units: Control Unit Balloting Unit

The Control Unit is with the Polling Officer and the Balloting Unit is placed inside the voting compartment

Fig 1.1: Typical Electronic Voting Machine But EVM is very complicated and there is lot of wasting of time and money so SMS voting machine can be a safer mode of casting vote with respect to Electronic Voting Machines (EVM).

1.4

Current Technology Used in Project

The current technology used in the project is SMS (Short Message Service) service based on GSM (Global System for Mobile).GSM (Global System for Mobile communications) is an open, digital cellular technology used for transmitting mobile voice and data services.
2

Dept. of E&C, PCE

SMS BASED VOTING MACHINE GSM supports voice calls and data transfer speeds of up to 9.6 kbps, together with the transmission of SMS (Short Message Service). GSM operates in the 900MHz and 1.8GHz bands in Europe and the 1.9GHz and 850MHz bands in the US. The use of harmonized spectrum across most of the globe, combined with GSMs international roaming capability, allows travellers to access the same mobile services at home and abroad. GSM enables individuals to be reached via the same mobile number in up to 219 countries. Terrestrial GSM networks now cover more than 90% of the worlds population. GSM satellite roaming has also extended service access to areas where terrestrial coverage is not available.

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

CHAPTER 2 CIRCUIT AND BLOCK DIAGRAM OF PROJECT


2.1 Block Diagram of Project
POWER SUPPLY 5V AT89S52 MICROCONTROLLER PC DATABASE (VB) GSM MODEM

EEPROM

LCD

MOBILE

Fig 2.1: Block Diagram of Project

2.1.1 Block Diagram Description


A mobile is interfaced to computer where database is to be verified and AT89S52 microcontroller is also interfaced to computer (PC) to display and store database. The user has his password stored in from of his ID number in the database of PC. The User has to send his voting information via SMS to the mobile interfaced to the microcontroller. The c will consider a vote if the password of a person matches to his database of software in PC. The mobile interfaced to the PC will send an acknowledgment message when the vote is granted, if something goes wrong then c will send a negative acknowledgment message via SMS to the user. If the password of the person is entered in the same order, there will be a positive vote given to the candidate to which the voter is voting. This is done in order to reduce the risk of forcible voting. The PC data will be transfer to controller and further display at LCD.

2.1.2 GSM Modem


A GSM modem is a wireless modem that works with a GSM wireless network. A GSM modem can be an external device or a PC Card PCMCIA Card. In this project GSM modem is connected to a computer through a serial cable or a USB cable. Behaving as a PC Card .It
4

Dept. of E&C, PCE

SMS BASED VOTING MACHINE should be inserted into one of the PC Card slots of a laptop computer. Like a GSM mobile phone, a GSM modem requires a SIM card from a wireless carrier in order to operate computers use AT commands to control modems. These extended AT commands are defined in the GSM standards. With the extended AT commands Reading, writing, deleting and Sending SMS messages are monitored.

2.1.3 Mobile
Here mobile is the user mobile whos SIM card number has been priory registered in voting machine. Through mobile user will have to cast his\her vote in specific format using Short Message Service (SMS).

2.1.4 PC Database
Computer (PC) is used as common interface between microcontroller and GSM module. Software tool visual basic 6.0 is used to control, store and secondary display of votes. In software part two forms are made one for administration access and another for voting status display where all options are available for storage display and control.

2.1.5 AT89S52 Microcontroller


In this project we interfaced AT89S52 microcontroller with computer and LCD. The AT89S52 is 40 pin IC packaged in DIP package.it is derivative of 8051 family, from Atmel Inc. AT89S52 Microcontroller is the heart of the circuit as it controls all the functions of display, interfacing external EEPROM, LCD and computer

2.1.6 Power Supply


7805 VOLTAGE REGULATOR The 78xx (also sometimes known as LM78xx) series of devices is a family of self-contained fixed linear voltage regulator integrated circuits. The 78xx family is a very popular choice for many electronic circuits which require a regulated power supply, due to their ease of use and relative cheapness. When specifying individual ICs within this family, the xx is replaced with a two-digit number, which indicates the output voltage the particular device is designed to provide (for example, the 7805 has a 5 volt output, while the 7812 produces 12 volts). The 78xx line is positive voltage regulators, meaning that they are designed to produce a voltage that is positive relative to a common ground. There is a related line of 79xx devices which are complementary negative voltage regulators. 78xx and 79xx ICs can be used in combination to provide both positive and negative supply voltages in
5

the

same

circuit,

if

Dept. of E&C, PCE

SMS BASED VOTING MACHINE necessary.78xx ICs have three terminals and are most commonly found in the TO220 form factor, although smaller surface- mount and larger TO3 packages are also available from some manufacturers. These devices typically support an input voltage which can be anywhere from a couple of volts over the intended output voltage, up to a maximum of 35 or 40 volts, and can typically provide up to around 1 or 1.5 amps of current .

Fig 2.2: 7805 Voltage Regulator IC

2.1.7 LCD
In this project 16*2 LCD is used. This LCD is interface with AT89S52 at port 2.It used to display voting result with candidates A, B, C, D.

Fig 2.3: 16*2 LCD

2.1.8 Bridge Rectifier


A diode bridge is an arrangement of four diodes in a bridge configuration that provides the same polarity of output for either polarity of input. When used in its most common application, for conversion of an alternating current (AC) input into direct current a (DC) output, it is known as a bridge rectifier. A bridge rectifier provides full-wave rectification from a two-wire AC input, resulting in lower cost and weight as compared to a rectifier with a 3-wire input from a transformer with a center-tapped secondary winding.

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

2.2 Circuit Diagram

Fig: 2.4: Circuit Diagram

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

2.2.1 Circuit Description


Here port 1 is connected to the LCD to display data from the microcontroller to the LCD. The virtual terminal is used to send and receive data via serial port and is used instead of a GSM module. The HEX file of the program is loaded into the controller and the clock frequency and baud rates of all the devices are adjusted so that they work in synchronization. Some pins of port 3 are used to give the write and latching commands to the lcd.18th &19th pin is connected to the crystal oscillator. Twentieth pin is connected to a led which is the indicator of power supply MAX 232 is used in this circuit for serial communication. Crystal oscillator is used for generating the clock frequency for microcontroller. Crystal oscillator frequency for microcontroller is 11.0592MhzCapacitors in crystal oscillator is used to avoid damping. First supply is given. The rectifier circuit converts ac power into DC. Here bridge rectifier is used for increasing the efficiency. DC voltage generated is passed through a 7805 voltage regulator, output of which is 5volts. Programme for voting procedure is embedded on the microcontroller Name of the candidates appears in the lcd screen as A ,B,C,D. Then we cast the vote through the cell phone in a prescribed format.

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

CHAPTER 3 COMPONENTS AND ITS DESCRIPTION


3.1 Component List
Basic components used in this project are: Table 3.1 Component list

Sr.no 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 12. 13. 14. 15. 16. 17. 18. 19.

Component Microcontroller LCD display LED Resistor Crystal oscillator Capacitor MAX 232 GSM module SIM card Copper clad Voltage regulator IC Berge strip Connecting wires ZIF Resistance array Computer setup DB-9 Connector Switch

Specification (AT89S52) 16*2 text 1K,10K (11.0592Mhz) (33pf,10mf(63V),) SIM300 Any 7805 Male Female(16 pin)
40 pin

Quantity 1 1 2 8 1 2 2 1 1 2 1 2 As per need requirement 1 1 1 2 1

10k 9 slot On/off

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

3.2 Component Descriptions 3.2.1 Introduction To 8052 Microcontroller:

Fig 3.1 8052 Pin diagram

Description
The AT89S52 is a low-power, high-performance CMOS 8-bit microcomputer with 8K bytes of Flash programmable and erasable read only memory (PEROM). The device is manufactured using Atmels high-density non-volatile memory technology and is compatible with the industry-standard 80C51 and 80C52 instruction set and pin out. The onchip Flash allows the program memory to be reprogrammed in-system or by a conventional non-volatile memory programmer. By combining a versatile 8-bit CPU with Flash on a monolithic chip, the Atmel AT89S52 is a powerful microcomputer which provides a highlyflexible and cost-effective solution to many embedded control applications.

10

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

Features of 8052:
Compatible with MCS-51 Products 8K Bytes of In-System Reprogrammable Flash Memory Endurance: 1,000 Write/Erase Cycles Fully Static Operation: 0 Hz to 24 MHz Three-level Program Memory Lock 256 x 8-bit Internal RAM 32 Programmable I/O Lines Three 16-bit Timer/Counters Eight Interrupt Sources Programmable Serial Channel Low-power Idle and Power-down Modes

PIN DESCRIPTION:
VCC Supply voltage. GND Ground. Port 0 Port 0 is an 8-bit open drain bi-directional I/O port. As an output port, each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high impedance inputs. Port 0 can also be configured to be the multiplexed low order address/data bus during accesses to external program and data memory. In this mode, P0 has internal pull-ups. Port 0 also receives the code bytes during Flash programming and outputs the code bytes during program verification. External pull-ups are required during program verification. Port 1 Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 1 output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups. In addition, P1.0 and P1.1 can be configured to be the timer/counter 2 external count input (P1.0/T2) and the
11

Dept. of E&C, PCE

SMS BASED VOTING MACHINE timer/counter 2 trigger input (P1.1/T2EX), respectively, as shown in the following table. Port 1 also receives the low-order address bytes during Flash programming and verification. Port 2 Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups. Port 2 emits the highorder address byte during fetches from external program memory and during accesses to external data memory that uses 16-bit addresses (MOVX @ DPTR). In this application, Port 2 uses strong internal pull-ups when emitting 1s. During accesses to external data memory that uses 8-bit addresses (MOVX @ RI), Port 2 emits the contents of the P2 Special Function Register. Port 2 also receives the high-order address bits and some control signals during Flash programming and verification. Port 3 Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 3 output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low will source current (IIL) because of the pull-ups. Port 3 also serves the functions of various special features of the AT89S51, as shown in the following table. Port 3 also receives some control signals for Flash programming and verification. Table 3.2: Port 3 description Port Pins P 3.0 P 3.1 P 3.2 P 3.3 P 3.4 P 3.5 P 3.6 P 3.7 Alternate Function RXD(serial input port) TXD(serial output port) INT0 (external interrupt 0) INT1(external interrupt 1) T0(Timer 0 external input) T1(Timer 1external input) WR (external data memory write strobe) RD (external data memory read strobe)

12

Dept. of E&C, PCE

SMS BASED VOTING MACHINE RST Reset input. A high on this pin for two machine cycles while the oscillator is running resets the device. ALE/PROG Address Latch Enable is an output pulse for latching the low byte of the address during accesses to external memory. This pin is also the program pulse input (PROG) during Flash programming. In normal operation, ALE is emitted at a constant rate of 1/6 the oscillator frequency and may be used for external timing or clocking purposes. Note, however, that one ALE pulse is skipped during each access to external data memory. If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the pin is weakly pulled high. Setting the ALE-disable bit has no effect if the microcontroller is in external execution mode. PSEN Program Store Enable is the read strobe to external program memory. When the AT89S52 is executing code from external program memory, PSEN is activated twice each machine cycle, except that two PSEN activations are skipped during each access to external data memory. EA/VPP External Access Enable. EA must be strapped to GND in order to enable the device to fetch code from external program memory locations starting at 0000H up to FFFFH. Note, however, that if lock bit 1 is programmed, EA will be internally latched on reset EA should be strapped to VCC for internal program executions. This pin also receives the 12-volt programming enable voltage (VPP) during Flash programming when 12-volt programming is selected. XTAL1 Input to the inverting oscillator amplifier and input to the internal clock operating circuit. XTAL2 Output from the inverting oscillator amplifier.
13

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

Fig 3.2: Crystal Oscillator

Interrupts
The AT89S52 has a total of six interrupt vectors: two external interrupts (INT0 and INT1), three timer interrupts (Timers 0, 1, and 2), and the serial port interrupt. Each of these interrupt sources can be individually enabled or disabled by setting or clearing a bit in Special Function Register IE. IE also contains a global disable bit, EA, which disables all interrupts at once. In the AT89C51, bit position IE.6 and IE.5 are unimplemented. User software should not write 1s to these bit positions, since they may be used in future AT89 products. Timer 2 interrupt is generated by the logical OR of bits TF2 and EXF2 in register T2CON. Neither of these flags is cleared by hardware when the service routine is vectored to. In fact, the service routine may have to determine whether it was TF2 or EXF2 that generated the interrupt, and that bit will have to be cleared in software. The Timer 0 and Timer 1 flags, TF0 and TF1, are set at S5P2 of the cycle in which the timers overflow. The values are then polled by the circuitry in the next cycle. However, the Timer 2 flag, TF2, is set at S2P2 and is polled in the same cycle in which the timer overflows. Table 3.3: Interrupts (MSB) EA ET2 ES ET1 EX1 ET0 (LSB) EX0

Enable Bit = 1 enables the interrupt. Enable Bit = 0 disables the interrupt.

14

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

3.2.2 MAX 232 IC

Fig 3.3: MAX 232 IC The MAX232 is an integrated circuit that converts signals from an RS-232 serial port to signals suitable for use in TTL compatible digital logic circuits. The MAX232 is a dual driver/receiver and typically converts the RX, TX, CTS and RTS signals. The drivers provide RS- 232 voltage level outputs (approx. 7.5 V) from a single +5V supply via onchip charge pumps and external capacitors. This makes it useful for implementing RS-232 in devices that otherwise do not need any voltages outside the 0V to + 5 V range, as power supply design does not need to be made more complicated just for driving the RS-232 in this case. The receivers reduce RS-232inputs (which may be as high as 25 V), to standard 5 V TTL levels. These receivers have atypical threshold of 1.3 V, and a typical hysteresis of 0.5 V. The later MAX232A is backwards compatible with the original MAX232 but may operate at higher baud rates and can use smaller external capacitors 0.1 F in place of the 1.0 F capacitors used with the original device. The newer MAX3232 is also backwards compatible, but operates at a broader voltage range, from 3 to 5.5V. The later MAX232A is backwards compatible with the original MAX232 but may operate at higher baud rates and can use smaller external capacitors 0.1 F in place of the 1.0 F capacitors used with the original device. The newer MAX3232 is also backwards compatible, but operates at a broader voltage range, from 3 to 5.5 V. Pin to pin compatible: ICL232, ST232, ADM232, HIN232 (much cheaper alternatives).

15

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

3.2.3 GS M MODULE

Fig 3.4: GSM Module A GS M modem is a wireless modem that works with a GSM wireless network. A wireless modem behaves like a dial- up modem. The main difference between them is that a dial- up modem sends and receives data through a fixed telephone line while a wireless modem Sends and receives data through radio waves. A GSM modem can be an external device or a PC Card PCMCIA Card. Typically, an external GSM modem is connected to a computer through a serial cable or a USB cable. A GSM modem in the form of a PC Card / PCMCIA Card is designed for use with a laptop computer. It should be inserted into one of the PC Card /PCMCIA Card slots of a laptop computer. Like a GSM mobile phone, a GSM modem requires a SIM card from a wireless carrier in order to operate. As mentioned below of this SMS tutorial l computers use AT commands to control modems. Both GSM modems and dial-up modems support a common set of standard AT commands. You can use a GSM modem just like a dial- up modem. In addition to the standard AT commands; GSM modems support an extended set of AT commands. These extended AT commands are defined in the GSM standards. With the extended AT commands, you can do things like: 1. Reading, writing and deleting SMS messages. 2. Sending S MS messages. 3. Monitoring the signal strength. 4. Monitoring the charging status and charge level of the battery. 5. Reading, writing and searching phone book entries.
16

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

The number of SMS messages that can be processed by a GSM modem per minute is very low -- only about six to ten SMS messages per minute. 3.2.3.1 AT Commands AT commands are instructions used to control a modem. AT is the abbreviation of Attention. Every command l i n e starts with AT or at". Thats why m odem

commands are called AT commands. Many of the commands that are used to control wired dial- up modems, such as ATD (Dial), ATA (Answer), ATH (Hook control) and ATO (Return to online data state), are also supported by GSM/GP RS modems and mobile phones. Besides this common AT command set, GS M/GPRS modems and mobile phones support an AT command set that is specific to the GSM technology, which includes SMS-related commands like AT+CMGS (Send SMS message), AT+CMSS (Send SMS message from storage), AT+CMGL (List SMS messages) and AT+CMGR (Read SMS messages). Note that the starting "AT" is the prefix that informs the modem about the start of a command line. It is not part of the AT command name. For example, D is the actual AT command name in ATD and +CMGS is the actual AT command name in AT+CMGS. However, some books and web sites use them interchangeably as the name of an AT command. Here are some of the tasks that can be done using AT commands with a GS M/GPRS modem or mobile phone: 1. Get basic information about the mobile phone or GS M/GPRS modem. For example, name of manufacturer (AT+CGMI), model number (AT+CGMM), IMEI number (International Mobile Equipment Identity) (AT+CGSN) and software version (AT+CGMR). 2. Get basic information about the and IMSI number subscriber. For example Subscriber MSISDN Identity)

(AT+CNUM) (AT+CIMI).

(International Mobile

3. Get the current status of the mobile phone or GSM/GP RS modem. For example, mobile phone activity status
17

(AT+CPAS),

mobile network Dept. of E&C, PCE

registration status (AT+CREG), radio signal strength (AT+CSQ), battery charge level

SMS BASED VOTING MACHINE and battery charging status (AT+C BC). 4. Establish a data connection or voice connection to a remote modem (ATD, ATA, etc.). 5. Send and receive fax (ATD, ATA, AT+F*). 6. Send (AT+CMGS, AT+CMSS), read (AT+CMGR, AT+CMGL), write

(AT+CMGW) or delete (AT+CMGD) SMS messages and obtain notifications of newly received SMS messages (AT+CNMI). 7. Read (AT+CP BR), write (AT+CPBW) or search (AT+CPBF) phonebook entries. 8. Perform security-related t a s k s , s u c h as opening or c l os i n g facility l o c k s (AT+CLCK), checking whether a facility is locked (AT+CLCK) and changing passwords (AT+CPWD). (Facility lock examples: SIM lock [a password must be given to the SIM card every time the mobile phone is switched on] and P H-SIM lock [a certain SIM card is associated with the mobile phone. To use other S IM cards with the mobile phone, a password must be entered.]) 9. Control the presentation of result codes / error messages of AT commands. For example, you can control whether to enable certain error messages (AT+CMEE) and whether error messages should be displayed in numeric format or verbose format (AT+CMEE=1 or AT+CMEE=2). 10. Get or change the configurations of the mobile phone or GSM/GPRS modem. For example, change the GSM network (AT+COPS), bearer service type (AT+CBS T), radio link protocol parameters (AT+CRLP), SMS center address (AT+CSCA) and storage of SMS messages (AT+CPMS). 11. Save and restore configurations of the mobile phone or GSM/GP RS modem. For example, save (AT+CSAS) and restore (AT+CRES) settings related to SMS messaging such as the SMS center address. Note that mobile phone manufacturers usually do not implement all AT commands, command parameters and parameter values in their mobile phones. Also, the behaviour of the implemented AT commands may be different from that defined in the standard. In general, GSM/GPRS m o d e m s designed f o r wireless applications have better support of AT commands than ordinary mobile phones. In addition, some AT commands require the support of mobile network operators. For example, SMS over GP RS can be enabled on some GP RS mobile phones and GPRS
18

Dept. of E&C, PCE

SMS BASED VOTING MACHINE modems with the +CGSMS command (command name in text: Select Service for MO SMS Messages). But if the mobile network operator does not support the transmission of SMS over GP RS, you cannot use this features .There are two types of AT commands: basic commands and extended commands. Basic commands are AT commands that do not start with "+". For example, D (Dial), A (Answer), H (Hook control) and O (Return to online data state) are basic commands. Extended commands are AT commands that start with "+". All GSM AT commands are extended commands. For example, +CMGS (Send SMS message), +CMSS (Send SMS message from storage), +CMGL (List SMS messages) and +CMGR (Read SMS messages) are extended commands. 3.2.3.2 General Syntax of Extended AT Commands The general syntax of extended AT commands is straightforward. The syntax rules are provided below. The syntax of basic AT commands is slightly different. We will not cover the syntax of basic AT commands in this SMS tutorial since all SMS messaging commands are extended AT commands. Syntax rule 1. All command lines must start with "AT" and end with a carriage return character. (We will use <C R> to represent a carriage return character in this SMS tutorial.) In a terminal program like HyperTerminal of Microsoft Windows, you can press the Enter key on the keyboard to output a carriage return character. Example: To list all unread inbound SMS messages stored in the message storage area, type "AT", then the extended AT command "+CMGL", and finally a carriage return character, like this: AT+CMGL<CR> Syntax rule 2. A command line can contain more than one AT command. Only the first AT command should be prefixed with "AT". AT commands in the same command- line string should be separated with semicolons. Example: To list all unread inbound SMS messages stored in the message storage area and obtain the manufacturer name of the mobile device, type "AT", then the extended AT command "+CMGL", followed by a semicolon and the next extended AT

command "+CGMI": AT+CMGL; +CGMI<CR>


19

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

An error will occur if both AT commands are prefixed with "AT", like this: AT+CMGL; AT+C GMI<CR> Syntax rule 3. A string is enclosed between double quotes. Example: To read all SMS messages from message storage in SMS text mode (at this time you do not need to know what SMS text mode is. More information will be provided later in this SMS tutorial), you need to assign the string "ALL" to the extended AT command +CMGL, like this: AT+CMGL="ALL"<CR> Syntax rule 4. Information responses and result codes (including both final result codes and unsolicited result codes) always start and end with a carriage return character and a linefeed character. Example: After sending the command line "AT+CGMI<CR>to the mobile device, the mobile device should return a response similar to this: The first line is the information response of the AT command +CGMI and the second line is the final result code. <C R> and <LF> represent a carriage return character and a line feed character respectively. The final results c o d e "OK marks the end of the response. It indicates no more data will be sent from the mobile device to the computer / PC. When a terminal program such as HyperTerminal of Microsoft Windows sees a carriage return character, it moves the cursor to the beginning of the current line. When it sees a linefeed character, it moves the cursor to the same position on the next line. Hence, the command line "AT+CGMI<CR> " that you entered and the

corresponding response will be displayed like this in a terminal program such as HyperTerminal of Microsoft Windows: AT+C GMI Nokia OK 3.2.3.3 Information Response and Final Result Code Don't forget the meanings of information response and final result code stated above, since you will see these two terms frequently as you go through this SMS tutorial. 20 Dept. of E&C, PCE

SMS BASED VOTING MACHINE Result codes of AT commands: Result codes are messages sent from the GSM/GP RS modem or mobile phone to provide you information about the execution of an AT command and the occurrence of an event. Two types of result codes are useful to you when dealing with AT commands for SMS messaging: Final result codes Unsolicited result codes

Final Result Codes of AT Commands: A final result code marks the end of an AT command response. It is an indication that the GSM/GP RS modem or mobile phone has finished the execution of a command line. Two frequently used final result codes are OK and ERRO R. Only one final result code will be returned for each command line. Thus, you will not see both OK and ERROR in the response of a command line.

The OK Final Result Code: The OK final result code indicates that a command line has been executed successfully by the GSM/GP RS modem or mobile phone. It always starts and ends with a carriage return character and a linefeed character. Here is an example for illustration. Let's say you send the command line "AT+CMGL; +CGMI<C R>to your GSM/GPRS modem. The AT c o m m a n d "+CMGL" is

used to list SMS messages stored in the message storage area and the AT command +CGMI" is used to get the manufacturer name of the GS M/GPRS modem. If everything works properly without any errors, the command line, together with the response returned, should be something similar to this: AT+CMGL; +CGMI<CR> <CR><LF> +CMGL: 1,"REC UNREAD","+85291234567", 06/11/11, 00:30:29+32"<C R><LF>Welcome to our SMS tutorial. <CR><LF> <CR><LF> Nokia

<CR><LF><CR><LF>OK<CR><LF> As mentioned earlier, when a terminal program such as HyperTerminal of Microsoft Windows sees a carriage return character, it moves the cursor to the beginning of the current line. When it sees a linefeed character, it moves the cursor to the same position on the next line. Hence, the command line you entered, together with the response returned, will be displayed like this in a terminal program such as HyperTerminal of Microsoft Windows : AT+CMGL; +CGMI
21

Dept. of E&C, PCE

SMS BASED VOTING MACHINE +CMGL: 1,"REC UNREAD","+7568501753", 06/11/11, 00:30:29+32" Welcome to our SMS tutoria l. Nokia OK 3.2.3.4 SMS Tutorial In general, there are two ways to send SMS messages from a computer / PC to a mobile phone: 1. Connect a mobile phone or GSM/GPRS modem to a computer / PC. Then use the

computer / PC and AT commands to instruct the mobile phone or GSM/GPRS modem to send SMS messages. 2. Connect the computer / PC to the SMS center (SMSC) or SMS gateway of a wireless carrier or SMS service provider. Then send SMS messages using a protocol / interface supported by the S MSC or SMS gateway. 3.2.3.5 The 1st Way: Sending S MS Messages from a Computer Using a Mobile P hone or GSM/GP RS Modem The SMS specification has defined a way for a computer to send SMS messages through a mobile phone or GS M/GPRS modem. A GSM/GP RS modem is a wireless modem that works with GS M/GPRS wireless networks. A wireless modem is similar to a dial-up modem. The main difference is that a wireless modem transmits data through a wireless network whereas a dial-up modem transmits data through a copper telephone line. Most mobile phones can be used as a wireless modem. However, some mobile phones have certain limitations comparing to GSM/GPRS modems. To send SMS messages, first place a valid SIM card from a wireless carrier into a mobile phone or GSM/GP RS modem, which is then connected to a computer. There are several ways to connect a mobile phone or GSM/GP RS modem to a computer. For example, they can be connected through a serial cable, a USB cable, a Bluetooth link or an infrared link. The actual way to use depends on the capability of the mobile phone or GSM/GP RS modem. For example, if a mobile phone does not support Bluetooth, it cannot connect to the computer through a Bluetooth link. After connecting a mobile phone or GSM/GP RS modem to a computer, you can
22

Dept. of E&C, PCE

SMS BASED VOTING MACHINE control the mobile phone or GSM/GP RS modem by sending instructions to it. The instructions used for controlling the mobile phone or GS M/GPRS modem are called AT commands. (AT commands are also used to control dial- up modems for wired telephone system.) Dial- up modems, mobile phones and GSM/GP RS modems support a common set of standard AT commands. In addition to this common set of standard AT commands, mobile phones and GSM/GP RS modems support an extended set of AT commands. One use of the extended AT commands is to control the sending and receiving of SMS messages. The following table lists the AT commands that are related to the writing and sending of SMS messages: AT command +CMGS +CMSS +CMGW +CMGD +CMGC +CMMS Table 3.4: AT Command TX Meaning Send message Send message from storage Write message to memory Delete message Send command More messages to send

One way to send AT commands to a mobile phone or GSM/GP RS modem is to use a terminal program. A terminal program's function is like this: It sends the character you typed to the mobile phone or GSM/GP RS modem. It then displays the response it receives from the mobile phone or GSM/GPRS modem on the screen. The terminal program on Microsoft Windows is called HyperTerminal. Below shows a simple example that demonstrates how to use AT commands and the HyperTerminal program of

Microsoft Windows to send an SMS text message. The lines in bold type are the command lines that should be entered in HyperTerminal. The other lines are responses returned from the GSM / GP RS modem or mobile phone.
23

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

AT OK AT+CMGF=1 OK AT+CMGW="+7568501753"> A simple demo of SMS text messaging. +CMGW: OK AT+CMSS=1 +CMSS: OK To send SMS messages from an application, you have to write the source code for connecting to and sending AT commands to the mobile phone or GS M/GPRS modem, just like what a terminal program does. You can write the source code in C, C++, Java, Visual Basic, Delphi or other programming languages you like. However, writing your own code has a few disadvantages:
1.

You have to learn how to compose the bits and bytes of an SMS message. For example, to specify the character encoding (e.g. 7-bit encoding and 16-bit Unicode encoding) of an SMS message, you need to know which bits in the message header should be modified and what value should be assigned.

2.

Sending SMS messages with a mobile phone or GSM/GP RS modem has a drawback -- the SMS transmission speed is low. As your SMS messaging application becomes more popular, it has to handle a larger amount of SMS traffic and finally the mobile phone or GSM/GPRS modem will not be able to take the load. To obtain a high SMS transmission speed, a direct connection to an SMSC or S MS gateway of a wireless carrier or S MS service provider is needed. However, AT commands are not used for communicating with an SMS center or SMS gateway. This means you have to make a big change to your SMS messaging application in order to move from a wireless- modem- based solution to a SMSC-based solution.

In most cases, instead of writing your own code for interacting with the mobile phone or GSM/GPRS modem via AT commands, a better solution is to use a high- level SMS messaging API (Application programming interface) / S DK (Software

development kit) / library. The AP I / SDK / library encapsulates the low- level details. So, an SMS application developer does not need to know AT commands and the composition of S MS messages in the bit-level. Some SMS messaging APIs / S DKs / libraries support SMSC protocols in addition to AT commands. To move from a
24

Dept. of E&C, PCE

SMS BASED VOTING MACHINE wireless- modem-based SMS solution to a SMSC-based SMS solution, usually you just need to modify a configuration file / property file or make a few changes to your SMS messaging application's source code. Another way to hide the low-level AT command layer is to place an SMS gateway between the SMS messaging application and the mobile phone or GS M/GPRS modem. (This has been described in the section "What is an SMS Gate way? earlier.) Simple protocols such as HTTP / HTTPS can then be used for sending S MS messages in the application. If an SMSC protocol (e.g. SMPP, CIMD, etc.) is used for communicating with the SMS gateway instead of HTTP / HTTPS, an SMS messaging API / S DK / library can be very helpful to you since it encapsulates the SMSC protocol's details. Usually a list of supported / unsupported mobile phones or wireless modems is provided on the web site of an SMS messaging API / SDK / library or an SMS gateway software package. Remember to check the list if you are going to use an SMS messaging API / SDK / library or an S MS gateway software package. 3.2.3.6 How to receive SMS messages using Computer/PC In general, there are three ways to receive SMS messages using your computer / PC: 1. Connect a mobile phone or GSM/GPRS modem to a computer / PC. Then use the computer / PC and AT commands to get the received SMS messages from the mobile phone or GSM/GP RS modem. 2. Get access to the SMS center (SMSC) or SMS gateway of a wireless carrier. Any SMS messages received will be forwarded to your computer / PC using a protocol / interface supported by the S MSC or SMS gateway. 3. Get access to the SMS gateway of an SMS service provider. Any SMS messages received will be forwarded to your computer / PC using a protocol / interface supported by the SMS gateway. 3.2.3.7 The 1st Way: Using a Computer to Receive SMS Messages through a Mobile Phone or GSM/GP RS Modem Receiving SMS messages through a mobile phone or GSM/GP RS modem has a major advantage over the other two ways -- wireless carriers usually do not charge any fees for receiving incoming SMS messages with their SIM cards. The disadvantage of receiving SMS messages this way is that a mobile phone or GSM/GP RS modem cannot handle
25

Dept. of E&C, PCE

SMS BASED VOTING MACHINE a large amount of SMS traffic. One way to overcome this is to load balance the S MS traffic with a pool of mobile phones or GSM/GP RS modems. Each mobile phone or GS M/GPRS modem will have its own SIM card and mobile phone number. In terms of programming, sending and receiving SMS messages through a mobile phone or GSM/GP RS modem are similar. What you need to do is to send instructions (in the form of AT commands) to the mobile phone or GSM/GP RS modem. The following table lists the AT commands that are related to the receiving and reading of SMS messages: Table 3.5: AT Command RX AT command +CNMI +CMGL +CMGR +CNMA Meaning New message indications List messages Read messages New message acknowledgement

Below shows a simple example that demonstrates how to use AT commands and the HyperTerminal program of Microsoft Windows to read SMS text messages received by a GSM / GP RS modem or mobile phone. The lines in bold type are the command lines that should be entered in HyperTerminal. The other lines are responses returned from the GSM / GP RS modem or mobile phone. AT OK AT+CMGF=1 OK AT+CMGL=" ALL" +CMGL: 1,"REC our SMS tutorial. +CMGL: 2,"REC demo of SMS OK
26

READ","+7568501753", 06/11/11, 00:30:29+32" Hello, welcome to READ","+7568501753", 06/11/11, 00:32:20+32" A simple text messaging.

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

3.2.4 LCD

Fig 3.5: LCD 16*2 An HD44780 Character LCD is a de facto industry standard liquid crystal display (LCD) display device designed for interfacing with embedded systems. These screens come in a variety of configurations including 8x1, which is one row of eight characters, 16x2, and 20x4. The most commonly manufactured configuration is 40x4 characters, which requires two individually addressable HD44780 controllers with expansion chips as the HD44780 can only address up to 80 characters. These LCD screens are limited to text only and are often used in copiers, fax machines, laser printers, industrial test equipment, networking equipment such as routers and storage devices. Character LCDs use a standard 14-pin interface and those with backlights have 16 pins. The pin outs are as follows: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Ground VCC (+3.3 to +5V) Contrast adjustment (VO) Register Select (RS). RS=0: Command, RS=1: Data Read/Write (R/W). R/W=0: Write, R/W=1: Read Clock (Enable). Falling edge triggered Bit 0 (Not used in 4-bit operation) Bit 1 (Not used in 4-bit operation) Bit 2 (Not used in 4-bit operation) Bit 3 (Not used in 4-bit operation) Bit 4 Bit 5
27

Dept. of E&C, PCE

SMS BASED VOTING MACHINE 13. 14. 15. 16. Bit 6 Bit 7 Backlight Anode (+) Backlight Cathode (-)

Character LCDs can operate in 4-bit or 8-bit mode. In 4 bit mode, pins 7 through 10 are unused and the entire byte is sent to the screen using pins 11 through 14 by sending 4-bits (nibble) at a time.

3.3 ATMEL 24C02 Flash Memory


Features
Low-voltage and Standard-voltage Operation. 2.7 (VCC = 2.7V to 5.5V) 1.8 (VCC = 1.8V to 5.5V) Internally Organized 128 x 8 (1K), 256 x 8 (2K), 512 x 8 (4K), 1024 x 8 (8K) or 2048 x 8 (16K). Two-wire Serial Interface. Schmitt Trigger, Filtered Inputs for Noise Suppression. Bidirectional Data Transfer Protocol. 100 kHz (1.8V) and 400 kHz (2.7V, 5V) Compatibility. Write Protect Pin for Hardware Data Protection. 8-byte Page (1K, 2K), 16-byte Page (4K, 8K, 16K) Write Modes. Partial Page Writes Allowed. Self-timed Write Cycle (5 ms max). High-reliability Endurance: 1 Million Write Cycles Data Retention: 100 Years Automotive Devices Available. 8-lead JEDEC PDIP, 8-lead JEDEC SOIC, 8-lead Ultra-Thin Mini-MAP (MLP 2x3), 5- Lead SOT23, 8-lead TSSOP and 8-ball dBGA2 Packages. Die Sales: Wafer Form, Waffle Pack and Bumped Wafers.

28

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

Description
The AT24C01A/02/04/08A/16A provides 1024/2048/4096/8192/16384 bits of serial electrically erasable and programmable read-only memory (EEPROM) organized as 128/256/512/1024/2048 words of 8 bits each. The device is optimized for use in many industrial and commercial applications where low-power and low-voltage operation are essential. The AT24C01A/02/04/08A/16A is available in space-saving 8-lead PDIP, 8-lead JEDEC SOIC, 8-lead Ultra-Thin Mini-MAP (MLP 2x3), 5-lead SOT23

(AT24C01A/AT24C02/AT24C04), 8-lead TSSOP, and 8-ball dBGA2 packages and is accessed via a Two-wire serial interface. In addition, the entire family is available in 2.7V (2.7V to 5.5V) and 1.8V (1.8V to 5.5V) versions.

PIN Diagram

Table 3.6: Pin configuration of ATMEL 24C02

29

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

CHAPTER 4 DATABASE

In this project the database of voting is maintained though software tool Visual basics 6.0 In this software tool there is full duplex interfacing between microcontroller, PC and GSM module.

4.1 Introductions to Visual Basics


Visual Basic is a third-generation event-driven programming language and integrated development environment (IDE) from Microsoft for its COM programming model first released in 1991. Visual Basic is designed to be relatively easy to learn and use. Visual Basic was derived from BASIC and enables the rapid application development

(RAD) of graphical user interface (GUI) applications, access to databases using Data Access Objects, Remote Data Objects, or ActiveX Data Objects, and creation of ActiveX controls and objects. VBA is effectively the same language as Visual Basic but VBA-code is tied to Microsoft Office and can only run within that environment. The scripting language VBScript is a subset of Visual Basic. A programmer can create an application using the components provided by the Visual Basic program itself. Programs written in Visual Basic can also use the Windows API, but doing so requires external function declarations. Though the program has received criticism for its perceived faults, version 3 of Visual Basic was a runaway commercial success, and many companies offered third party controls greatly extending its functionality. The final release was version 6 in 1998. Microsoft's extended support ended in March 2008 and the designated successor was Visual Basic .NET (now known simply as Visual Basic).

4.1.1 Language Features of Visual Basic 6.0


Like the BASIC programming language, Visual Basic was designed to be easily learned and used by beginner programmers. The language not only allows programmers to create simple GUI applications, but to also develop complex applications. Programming in VB is a combination of visually arranging components or controls on a form, specifying attributes
30

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

Fig 4.1: Icons for main controls in Visual Basic 6.0

and actions of those components, and writing additional lines of code for more functionality. Since default attributes and actions are defined for the components, a simple program can be created without the programmer having to write many lines of code. Performance problems were experienced by earlier versions, but with faster computers and native code compilation this has become less of an issue. Although VB programs can be compiled into native code executables from version 5 onwards, they still require the presence of runtime libraries of approximately 1 MB in size. Runtime libraries are included by default in Windows 2000and later, however for earlier versions of Windows, i.e. 95/98/NT, runtime libraries must be distributed together with the executable.

Fig 4.2: An empty form in Visual Basic 6.0 Forms are created using drag-and-drop techniques. A tool is used to place controls (e.g., text boxes, buttons, etc.) on the form (window). Controls have attributes and event
31

Dept. of E&C, PCE

SMS BASED VOTING MACHINE handlers associated with them. Default values are provided when the control is created, but may be changed by the programmer. Many attribute values can be modified during run time based on user actions or changes in the environment, providing a dynamic application. For example, code can be inserted into the form resize event handler to reposition a control so that it remains centered on the form, expands to fill up the form, etc. By inserting code into the event handler for a key press in a text box, the program can automatically translate the case of the text being entered, or even prevent certain characters from being inserted. Visual Basic can create executable (EXE files), ActiveX controls, or DLL files, but is primarily used to develop Windows applications and to interface database systems. Dialog boxes with less functionality can be used to provide pop-up capabilities. Controls provide the basic functionality of the application, while programmers can insert additional logic within the appropriate event handlers. For example, a drop-down combination box will automatically display its list and allow the user to select any element. An event handler is called when an item is selected, which can then execute additional code created by the programmer to perform some action based on which element was selected, such as populating a related list. Alternatively, a Visual Basic component can have no user interface, and instead provide ActiveX objects to other programs via Component Object Model (COM). This allows for server-side processing or an add-in module. The runtime recovers unused memory using reference counting which depends on variables passing out of scope or being set to "Nothing", resulting in the very common problem of memory leaks. There is a large library of utility objects, and the language provides basic object oriented support. Unlike many other programming languages, Visual Basic is generally not case sensitive, although it will transform keywords into a standard case configuration and force the case of variable names to conform to the case of the entry within the symbol table. String comparisons are case sensitive by default. The Visual Basic compiler is shared with other Visual Studio languages (C, C++), but restrictions in the IDE do not allow the creation of some targets (Windows model DLLs) and threading models.

32

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

4.2 Characteristics of Visual Basic 6.0


Visual Basic has the following traits which differ from C-derived languages:

Statements tend to be terminated with keywords such as "End If", instead of using "{}"s to group statements.

Multiple variable assignments are not possible. A = B = C does not imply that the values of A, B and C are equal. The Boolean result of "Is B = C?" is stored in A. The result stored in A would therefore be either false or true. Boolean constant True has numeric value 1. This is because the Boolean data type is stored as a 16-bit signed integer. In this construct 1 evaluates to 16 binary 1s (the Boolean value True), and 0 as 16 0s (the Boolean value False). This is apparent when performing a Not operation on a 16 bit signed integer value 0 which will return the integer value 1, in other words True = Not False. This inherent functionality becomes especially useful when performing logical operations on the individual bits of an integer such as And, Or, Xor and Not. This definition of True is also consistent with BASIC since the early 1970s Microsoft BASIC implementation and is also related to the characteristics of CPU instructions at the time.

Logical and bitwise operators are unified. This is unlike some C-derived languages (such as Perl), which have separate logical and bitwise operators. This again is a traditional feature of BASIC.

Variable array base. Arrays are declared by specifying the upper and lower bounds in a way similar to Pascal and FORTRAN. It is also possible to use the Option Base statement to set the default lower bound. Use of the Option Base statement can lead to confusion when reading Visual Basic code and is best avoided by always explicitly specifying the lower bound of the array. This lower bound is not limited to 0 or 1, because it can also be set by declaration. In this way, both the lower and upper bounds are programmable. In more subscript-limited languages, the lower bound of the array is not variable. This uncommon trait does exist in Visual Basic .NET but not in VBScript. OPTION BASE was introduced by ANSI, with the standard for ANSI Minimal BASIC in the late 1970s.

33

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

Relatively

strong

integration

with

the Windows

operating

system and

the Component Object Model. The native types for strings and arrays are the dedicated COM types, BSTR and SAFEARRAY.

Banker's rounding as the default behaviour when converting real numbers to integers with the Round function.[7] ? Round (2.5, 0) gives 2,? Round(3.5, 0) gives 4. Integers are automatically promoted to reals in expressions involving the normal division operator (/) so that division of one integer by another produces the intuitively correct result. There is a specific integer divide operator (\) which does truncate.

By default, if a variable has not been declared or if no type declaration character is specified, the variable is of type Variant. However this can be changed with Deftype statements such as DefInt, DefBool , DefVar, DefObj, DefStr. There are

12 Deftype statements in total offered by Visual Basic 6.0. The default type may be overridden for a specific declaration by using a special suffix character on the variable name (# for Double, for Single, & for Long, % for Integer, $ for String, and @ for Currency) or using the key phrase as (type). VB can also be set in a mode that only explicitly declared variables can be used with the command Option Explicit.

With VB 6, you can create any program depending on your objective. For example, if you are a college or university lecturer, you can create educational programs to teach business, economics, engineering, computer science, accountancy, financial management, information system and more to make teaching more effective and interesting. If you are in business, you can also create business programs such as inventory management system, point-of-sale system, payroll system, financial program as well as accounting program to help manage your business and increase productivity. For those of you who like games and working as games programmer, you can create those programs as well. Indeed, there is no limit to what program you can create! There are many such programs in this tutorial, so you must spend more time on the tutorial in order to learn how to create those programs.

4.3 Project Database Features


In this project two forms are created form 1 for administration login and form 2 for main database window.
34

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

4.3.1 Form 1

Fig: 4.3: form1 Form 1 include two text windows one for user name and another for password. Two buttons are provided for ok to submit username and password and exit button for exit. If the password entered by admin is correct then only form 2 will be displayed.

4.3.2 Form 2
Form 2 is the main window of voting machine in software part for display, control and storage of database.

4.3.2.1 Form 2 description


a) GSM MODEM COMMUNICATION: This label consist two buttons Start and Stop , the Start button is for starting modem .as we click start button at commands are implemented at modem and whenever there is network available ok command is display at GSM MOEM DATA text window. The stop button is to stop the modem. b) MICROCONTROLLER COMMUNICATION: This label consist two buttons Start and Stop , the Start button is for starting microcontroller .as we click start button voting status is send to microcontroller and displayed on lcd. The stop button is to stop the controller.

35

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

Fig 4.4: Form 2 before Voting c) Voter's Detail: In this text window voting detail of user (voter) is displayed.in the details voter NAME, PHONE NO. and CHOICE is displayed. d) Erase Button: It will erase the data store in EEPROM. e) Overall Voting: It will display the overall voting status from EEPROM. f) Send Data: It will send data to EEPROM and microcontroller. g) Logout: It will save current voting status and exit from window.

36

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

Fig 4.5: Form 2 after Voting

37

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

CHAPTER 5 LAYOUT & PCB DESIGNING


5.1 Printed Circuit Board (PCB)
A printed circuit board, or PCB, is used to mechanically support and electrically connect electronic components using conductive pathways, tracks or signal

traces etched from copper sheets laminated onto a non-conductive substrate. When the board has only copper tracks and features, and no circuit elements such as capacitors, resistors or active devices have been manufactured into the actual substrate of the board, it is more correctly referred to as printed wiring board (PWB) or etched wiring board. Use of the term PWB or printed wiring board although more accurate and distinct from what would be known as a true printed circuit board, has generally fallen by the wayside for many people as the distinction between circuit and wiring has become blurred. Today printed wiring (circuit) boards are used in virtually all but the simplest commercially produced electronic devices, and allow fully automated assembly processes that were not possible or practical in earlier era tag type circuit assembly processes.

5.2 Advantages of PCB


Advantages of PCBs are: a) The circuit board fabrication cost (PCB cost) is lower with mass quantity production b) Electronic circuit characteristics will be maintained without introducing parasite capacitance with a proper circuit board design. c) Component wiring and assembly can be mechanized in a circuit board manufacturing facility. d) PCBs offer uniformity of electrical characteristics from assembly to assembly. e) The location of electronic parts is fixed and so it simplifies components identification and maintenance of equipment. f) Inspection time is reduced because printed circuitry eliminates the probability of error.

38

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

5.3 PCB Layout

Fig 5.1: Top layer

39

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

Fig 5.2: Bottom layer

40

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

CHAPTER 6 SOFTWARE & HARDWARE TOOL


6.1 Software Tools:
6.1.1 Keil Uvision 4.0
Keil Software is used provide you with software development tools for 8051 based microcontrollers. With the Keil tools, you can generate embedded applications for virtually every 8051 derivative. The supported microcontrollers are listed in the - vision

6.1.2 Proteus Professional V7.6


Proteus is software f o r microprocessor simulation, schematic capture, and printed circuit board (PCB) design. It is developed by Lab center Electronics. The X Game Station Micro Edition was designed using Lab centers Proteus schematic entry and PCB layout tools.

6.1.3 Programming language


The programming language used in this project is C language.

6.2 Hardware Tools:


DB 9 Connector: The DB9 (originally DE-9) connector is an analog 9-pin plug of the DSub miniature connector family (D-Sub or Sub-D).The DB9 connector is mainly used for serial connections, allowing for the asynchronous transmission of data as provided for by standard RS-232 (RS-232C).

Fig 6.1:DB9 Connector Note that there are DB9-DB25 adapters for easily converting a DB9 plug into a DB25, and vice versa.

41

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

CHAPTER 7 FLOW CHART AND ALGORITHMS


7.1 Flow Chart of Project

Fig 7.1: Flow Chart of Project

42

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

7.2 Algorithms of Microcontroller Programming


STEP1: INITIALIZING SYSTEM VARIABLE: PORT 1 STEP 2: INITIALIZING LCD STEP 3: DATA WRITING OF THE LCD STEP 4: CHECKING MSB BIT IS '0' OR'1' USED FOR SENDING THE BIT STEP 5: RESET IN_DATA STEP 6: PROVING DELAY FOR RECEVING SIGNALS STEP 7: RCEIVING DATA FROM PC STEP 8: SAVIN DATA IN EEPROM STEP 9: READING DATA FROM PC STEP 10: TRASMISSION DATA FROM MEMORY TO PC DATABASE

7.3 Algorithms of Visual Basic Programming


STEP1: INITIALIZING SYSTEM VARIABLE STEP 2: INITIALIZING GSM MODEM STEP 3: INITIALIZING MICROCONTROLLER STEP 4: CHECKING USERNAME AND PASSWORD IN SMS FORMAT STEP 5: UPDATING CANDIDATE CHOICE STEP 6: EXTRACTING MOBILE NUMBER NAME AND CHOICE FROM SMS STEP 7: SENDING DATA TO MICROCONTROLLER STEP 8: SAVING DATA IN MEMORY.

43

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

CHAPTER 8 ADVANTAGES & APPLICATIONS


8.1 Applications
a) The EVM system is a longtime-consuming process and very much prone to errors. b) This situation continued till election scene was completely changed by electronic voting machine.. Cell phone based voting machine is capable of saving considerable printing stationery and transport of large volumes of electoral material. c) SMS based voting system can be used in remote areas where manual voting system is difficult to implement. d) This system can be used in colleges, society and various other places for elections. e) Fast track voting which could be used in small scale elections, like resident welfare association, panchayat level election and other society level elections. f) It could also be used to conduct opinion polls during annual shareholders meeting. g) It could also be used to conduct general assembly elections where number of candidates are less than or equal to eight in the current situation. h) It is used in various TV serials as for public opinion.

8.2 Advantages
a) Democracy: All and only the authorized voters can vote, and each eligible voter can vote no more than once. Voters can also choose not to vote. b) Privacy: All votes remain secret while voting takes place and each individual vote cannot be linked by any individual or authority to the voter who casts it. c) Accuracy: The voting result accurately reflects voters Choices. In this case, no vote can be altered, duplicated or eliminated without being detected. d) Fairness: No partial result is available before the final result comes out.

44

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

CHAPTER 9 FUTURE SCOPE & LIMITATIONS


9.1 Future Scope
The system can be further modified to enhance its utility. The enhancements are: a) Number of candidates could be increased. b) It can be interfaced with printer to get the hard copy of the result almost instantly from the machine itself. c) It can also be interfaced with the personal computer and result can be stored in the central server. d) Once the result is on the server it could be relayed on the network to various offices of the election conducting authority. Thus our project can make results available at any corner of the world in a matter of seconds.

9.2 Limitations
a) Number of candidates is less. b) Major limitation is network problem. c) Less storage of data. d) Voting numbers are limited to three digits.

45

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

CHAPTER 10 CONCLUSION

We proposed a GSM mobile voting scheme, where the GSM authentication Infrastructure is used to provide voter authentication and improve voter mobility. Authentication is always a difficult requirement to fulfil for remote voting schemes, most of which apply a public-key based signature scheme for voter authentication. In our scheme, by using the existing GSM authentication infrastructure, the public-key overhead is largely reduced. Our scheme also enhances the security and provides more mobility and convenience to voters. Where the voters privacy is protected by applying a blind signature scheme. In this report, we presented the basic structure and protocol of our GSM based mobile voting system.

46

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

REFERENCES / BIBLIOGRAPHY
Muhammad Ali Mazidi , Janice Gillispie Mazidi, Rolin D. Mckinlay. Second edition, THE 8051 MICROCONTROLLER AND EMBEDDED SYSTEM K. J. Ayala. Third edition, The 8051 MICROCONTROLLER Tutorial on microcontroller: www.8051projects.net/microcontroller_tutorials/ Tutorial on LCD: www.8051projects.net/lcd-interfacing/

WEBSITES www.atmel.com www.howstuffworks.com www.alldatasheets.com www.efyprojects.com www.google.com

47

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

APPENDICES / ANNEXURE

A.1 Electronic Component Cost


SR.NO COMPONENT NAME REFRENCE NUMBER QUANTITY RATE PER UNIT AMOUNT

1. 2. 3. 4. 5.

MICROCONTROLLER AT89S52 GSM MODULE MAX232 REGULATOR IC LED SIM 300 16PIN LM7805 RED GREEN

1 1 2 1
1 1

55.00 3000.0 20.00 7.00


2.00

55.00 3000.0 40.00 7.00


4.00

6. 7.

COPPERCLADE PCB CAPACITOR

2 10F,16V 22pF 2 2 1 1
1 2

35.00 1.50 1.50 7.00 4.00


10.00 231.0

70.00 3 3 7.00 4.00


150.00 464.0

8. 9. 10. 11.

CRYSTAL OSSCILLATOR IC BASE SOLDERING WIRE DB9 CONNECTOR

11.0592MHZ

40 PIN 15METER 9 PIN

48

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

12.

RESISTERS

10K 1K 220 310K

1 1 1 1 1 1 1 1

1.00 1.00 1.00 1.00 21.00 8.00 38.00 45.00 TOTAL:

4.00

13. 14. 15. 16.

EEPROM TRANSISTOR BATTERY TRANSFORMER

24C02 2N3904 +9V +12V

21.00 8.00 38.00 45.00 3923/-

A.2 Mechanical Structure Cost


SR.NO CARDBOARD SHEET FEVICOL SIM AIRTEL THERMOCOL SHEET CELLO TAPE & COLOUR TAPE Total AMOUNT

1. 2. 3. 4. 5.

55.00 20.00 60.0 25.0 40.00 200/-

Total cost of project (Electronic + Mechanical components) =4123/-

49

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

A.3 Microcontroller Coding


#include<reg52.h> char msg[10],notice[96]; sfr lcddata=0x90; //p1 port sbit rs=P3^7; sbit rw=P3^6; sbit en=P3^5; sbit SDA=P2^1; sbit SCL=P2^0; //initializing flash memory 24c02 // header file of microcontroller

void delay(unsigned int a) { unsigned int i,j; for(i=0;i<a;i++) for(j=0;j<1275;j++); } void delay2(unsigned int a) { unsigned int i,j; for(i=0;i<a;i++) for(j=0;j<1;j++); } // delay 2 //delay 1

void command(unsigned char d) { lcddata=d;

// lcd commands

50

Dept. of E&C, PCE

SMS BASED VOTING MACHINE en=1; rs=0; rw=0; delay(2); en=0; } void lcd(unsigned char word) { lcddata=word; en=1; rs=1; rw=0; delay(2); en=0; } //Data writing of the Lcd //initialise of the LCD

void displaydata(unsigned char *word) { unsigned char x; for(x=0;word[x]!=0;x++) { lcd(word[x]); } } //Data writing of the LCD

51

Dept. of E&C, PCE

SMS BASED VOTING MACHINE void I2c_start()

{ SDA = 1;delay(1); SCL = 1;delay(1); SDA = 0;delay(1); SCL = 0;delay(1); } //starting of data writing in memory

void I2c_stop() { SCL = 0;delay(1); SDA = 0;delay(1); SCL = 1;delay(1); SDA = 1;delay(1); } void I2c_write(unsigned char a) { unsigned char i; for(i=0;i<8;i++) { SDA = ((a & 0x80)? 1:0 ); a <<=1; SCL = 1; delay(1) ; SCL = 0; delay(1) ; }
52

//stopping of data writing in memory

//initializing of variables for memory

//checking MSB bit is '0' or'1' //used for sending the bit

Dept. of E&C, PCE

SMS BASED VOTING MACHINE SCL = 1; delay(1); SCL = 0; } void write(unsigned char add,unsigned char val) { I2c_start(); delay(1); //reading from memory

I2c_write(0xA0);delay(1); I2c_write(add); delay(1); //writting in memory

I2c_write(val);delay(1); I2c_stop(); } unsigned char I2c_read() { unsigned char i,val; val = 0x00; for(i=0;i<8;i++) { val <<= 1; SCL = 1; val= val | SDA; delay2(1) ; SCL =0; delay2(1) ; } return (val); }
53

//Reset in_data

//reading from memory

Dept. of E&C, PCE

SMS BASED VOTING MACHINE unsigned char read(unsigned char add) { unsigned char val; I2c_start(); I2c_write(0xA0); I2c_write(add); I2c_start(); I2c_write(0xA1); val = I2c_read(); I2c_stop(); return (val) ; } delay2(1); delay2(1); delay2(1); delay2(1); delay2(1); delay2(1); //increment in value of candidate //writting in memory //calling of member functions

void main() { char x1,limit,num1,num,add,i,var,x; char records='0'; command(0x38); command(0x0C); SCON=0x50; TMOD=0x20; TH1=0xFD; main1: command(0x01); command(0x80); displaydata("Waiting 4 DATA");

//main funtion

//initializing of variable

//initializing of lcd //initializing of timer

//lcd display for waiting data from PC

main:
54

Dept. of E&C, PCE

SMS BASED VOTING MACHINE num=0; while(1) { TR1=1; RI=0; while(1) { while(RI==0); msg[num]=SBUF; num++; if(msg[num-1]=='E') goto proceed; if(msg[num-1]=='B') goto proceed2; if(msg[num-1]=='N') goto proceed3; RI=0; } proceed3: command(0x01); command(0x80); displaydata("NEW DATABASE"); write(0,'0'); goto main1; proceed: TR1=1; RI=0;
55

//initializing of serial register

//E command for saving data

//B command to show overall voting

//N command for erase data

//lcd command to dispaly NEW DATABASE//

Dept. of E&C, PCE

SMS BASED VOTING MACHINE while(1) { while(RI==0); x1=SBUF; if(limit==1) notice[num1]=x1; if(x1=='#') break; num1++; if(x1=='*') { limit=1; num1=0; } RI=0; } if(notice[0]=='S') { command(0x01); command(0x80); displaydata("SAVING DATABASE"); records=read(0); records++; write(0,records); if(records=='1') add=1; if(records=='2')
56

//loop for reading data data from port

//s command to save data

//lcd command to display

Dept. of E&C, PCE

SMS BASED VOTING MACHINE add=9; if(records=='3') add=17; if(records=='4') add=25; if(records=='5') add=33; for(i=0;i<8;i++) { write(add+i,notice[i+1]); } // variable for calculating candidate votes

command(0xc0); displaydata("SAVED"); delay(200); } command(0x01); command(0x80); displaydata("A B C D "); command(0xC0); lcd(notice[1]); lcd(notice[2]); lcd(' '); lcd(notice[3]); lcd(notice[4]); lcd(' '); lcd(notice[5]);
57

//lcd command for display

//lcd command for display

Dept. of E&C, PCE

SMS BASED VOTING MACHINE lcd(notice[6]); lcd(' '); lcd(notice[7]); lcd(notice[8]); delay(100); goto main; proceed2: command(0x01); command(0x80); displaydata("READING DATA &"); command(0xc0); displaydata("TRANSMITTING...."); var=read(0); x=var-'0'; x=x*8; for(i=0;i<x;i++) { TI=0; SBUF=read(i+1); while(TI==0); } TI=0; SBUF='Z'; while(TI==0); command(0x01); command(0x80); displaydata("SENT");
58

//lcd command for display votes

//delay // go to main function

//lcd command for display

//lcd command for display

//incrementing votes

//lcd command for display

Dept. of E&C, PCE

SMS BASED VOTING MACHINE delay(100); goto main1; } }

A.4 Visual Basic (Database) Coding


A.4.1 FORM 1 Private Sub Command1_Click() If Text1.Text = "a" And Text2.Text = "a" Then Form1.Hide Form2.Show Else MsgBox ("wrong user/pASSWORD") End If End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Form1.Hide Form2.Show End Sub A.4.1 FORM 2 Dim c1, c2, c3, c4, choice, start, num As Integer Dim NONAME As Boolean Dim Number1, Name1, choice1, c, PASSWORD As String //intitilizing system variable //exit //message box //form 1 //for user name a //for password a

//hiding form1 //showing form2

59

Dept. of E&C, PCE

SMS BASED VOTING MACHINE Private Sub Command1_Click() If MSComm2.PortOpen = False Then MSComm2.PortOpen = True End If MSComm2.Output = "AT+CMGD=1" & vbCrLf Sleep (100) //reading gsm command in inbox //open port 2

MSComm2.Output = "AT+CMGF=1" & vbCrLf End Sub Private Sub Command10_Click() start = InStr(Text6.Text, "+91") Text9.Text = Mid$(Text6.Text, start, 13) End Sub Private Sub Command2_Click() Timer1.Enabled = False Timer2.Enabled = False MSComm2.PortOpen = False End Sub Private Sub Command3_Click() Command8.Enabled = False Check1.Enabled = False MSComm1.PortOpen = False End Sub Private Sub Command4_Click() Command8.Enabled = True Check1.Enabled = True If MSComm1.PortOpen = False Then MSComm1.PortOpen = True
60

//extracting text from inbox

//enable timmer 1

//stoping port 2

//enabling command 8

//checking port for active

Dept. of E&C, PCE

SMS BASED VOTING MACHINE End If End Sub Private Sub Command5_Click() If c1 < 10 Then m1 = "0" Else m1 = "" End If If c2 < 10 Then m2 = "0" Else m2 = "" End If If c3 < 10 Then m3 = "0" Else m3 = "" End If If c4 < 10 Then m4 = "0" Else m4 = "" End If MSComm1.Output = "E*S" & m1 & c1 & m2 & c2 & m3 & c3 & m4 & c4 & "#" MsgBox "Data Sent to Microcontroller" Form2.Hide Form1.Show
61

//candidate 1 variable

//candidate 2 variable

//candidate 3 variable

//candidate 4 variable

//message box for data send in uc

Dept. of E&C, PCE

SMS BASED VOTING MACHINE End Sub Private Sub Command6_Click() MSComm1.Output = "B" End Sub Private Sub Command7_Click() MSComm1.Output = "N" End Sub Private Sub Command9_Click() 'MSComm2.Output = "AT+CMGF=1" & vbCrLf 'MSComm2.Output = "AT+CMGR=1" & vbCrLf Timer1.Enabled = True End Sub Private Sub Command8_Click() If c1 < 10 Then m1 = "0" Else m1 = "" End If If c2 < 10 Then m2 = "0" Else m2 = "" End If If c3 < 10 Then m3 = "0" Else m3 = ""
62

//port for overall voting data

//port open for erase of data

//gsm commands received

Dept. of E&C, PCE

SMS BASED VOTING MACHINE End If If c4 < 10 Then m4 = "0" Else m4 = "" End If

MSComm1.Output = "E*w" & m1 & c1 & m2 & c2 & m3 & c3 & m4 & c4 & "#" MsgBox "Data Sent to Microcontroller" End Sub Private Sub Form_Load() c1 = 0 c2 = 0 c3 = 0 c4 = 0 Command8.Enabled = False Check1.Enabled = False Timer1.Enabled = False Timer2.Enabled = False num = 0 NONAME = False End Sub Private Sub MSComm1_OnComm() If (MSComm1.CommEvent = comEvReceive) Then c = MSComm1.Input Text7.Text = Text7.Text & c End If
63

//message box for data send in uc

// port 1 open data send to controller

Dept. of E&C, PCE

SMS BASED VOTING MACHINE If InStr(Text7.Text, "Z") > 0 Then Text8.Text = "OVERALL VOTING STATUS:" & vbCrLf & "DAY : A - B - C - D" & vbCrLf a = (Len(Text7.Text) - 2) / 8 x=1 For i = 0 To a Text8.Text = Text8.Text & "DAY" & (i + 1) & ": " & Mid$(Text7.Text, x, 2) Text8.Text = Text8.Text & "- " & Mid$(Text7.Text, x + 2, 2) Text8.Text = Text8.Text & "- " & Mid$(Text7.Text, x + 4, 2) Text8.Text = Text8.Text & "- " & Mid$(Text7.Text, x + 6, 2) & vbCrLf x=x+8 Next Text7.Text = "" End If End Sub Private Sub MSComm2_OnComm() If (MSComm2.CommEvent = comEvReceive) Then c = MSComm2.Input Text6.Text = Text6.Text & c End If If InStr(Text6.Text, "CMTI") > 0 Then Timer1.Enabled = True End If End Sub Private Sub Timer1_Timer() Text6.Text = "" MSComm2.Output = "AT+CMGR=1" & vbCrLf
64

//extractind text from gsm commands

//command button for receiving data from gsm port

Dept. of E&C, PCE

SMS BASED VOTING MACHINE Timer1.Enabled = False Timer2.Enabled = True End Sub Private Sub Timer2_Timer() start = InStr(Text6.Text, "+91") Number1 = Mid(Text6.Text, (start + 3), 10) If InStr(Text6.Text, "VOTE") > 0 Then start = InStr(Text6.Text, "VOTE") choice1 = Mid(Text6.Text, (start + 4), 1) start = InStr(Text6.Text, "PASS") PASSWORD = Mid(Text6.Text, (start + 4), 4) findname If NONAME = True Then GoTo proceed End If If InStr(Text1.Text, Number1) = 0 Then Text1.Text = Text1.Text & Number1 & "---" & Name1 & "---" & choice1 & vbNewLine choice = Val(choice1) If choice = 1 Then c1 = c1 + 1 ElseIf choice = 2 Then c2 = c2 + 1 ElseIf choice = 3 Then c3 = c3 + 1 ElseIf choice = 4 Then c4 = c4 + 1 End If
65

//extractind text from gsm commands

//extractind text from gsm commands

//variable for candidate voting

Dept. of E&C, PCE

SMS BASED VOTING MACHINE If c1 > c2 And c1 > c3 And c1 > c4 Then Label8.Caption = " 1" ElseIf c2 > c1 And c2 > c3 And c2 > c4 Then Label8.Caption = " 2" ElseIf c3 > c1 And c3 > c2 And c3 > c4 Then Label8.Caption = " 3" ElseIf c4 > c1 And c4 > c2 And c4 > c3 Then Label8.Caption = " 4" Else Label8.Caption = " -" End If Text2.Text = c1 Text3.Text = c2 Text4.Text = c3 Text5.Text = c4 MSComm2.Output = "AT+CMGS=" & Chr(34) & Number1 & Chr(34) & vbCrLf Sleep (200) MSComm2.Output = "YOUR VOTING IS SUCCESSFUL. THANK YOU." & Chr(26) If (Check1 = vbChecked) Then '''''''''''''''' If c1 < 10 Then m1 = "0" Else m1 = "" End If If c2 < 10 Then m2 = "0"
66

//maximum votes calculation

//maximum votes calculation

//variable for candidate voting

Dept. of E&C, PCE

SMS BASED VOTING MACHINE Else m2 = "" End If If c3 < 10 Then m3 = "0" Else m3 = "" End If If c4 < 10 Then m4 = "0" Else m4 = "" End If //data send to flash memory //variable for candidate voting //variable for candidate voting

MSComm1.Output = "E*w" & m1 & c1 & m2 & c2 & m3 & c3 & m4 & c4 & "#" 'MsgBox "Data Sent to Microcontroller" 'MsgBox "Data Sent to Microcontroller" End If Else //sms send for voying done

MSComm2.Output = "AT+CMGS=" & Chr(34) & Number1 & Chr(34) & vbCrLf Sleep (200) MSComm2.Output = "YOUR VOTING IS ALREADY DONE. VOTING ONCE IS ONLY PERMITTED." & Chr(26) End If proceed: Text6.Text = ""
67

Dept. of E&C, PCE

SMS BASED VOTING MACHINE End If MSComm2.Output = "AT+CMGD=1" & vbCrLf Timer2.Enabled = False End Sub Public Sub findname() If Number1 = "7568501753" And PASSWORD = "0000" Then Name1 = "Mr. RAHUL" ElseIf Number1 = "8963040102" And PASSWORD = "1111" Then Name1 = "Mr. VIJAY" ElseIf Number1 = "8963040102" And PASSWORD = "2222" Then Name1 = "Mr. VIJAY" ElseIf Number1 = "8963040102" And PASSWORD = "3333" Then Name1 = "Mr. VIJAY" ElseIf Number1 = "8963040102" And PASSWORD = "4444" Then Name1 = "Mr. VIJAY" Else MSComm2.Output = "AT+CMGS=" & Chr(34) & Number1 & Chr(34) & vbCrLf Sleep (200) MSComm2.Output = "YOUR VOTING IS UNSUCCESSFUL. Mobile Number/Password Verification Error." & Chr(26) NONAME = True End If End Sub //password verification

68

Dept. of E&C, PCE

SMS BASED VOTING MACHINE

A.5 HEX File Coding


:1001B70057616974696E6720342044415441004E89 :1001C7004557204441544142415345005341564904 :1001D7004E472044415441424153450053415645FF :1001E7004400412020422020432020442020005268 :1001F700454144494E47204441544120260054522A :10020700414E534D495454494E472E2E2E2E0053DE :04021700454E5400FC :0602C400D2A07F017E00C4 :1002CA00E4FDFCC3ED9FEC9E5015E4FBFA0BBB006A :0F02DA00010ABA04F8BBFBF50DBD00010C80E46E :0102E90022F2 :070276001203837F017E00EB :10027D00E4FDFCC3ED9FEC9E5015E4FBFA0BBB00B7 :0F028D00010AEB64014A70F50DBD00010C80E41D :01029C00223F :070353007F0112035A7F80B5 :10035A008F90D2B5C2B7C2B67F027E001202CAC25D :02036A00B522BA :05036C001203717F2067 :100371008F90D2B5D2B7C2B67F027E001202CAC236 :02038100B522A3 :06030F008B788A79897ADF :10031500E4F57BAB78AA79A97A857B82758300128F :0C0325000249FF6007120371057B80E7AE :0103310022A9
69

Dept. of E&C, PCE

SMS BASED VOTING MACHINE :10038300D2A11202C6D2A01202CAC2A11202CAC2CA :04039300A00202CAF8 :10039700C2A01202C6C2A11202CAD2A01202CAD2B7 :0403A700A10202CAE3 :02029D008F7A56 :10029F00E4F9E57A30E703D38001C392A1E57A252B :1002AF00E0F57A1202C4C2A01202CA09B908E31219 :0402BF0002C4C2A013 :0102C3002218 :1002EA008F788D791203831202C67FA012029D12A3 :1002FA0002C6AF7812029D1202C6AF7912029D128F :05030A0002C60203978A :10033200E4F579F9E57925E0F579D2A0A2A1E433D3 :100342004279120279C2A012027D09B908E6AF7998 :010352002288 :02021B008F78DA :10021D001202767FA012029D120279AF7812029D12 :10022D001202791202767FA112029D120279120337 :0B023D0032A907120279120397AF01EB :010248002293 :100003007577307F3812035A7F0C12035A75985054 :10001300758920758DFD1203537BFF7A0179B71221 :10002300030FE4FFD28EC2983098FD74682FF8A6B0 :10003300990F74672FF8E6FE64456026EE644270FC :100043000302014DEE644E6004C29880DB12035339 :100053007BFF7A0179C612030F7D30E4FF1202EAB7 :1000630080B4D28EC2983098FDAF99E572B401077F
70

Dept. of E&C, PCE

SMS BASED VOTING MACHINE :1000730074082573F8A607EF6423600F0573BF2A7E :1000830006757201E4F573C29880DBE5086453706A :10009300761203537BFF7A0179D312030FE4FF1225 :1000A300021B8F770577AD77E4FF1202EAE577B499 :1000B3003103757401E577B43203757409E577B4D8 :1000C3003303757411E577B43403757419E577B4A4 :1000D3003503757421E4F575E5742575FF740925F9 :1000E30075F8E6FD1202EA0575C3E5756480948828 :1000F30040E67FC012035A7BFF7A0179E312030FB4 :100103007FC87E001202CA1203537BFF7A0179E98A :1001130012030F7FC012035AAF09120371AF0A1201 :10012300036CAF0B120371AF0C12036CAF0D120310 :1001330071AF0E12036CAF0F120371AF1012037184 :100143007F647E001202CA0200251203537BFF7AEA :100153000179F612030F7FC012035A7BFF7A0279EB :100163000512030FE4FF12021BEF24D0F57675F09E :1001730008A4F576E4F575C3E5766480F8E575645F :1001830080985012C299E57504FF12021B8F9930B3 :1001930099FD057580E1C29975995A3099FD12034D :1001A300537BFF7A02791612030F7F647E001202DB :0401B300CA02001963 :030000000203AB4D :0C03AB00787FE4F6D8FD75817B0200032A :10024900BB010CE58229F582E5833AF583E022506A :1002590006E92582F8E622BBFE06E92582F8E222B4 :0D026900E58229F582E5833AF583E49322CE :00000001FF
71

Dept. of E&C, PCE

You might also like