This shows you the differences between two versions of the page.
pm:prj2021:alazar:electronic_voting_machine [2021/04/25 01:03] sandra.dascalu |
pm:prj2021:alazar:electronic_voting_machine [2021/06/02 01:01] (current) sandra.dascalu |
||
---|---|---|---|
Line 13: | Line 13: | ||
primi un vot, iar valoarea sa de pe LCD va fi incrementata de fiecare data.\\ | 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\\ | Va exista un buton aditional la apasarea caruia se vor calcula toate voturile\\ | ||
- | si se va afisa castigatorul.\\ | + | si se va afisa castigatorul. Folosirea sistemului de votare presupune autentificarea\\ |
- | {{:pm:prj2021:alazar:pm:prj2021:alazar:sandradascalu:pm.png|}} | + | 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\\ | ||
+ | \\ | ||
+ | {{:pm:prj2021:alazar:pm:prj2021:ca:sandradascalu:untitled_diagram.png}} | ||
=== Hardware Design === | === Hardware Design === | ||
+ | * Arduino UNO ATMEGA 328p x2 | ||
+ | * LCD KeyPad Shield 16x2 | ||
+ | * 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 | ||
+ | {{ :pm:prj2021:alazar:pm:prj2021:ca:sandradascalu:bb.png?600 |}} | ||
+ | \\ | ||
+ | Schema electrica\\ | ||
+ | {{ :pm:prj2021:alazar:pm:prj2021:ca:sandradascalu:schema.png?600 |}} | ||
+ | \\ | ||
+ | Asocierea dintre LCD KeyPad Shield si Arduino nu s-a realizat in schema electrica, intrucat\\ | ||
+ | aceste doua componente sunt fizic suprapuse.\\ | ||
=== Software Design === | === 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 === | === Rezultate obtinute === | ||
+ | {{ :pm:prj2021:alazar:pm:prj2021:ca:sandradascalu:result.jpg?600 |}} | ||
+ | \\ | ||
+ | {{ :pm:prj2021:alazar:pm:prj2021:ca:sandradascalu:party_list.jpeg?600 |}} | ||
+ | \\ | ||
+ | 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\\ | ||
+ | \\ | ||
+ | [[https://www.youtube.com/watch?v=2fx4VaNw0wA|Demo]] | ||
+ | \\ | ||
=== Concluzii === | === 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 === | === Download === | ||
+ | {{:pm:prj2021:alazar:pm:prj2021:ca:sandradascalu:projectarchive.zip|}} | ||
=== Jurnal === | === Jurnal === | ||
+ | * 25.04.2021 - Alegerea temei proiectului | ||
+ | * 27.05.2021 - 31.05.2021 - Realizarea proiectului | ||
+ | * 1.06.2021 - Intocmirea documentatiei | ||
=== Bibliografie/Resurse === | === Bibliografie/Resurse === | ||
+ | |||
+ | https://randomnerdtutorials.com/security-access-using-mfrc522-rfid-reader-with-arduino/ | ||
+ | \\ | ||
+ | https://create.arduino.cc/projecthub/Sourcery/how-to-connect-the-enc28j60-to-an-arduino-efd0dd | ||
+ | \\ | ||
+ | \\ | ||
+ | {{:pm:prj2021:alazar:pm:prj2021:ca:sandradascalu:electronic_voting_machine.pdf|}} |