Electronic Voting Machine

Autor

Dascalu Sandra - Maria

Introducere

Proiectul are ca obiectiv implementarea unui sistem electronic de votare.
Motivatia alegerii a fost eradicarea fraudarii sistemelor de vot manual.
Fiecarui candidat i se asociaza un buton prin intermediul caruia utilizatorul
ii ofera un vot care va fi afisat pe un ecran LCD.

Descriere generală

Pentru realizarea proiectului, se vor folosi numai 4 butoane corespunzand unui
numar de 4 candidati, fiind limitati de cele 16 caractere ale ecranului LCD.
Cand utilizatorul va apasa pe butonul asociat unui anumit candidat, acesta va
primi un vot, iar valoarea sa de pe LCD va fi incrementata de fiecare data.
Va exista un buton aditional la apasarea caruia se vor calcula toate voturile
si se va afisa castigatorul. Folosirea sistemului de votare presupune autentificarea
in prealabil cu ajutorul unui KeyTag identificat de catre un cititor RFID.
Odata ce utilizatorul poate folosi masina de votare, acesta dispune si de o pagina
in Internet unde se gaseste o descriere sumara a partidelor pe care le poate vota.


Schema bloc

Hardware Design

  • Arduino UNO ATMEGA 328p x2
  • LCD KeyPad Shield 16×2
  • Modul Mini Ethernet ENC28J60
  • Modul RFID RC522
  • LED monocolor x4
  • Breadboard
  • Rezistor 0.25W 1KΩ x4
  • Fire mama-mama, tata-tata, mama-tata
  • KeyTag 13.56 MHz


Schema electrica

Asocierea dintre LCD KeyPad Shield si Arduino nu s-a realizat in schema electrica, intrucat
aceste doua componente sunt fizic suprapuse.

Software Design

Bibiotecile folosite in realizarea proiectului:

  • LiquidCrystal.h - controlarea ecranului LCD
  • EtherCard.h - comunicarea cu placa de retea
  • Wire.h si SPI.h - comunicarea intre cele doua placute Arduino
  • MFRC522 - controlarea modulului RFID

Intrucat am folosit doua placute Arduino, exista doua programe care asigura
functionarea dispozitivului.

Cel asociat primei placute se ocupa de trimiterea in Internet a unei pagini in format HTML,
de configurarea ecranului LCD si de furnizarea voturilor prin intermediul butoanelor
integrate in KeyPad Shield. Prima placuta intruneste rolul de Master si trimite catre cea
de-a doua un Integer asociat castigatorului pentru ca aceasta, indeplinind rolul de Slave,
sa aprinda LED-ul corespunzator.

Cel asociat celei de-a doua placute aprinde un singur LED in functie de partidul
castigator si verifica daca ID-ul incorporat in KeyTag corespunde cu cel predefinit,
urmand sa preia si el rolul de Master si sa trimita catre prima placuta confirmarea sau
infirmarea accesului la sistemul de votare.

Rezultate obtinute



Descriere

Odata ce ambele programe sunt incarcate pe placuta, se afiseaza pe LCD numele dispozitivului si apoi o notificare de autentificare. Se citeste KeyTag-ul de catre modulul RFID. Daca acesta este recunoscut, se afiseaza pe ecran abrevierile partidelor si numarul initial al voturilor. Se incarca si pagina de internet cu rol informativ pentru a ajuta utilizatorul sa isi faca alegerea. Apasand pe butoane, se distribuie voturi catre candidati. La apasarea butonului Select integrat in Shield, se determina castigatorul. Daca totusi KeyTag-ul nu este recunoscut de catre RFID, se afiseaza un mesaj de constrangere si nu se mai poate vota.

Link Youtube

Demo

Concluzii

Proiectul a reprezentat o provocare pentru mine, intrucat a fost prima data cand am interactionat fizic cu piesele hardware. Experienta a fost in final una pozitiva, intrucat am reusit sa realizez aproape tot ceea ce imi propusesem. Primul impediment aparut a fost numarul limitat de pini disponibili in urma suprapunerii LCD-ului cu placuta Arduino, pe care am reusit sa il depasesc prin achizitionarea unei alte placute care sa comunice cu prima. Totodata, dispuneam de un ONT pe care l-am trecut in mod “bridge” pentru a face conversia semnalului optic in semnal electric Ethernet, urmand sa configurez un router in spatele ONT-ului, asupra caruia sa am control absolut.

Download

Jurnal

  • 25.04.2021 - Alegerea temei proiectului
  • 27.05.2021 - 31.05.2021 - Realizarea proiectului
  • 1.06.2021 - Intocmirea documentatiei

Bibliografie/Resurse

pm/prj2021/alazar/electronic_voting_machine.txt · Last modified: 2021/06/02 01:01 by sandra.dascalu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0