Indholdsfortegnelse:
- Trin 1: Komponenter, der kræves for at bygge biometrisk stemmemaskine
- Trin 2: Kredsløbsdiagram for biometrisk stemmemaskine ved hjælp af Arduino
- Trin 3: Kildekode og trin for trin Forklaring af kode
- Trin 4: Test af fingeraftryksstemmesystemet ved hjælp af Arduino
Video: Fingeraftryksbaseret biometrisk stemmemaskine ved hjælp af Arduino: 4 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Vi er alle klar over den eksisterende elektroniske stemmeapparat, hvor brugeren skal trykke på en knap for at afgive afstemningen. Men disse maskiner er blevet kritiseret for at hærde siden begyndelsen. Så regeringen planlægger at indføre en fingeraftryksbaseret afstemningsmaskine, hvor brugerne kan afgive afstemningen baseret på hans/hendes fingeraftryksindtryk. Dette system fjerner ikke kun muligheden for dobbeltstemmer, men forhindrer også enhver form for manipulation.
Så i dette projekt skal vi bygge en prototype af en biometrisk stemmemaskine ved hjælp af Arduino Uno, TFT -skærm og fingeraftrykssensor. Vi har tidligere brugt R305 fingeraftrykssensor med NodeMCU til at bygge et biometrisk baseret fremmødesystem, men her vil vi bruge den avancerede GT-511C3 fingeraftrykssensor med Arduino.
Trin 1: Komponenter, der kræves for at bygge biometrisk stemmemaskine
- Arduino Uno
- 2,4”TFT LCD -skærm
- GT-511C3 fingeraftrykssensor
Denne 2,4 tommer TFT -skærm blev tidligere brugt sammen med Arduino til at bygge IoT -baseret restaurantmenusystem.
Trin 2: Kredsløbsdiagram for biometrisk stemmemaskine ved hjælp af Arduino
Kredsløbsdiagram for dette projekt er meget enkelt, da vi kun forbinder TFT -skærmen og fingeraftrykssensormodulet med Arduino Uno. VCC- og GND -benene på fingeraftrykssensoren er forbundet til 5V- og GND -benene på Arduino, mens TX- og RX -benene er forbundet til den digitale pin 11 & 12 i Arduino Uno.
2,4”TFT LCD -skærmen er et Arduino Shield og kan monteres direkte på Arduino Uno, som vist på billedet herunder. TFT -skærmen har 28 ben, der passer perfekt ind i Arduino Uno, så jeg måtte lodde fingeraftrykssensoren på bagsiden af Arduino.
Trin 3: Kildekode og trin for trin Forklaring af kode
Den komplette kode til dette Fingerprint Voting System Project ved hjælp af Arduino er angivet i slutningen af artiklen; her forklarer vi nogle vigtige funktioner i koden.
Koden bruger bibliotekerne SPFD5408, Software Serial og FPS_GT511C3. SPFD5408 -biblioteket er den modificerede version af det originale Adafruit -bibliotek. Disse biblioteksfiler kan downloades fra nedenstående links:
- SPFD5408 bibliotek
- Software Seriel
- FPS_GT511C3
Efter at have inkluderet bibliotekerne og defineret nogle vigtige parametre, kan vi komme ind i programmeringsdelen. Der er tre sektioner involveret i dette program. Det ene er at oprette et brugergrænseflade for en stemmeapparat, det andet er at få berøringspunkterne for knapper og opdage knapperne baseret på berøringen og til sidst beregne resultaterne og gemme dem i Arduinos hukommelse.
1. Oprettelse af brugergrænseflade:
Jeg har oprettet en enkel brugergrænseflade med tre knapper og projektets navn. TFT -skærmbiblioteket giver dig mulighed for at tegne linjer, rektangel, cirkler, tegn, strenge og meget mere af enhver foretrukken farve og størrelse. Her oprettes to rektangulære knapper ved hjælp af fillRoundRect og drawRoundRect funktioner. Syntaks for tft.drawRoundRect funktion er angivet nedenfor:
tft.drawRoundRect (int16_t x0, int16_t y0, int16_t w, int16_t h, int16_t radius, uint16_t farve)
Hvor:
x0 = X-koordinat af rektangulært startpunkt
y0 = Y -koordinat for rektangulært startpunkt
w = Bredden af det rektangulære
h = Rektangulær højde
radius = Radius af det runde hjørne
farve = Rektens farve.
void drawHome ()
{
tft.fillScreen (HVID);
tft.drawRoundRect (0, 0, 319, 240, 8, WHITE); // Sidekant
tft.fillRoundRect (10, 70, 220, 50, 8, GULD);
tft.drawRoundRect (10, 70, 220, 50, 8, HVID); //Stemme
tft.fillRoundRect (10, 160, 220, 50, 8, GULD);
tft.drawRoundRect (10, 160, 220, 50, 8, HVID); //Indskrive
tft.fillRoundRect (10, 250, 220, 50, 8, GULD); //Resultat
tft.drawRoundRect (10, 250, 220, 50, 8, WHITE);
tft.setCursor (65, 5);
tft.setTextSize (3);
tft.setTextColor (CYAN);
tft.print ("Afstemning");
tft.setCursor (57, 29);
tft.print ("maskine");
tft.setTextSize (3);
tft.setTextColor (HVID);
tft.setCursor (25, 82);
tft.print ("Kandidat 1");
tft.setCursor (25, 172);
tft.print ("Kandidat 2");
tft.setCursor (25, 262);
tft.print ("Kandidat 3");
}
2. Hentning af berøringspunkterne og registrering af knapper:
Nu i den anden sektion af koden vil vi registrere knappens berøringspunkter og derefter bruge disse punkter til at forudsige knappen. ts.getPoint () -funktionen bruges til at registrere brugerens berøring på TFT -skærm. ts.getPoint giver Raw ADC -værdierne for det berørte område. Disse RAW ADC -værdier konverteres derefter til Pixel -koordinater ved hjælp af kortfunktionen.
TSPoint p = ts.getPoint ();
hvis (p.z> ts.pressureThreshhold)
{
p.x = kort (p.x, TS_MAXX, TS_MINX, 0, 320);
p.y = map (p.y, TS_MAXY, TS_MINY, 0, 240);
//Serial.print("X: ");
//Serial.print(p.x);
//Serial.print("Y: ");
//Serial.print(p.y);
Nu, da vi kender X- og Y -koordinaterne for hver knap, kan vi forudsige, hvor brugeren har rørt ved at bruge 'if' -sætningen.
hvis (p.x> 70 && p.x 10 && p.y MINPRESSURE && p.z <MAXPRESSURE)
{
Serial.println ("Kandidat 1");
Når en vælger trykker på kandidatknappen, bliver han bedt om at scanne fingeren på fingeraftrykssensoren. Hvis finger -ID er godkendt, har vælgeren lov til at stemme. Hvis en ikke-registreret bruger ønsker at stemme, vil fingeraftryksmodulet ikke registrere sit ID i systemet, og displayet viser 'Beklager du kan ikke stemme'.
hvis (fps. IsPressFinger ())
{
fps. CaptureFinger (falsk);
int id = fps. Identify1_N ();
hvis (id <200)
{
msg = "Kandidat 1";
stemme1 ++;
EEPROM.write (0, stemme1);
tft.setCursor (42, 170);
tft.print ("Tak");
forsinkelse (3000);
drawHome ();
3. Resultat:
Det sidste trin er at få stemmetallet fra EEPROM -hukommelse og sammenligne stemmerne for alle tre kandidater. En kandidat med de højeste stemmer vinder. Resultatet kan kun tilgås fra den serielle skærm og vises ikke på TFT -skærmen.
vote1 = EEPROM.read (0);
vote2 = EEPROM.read (1);
vote3 = EEPROM.read (2);
hvis (stemme)
{
hvis ((stemme1> stemme2 && stemme1> stemme3))
{
Serial.print ("Can1 Wins");
forsinkelse (2000);
}
Trin 4: Test af fingeraftryksstemmesystemet ved hjælp af Arduino
For at teste projektet skal du slutte Arduino Uno til den bærbare computer og uploade den givne kode. Når koden er uploadet, skal TFT -displayet vise kandidatens navn. Når nogen trykker på et kandidatnavn, vil maskinen bede om at scanne fingeraftryksscanneren. Hvis fingeraftrykket er gyldigt, tælles brugerstemmen, men hvis mønsteret ikke stemmer overens med databasens optegnelser, nægtes adgang til at afgive en stemme. Det samlede antal stemmer for hver kandidat gemmes i EEPROM, og en kandidat, der har det højeste antal stemmer, vinder.
Jeg håber, at du nød tutorialen og lærte noget nyttigt. Hvis du har spørgsmål, så lad os vide det i kommentarfeltet herunder, og følg os også på Instructable for flere sådanne interessante projekter.
Anbefalede:
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Sådan laver du en drone ved hjælp af Arduino UNO - Lav en quadcopter ved hjælp af mikrokontroller: 8 trin (med billeder)
Sådan laver du en drone ved hjælp af Arduino UNO | Lav en Quadcopter ved hjælp af mikrokontroller: Introduktion Besøg min Youtube -kanal En Drone er en meget dyr gadget (produkt) at købe. I dette indlæg vil jeg diskutere, hvordan jeg gør det billigt ?? Og hvordan kan du lave din egen sådan til en billig pris … Nå i Indien alle materialer (motorer, ESC'er
RF 433MHZ radiostyring ved hjælp af HT12D HT12E - Lav en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: 5 trin
RF 433MHZ radiostyring ved hjælp af HT12D HT12E | Oprettelse af en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: I denne instruktør vil jeg vise dig, hvordan du laver en RADIO -fjernbetjening ved hjælp af 433mhz sendermodtagermodul med HT12E -kode & HT12D -dekoder IC.I denne instruktive kan du sende og modtage data ved hjælp af meget meget billige KOMPONENTER SOM: HT
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter - Rc Helikopter - Rc -fly ved hjælp af Arduino: 5 trin (med billeder)
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter | Rc Helikopter | Rc -fly ved hjælp af Arduino: At betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båd, vi har altid brug for en modtager og sender, antag at vi til RC QUADCOPTER har brug for en 6 -kanals sender og modtager, og den type TX og RX er for dyr, så vi laver en på vores
Biometrisk personlig dagbog: 5 trin (med billeder)
Biometrisk personlig dagbog: Denne pæne lille gadget har en fingeraftrykssensor, så du kan sikre dine fede ting i en personlig bærbar taske. Jeg plejer at holde dagbog og pen og designs til mine nye projekter. Indeholder et 3D -trykt etui og bruger en Arduino nano. Fantastisk gaveidé