Cov txheej txheem:

Fingerprint Based Biometric Voting Machine Siv Arduino: 4 Cov Kauj Ruam (nrog Duab)
Fingerprint Based Biometric Voting Machine Siv Arduino: 4 Cov Kauj Ruam (nrog Duab)

Video: Fingerprint Based Biometric Voting Machine Siv Arduino: 4 Cov Kauj Ruam (nrog Duab)

Video: Fingerprint Based Biometric Voting Machine Siv Arduino: 4 Cov Kauj Ruam (nrog Duab)
Video: Fingerprint Based Biometric Voting Machine Using Arduino 2024, Kaum ib hlis
Anonim
Fingerprint Based Biometric Voting Machine Siv Arduino
Fingerprint Based Biometric Voting Machine Siv Arduino

Peb txhua tus tau paub txog lub tshuab pov npav hluav taws xob uas twb muaj lawm uas tus neeg siv yuav tsum nias lub pob kom pov npav. Tab sis cov tshuab no tau raug thuam rau qhov kub hnyiab txij thaum pib. Yog li tsoomfwv tau npaj los qhia lub tshuab pov npav raws tus ntiv tes uas cov neeg siv tuaj yeem pov npav raws li nws/nws cov ntiv tes xav. Cov kab ke no yuav tsis tsuas yog tshem tawm qhov ua tau ntawm cov ntawv pov npav sib npaug tab sis tseem tiv thaiv txhua yam kev dag ntxias.

Yog li hauv txoj haujlwm no, peb tab tom tsim qauv ntawm Biometric pov npav tshuab siv Arduino Uno, TFT zaub, thiab Fingerprint Sensor. Peb yav dhau los siv R305 Fingerprint Sensor nrog NodeMCU los tsim Biometric raws li Kev Tuaj Koom tab sis ntawm no peb yuav siv qib siab GT-511C3 tus ntiv tes ntsuas nrog Arduino.

Kauj Ruam 1: Cov Cheeb Tsam Yuav Tsum Tsim Kom Siv Lub Tshuab Pov Npav Biometric

  • Arduino Ib
  • 2.4 "TFT LCD Zaub Shield
  • GT-511C3 Fingerprint Sensor

Qhov 2.4 nti TFT zaub no tau siv yav dhau los nrog Arduino los tsim IoT Raws Lub Tsev Noj Mov Cov Ntawv Qhia Khoom Noj.

Kauj Ruam 2: Daim Duab Circuit Court rau Biometric Voting Machine Siv Arduino

Daim duab kos Circuit Court rau Biometric Pov Npav Tshuab Siv Arduino
Daim duab kos Circuit Court rau Biometric Pov Npav Tshuab Siv Arduino

Daim duab kos Circuit Court rau txoj haujlwm no yooj yim heev vim peb tsuas yog txuas cov TFT zaub thiab cov ntiv tes ntsuas qhov ntsuas nrog Arduino Uno. VCC thiab GND pins ntawm tus ntiv tes ntsuas tau txuas nrog 5V thiab GND pins ntawm Arduino thaum TX thiab RX pins txuas nrog digital pin 11 & 12 ntawm Arduino Uno.

2.4 TFT LCD screen yog Arduino Shield thiab tuaj yeem ncaj qha rau ntawm Arduino Uno, raws li qhia hauv daim duab hauv qab no. TFT zaub muaj 28 tus pin uas zoo kawg nkaus haum rau hauv Arduino Uno, yog li kuv yuav tsum tau muab lub taub ntiv tes tso rau sab nraub qaum ntawm Arduino.

Kauj Ruam 3: Cov Cai Code thiab Kauj Ruam ntawm Cov Lus Qhia Kauj Ruam

Ua tiav txoj cai rau qhov Fingerprint Voting System Project siv Arduino tau muab tom kawg ntawm kab lus; nov peb piav qhia qee qhov haujlwm tseem ceeb ntawm txoj cai.

Txoj cai siv SPFD5408, Software Serial, thiab FPS_GT511C3 cov tsev qiv ntawv. SPFD5408 lub tsev qiv ntawv yog qhov hloov kho ntawm thawj Adafruit Library. Cov ntaub ntawv hauv tsev qiv ntawv no tuaj yeem rub tawm los ntawm cov kab ntawv txuas hauv qab no:

  • SPFD5408 Lub Tsev Qiv Ntawv
  • Software Serial
  • FPS_GT511C3

Tom qab suav nrog cov tsev qiv ntawv thiab txheeb xyuas qee qhov tsis tseem ceeb, peb tuaj yeem nkag mus rau hauv qhov program. Muaj peb ntu koom nrog hauv txoj haujlwm no. Ib qho yog tsim UI ntawm lub tshuab pov npav, thib ob yog tau txais cov ntsiab lus kov rau cov nyees khawm & txheeb xyuas cov nyees khawm raws li kov thiab thaum kawg suav qhov txiaj ntsig thiab khaws cia rau hauv Arduino lub cim xeeb.

1. Tsim UI:

Kuv tau tsim UI yooj yim nrog peb lub khawm thiab lub npe ntawm txoj haujlwm. TFT cov tsev qiv ntawv tso cai rau koj kos Kab, Duab plaub, Lub voj voos, Chars, Cov hlua thiab ntau yam ntxiv ntawm cov xim nyiam thiab qhov loj me. Nov yog ob lub pob khawm uas tsim los siv fillRoundRect thiab drawRoundRect ua haujlwm. Cov syntax rau tft.drawRoundRect muaj nuj nqi yog muab hauv qab no:

tft.drawRoundRect (int16_t x0, int16_t y0, int16_t w, int16_t h, int16_t radius, uint16_t xim)

Qhov twg:

x0 = X sib koom ua ke ntawm qhov pib ntawm lub duab plaub

y0 = Y kev sib koom tes ntawm qhov pib ntawm cov duab plaub

w = Dav ntawm lub duab plaub

h = Qhov siab ntawm lub Rectangular

radius = Lub vojvoog ntawm kaum puag ncig

color = Xim ntawm Rect.

void drawHome ()

{

tft.fillScreen (WHITE);

tft.drawRoundRect (0, 0, 319, 240, 8, WHITE); // Nplooj ntawv ciam teb

tft.fillRoundRect (10, 70, 220, 50, 8, GOLD);

tft.drawRoundRect (10, 70, 220, 50, 8, WHITE); // Pov npav

tft.fillRoundRect (10, 160, 220, 50, 8, GOLD);

tft.drawRoundRect (10, 160, 220, 50, 8, WHITE); // Sau npe

tft.fillRoundRect (10, 250, 220, 50, 8, GOLD); // Qhov tshwm sim

tft.drawRoundRect (10, 250, 220, 50, 8, WHITE);

tft.setCursor (65, 5);

tft.setTextSize (3);

tft.setTextColor (CYAN);

tft.print ("Pov Ntawv");

tft.setCursor (57, 29);

tft.print ("Tshuab");

tft.setTextSize (3);

tft.setTextColor (WHITE);

tft.setCursor (25, 82);

tft.print ("Tus neeg sib tw 1");

tft.setCursor (25, 172);

tft.print ("Tus neeg sib tw 2");

tft.setCursor (25, 262);

tft.print ("Tus neeg sib tw 3");

}

2. Tau Txais Cov Ntsiab Lus thiab Tshawb Pom Cov Khawm:

Tam sim no hauv ntu thib ob ntawm txoj cai, peb yuav tshuaj xyuas lub pob nyem thiab tom qab ntawd siv cov ntsiab lus no los kwv yees lub pob. ts.getPoint () muaj nuj nqi yog siv los txheeb xyuas tus neeg siv kov ntawm TFT zaub. ts.getPoint muab Raw ADC qhov tseem ceeb rau thaj chaw kov. Cov RAW ADC qhov tseem ceeb no tau hloov pauv mus rau Pixel Kev Ua Haujlwm siv daim ntawv qhia ua haujlwm.

TSPoint p = ts.getPoint ();

yog (p.z> ts.pressureThreshhold)

{

p.x = map (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);

Tam sim no, txij li peb paub X thiab Y kev tswj hwm rau txhua lub pob, peb tuaj yeem kwv yees qhov twg tus neeg siv tau kov los ntawm kev siv 'yog' nqe lus.

yog (p.x> 70 && p.x 10 && p.y MINPRESSURE && p.z <MAXPRESSURE)

{

Serial.println ("Tus neeg sib tw 1");

Thaum ib tus neeg pov npav nias tus neeg sib tw khawm, nws yuav raug nug kom luam theej duab ntawm tus ntiv tes ntsuas. Yog tus ntiv tes raug tso cai ces tus neeg pov npav raug tso cai pov npav. Yog tias tsis muaj tus neeg siv sau npe xav pov ntawv tawm suab tus ntiv tes ntsuas yuav tsis pom nws tus ID nkag mus rau hauv kab ke thiab cov zaub yuav qhia 'Thov txim koj tsis tuaj yeem pov npav'.

yog (fps. IsPressFinger ())

{

fps. CaptureFinger (tsis tseeb);

int id = fps. Identify1_N ();

yog (id <200)

{

msg = "Tus neeg sib tw 1";

pov npav 1 ++;

EEPROM.write (0, pov npav 1);

tft.setCursor (42, 170);

tft.print ("Ua tsaug");

ncua (3000);

drawHome ();

3. Qhov tshwm sim:

Kauj ruam kawg yog tau txais kev suav suav los ntawm EEPROM nco thiab sib piv cov pov npav ntawm peb tus neeg sib tw. Ib tus neeg sib tw nrog cov pov npav siab tshaj yeej. Qhov tshwm sim tsuas yog tuaj yeem nkag los ntawm tus lej saib thiab yuav tsis tshwm ntawm TFT screen.

pov npav 1 = EEPROM.read (0);

pov npav 2 = EEPROM.read (1);

pov npav 3 = EEPROM.read (2);

yog (pov ntawv tawm suab)

{

yog ((pov npav 1> pov npav 2 && pov npav 1> pov npav 3))

{

Serial.print ("Can1 Yeej");

ncua (2000);

}

Kauj Ruam 4: Kev Xeem Fingerprint Voting System Siv Arduino

Txhawm rau sim txoj haujlwm, txuas Arduino Uno rau lub khoos phis tawj thiab xa cov lej muab. Thaum cov cai tau muab tso rau, TFT zaub yuav tsum tso tus neeg sib tw lub npe. Thaum ib tus neeg kais ntawm tus neeg sib tw lub npe, lub tshuab yuav nug kom ntsuas lub tshuab ntiv tes. Yog tias cov ntiv tes siv tau, tom qab ntawd cov neeg siv pov npav yuav raug suav, tab sis qhov xwm txheej, tus qauv tsis sib xws nrog cov ntaub ntawv khaws tseg ntawm cov ntaub ntawv khaws cia, kev nkag mus pov npav yuav raug tsis pom zoo. Tag nrho cov pov npav rau txhua tus neeg sib tw yuav raug khaws cia hauv EEPROM thiab tus neeg sib tw uas muaj tus lej ntau tshaj plaws yuav yeej.

Kuv vam tias koj nyiam qhov kev qhia thiab kawm qee yam muaj txiaj ntsig. Yog tias koj muaj lus nug, thov qhia rau peb paub hauv kab lus hauv qab no, thiab tseem ua raws peb ntawm Kev Qhia rau ntau cov haujlwm zoo li no.

Pom zoo: