Hi friends !
Here I am showing a microcontroller based project called the “GSM Based Voting System“. Using this system you can ask your users to vote for any of the four options. Four available options are identified by a letters ‘A’, ‘B’, ‘C’ and ‘D’. User can vote for any option by sending a text message to the mobile number.
For example if you want to create a poll like this.
Which is your favorite phone brand?
So your user can vote for any of the four brands by sending a message like this
where x is the choice he/she wish to vote for. For example if they want to vote for Nokia, then they should send a message like this :
The number of vote received for each option is shown in real time on the LCD Module. The votes are stored in the internal EEPROM of the AVR so they are not lost on power failures. That means even if you switch off the device and switch it on after few days (or few years!) it will remember the votes !
Schematic for the Project
The project is based around AVR ATmega32 microcontroller which is connected to a 16×2 LCD Module and a SIM300 GSM Module. We have used xBoard 2.0 development board to accelerate our development process. It is a ready made ATmega32 board with built in 16×2 LCD Module and many other common peripherals. So if you are working with xBoard 2.0 then you only need to connect the GSM Module. It involves connecting only three wires!
We have made the prototype using xBoard development board because it has ATmega32 core circuit, 5v power supply circuit and the LCD module.
After completing the connection, power up xBoard 2.0 using a 12v 500 ma DC adaptor. And program the board with the HEX file for the project(download available at the end of article). Then insert a SIM card in SIM300 module and power it up using a 12v 2A DC Adaptor. Restart the xBoard 2.0 using its reset button.
Here are some links for your help.
- For programming xBoard 2.0 you will need an USB AVR Programmer.
- The steps of programming are given here: http://xboard.extremeelectronics.co.in/Programming.htm
- More information on various parts of xBoard 2.0 are here: http://xboard.extremeelectronics.co.in/Know_xBoard.htm
Source Code for the Project
void Halt(); void Reply(const char *num,uint8_t stat);