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|}} | ||