Orodha ya maudhui:
- Hatua ya 1: Vipengele vinahitajika Kuunda Mashine ya Kupiga kura ya Biometri
- Hatua ya 2: Mchoro wa Mzunguko wa Mashine ya Kupiga Kura ya Biometrisiki Kutumia Arduino
- Hatua ya 3: Ufafanuzi wa Nambari ya Chanzo na Hatua kwa Hatua
- Hatua ya 4: Kupima Mfumo wa Upigaji kura wa Alama ya Kidole kwa kutumia Arduino
Video: Mashine ya kupigia kura ya kidole iliyochaguliwa kwa kidole kutumia Arduino: Hatua 4 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:48
Sote tunafahamu mashine iliyopo ya kupigia kura ya elektroniki ambapo mtumiaji anapaswa kubonyeza kitufe cha kupiga kura. Lakini mashine hizi zimekosolewa kwa hasira tangu mwanzo. Kwa hivyo serikali imepanga kuanzisha mashine ya kupiga kura inayotegemea alama za vidole ambapo watumiaji wanaweza kupiga kura kulingana na alama yake ya kidole. Mfumo huu hautaondoa tu uwezekano wa kurudia kura lakini pia kuzuia aina yoyote ya udanganyifu.
Kwa hivyo katika mradi huu, tutaunda mfano wa mashine ya kupiga kura ya Biometriska kwa kutumia Arduino Uno, onyesho la TFT, na Sura ya Kidole cha Kidole. Hapo awali tulikuwa tunatumia sensa ya alama ya vidole ya R305 na NodeMCU kujenga Mfumo wa Mahudhurio ya Biometriska lakini hapa tutatumia sensorer ya alama ya kidole ya GT-511C3 na Arduino.
Hatua ya 1: Vipengele vinahitajika Kuunda Mashine ya Kupiga kura ya Biometri
- Arduino Uno
- Ngao ya Kuonyesha LCD ya 2.4 "TFT
- Sensor ya alama ya vidole ya GT-511C3
Onyesho hili la inchi 2.4 la TFT hapo awali lilitumika na Arduino kujenga Mfumo wa kuagiza Menyu ya Mkahawa wa IoT.
Hatua ya 2: Mchoro wa Mzunguko wa Mashine ya Kupiga Kura ya Biometrisiki Kutumia Arduino
Mchoro wa Mzunguko wa mradi huu ni rahisi sana kwani tunaunganisha tu onyesho la TFT na moduli ya kitambuzi cha vidole na Arduino Uno. Pini za VCC na GND za sensorer ya kidole zimeunganishwa na pini za 5V na GND za Arduino wakati pini za TX na RX zimeunganishwa na pini ya dijiti 11 & 12 ya Arduino Uno.
Skrini ya 2.4 TFT LCD ni Arduino Shield na inaweza kuwekwa moja kwa moja kwenye Arduino Uno, kama inavyoonyeshwa kwenye picha hapa chini. Onyesho la TFT lina pini 28 ambazo zinafaa kabisa katika Arduino Uno, kwa hivyo ilibidi nifunue sensor ya kidole nyuma ya Arduino.
Hatua ya 3: Ufafanuzi wa Nambari ya Chanzo na Hatua kwa Hatua
Nambari kamili ya Mradi huu wa Mfumo wa Upigaji Kura wa Vidole kwa kutumia Arduino umetolewa mwishoni mwa kifungu hicho; hapa tunaelezea kazi kadhaa muhimu za nambari.
Nambari hutumia maktaba ya SPFD5408, Software Serial, na FPS_GT511C3. Maktaba ya SPFD5408 ni toleo lililobadilishwa la Maktaba ya asili ya Adafruit. Faili hizi za maktaba zinaweza kupakuliwa kutoka kwa viungo vilivyopewa hapa chini:
- Maktaba ya SPFD5408
- Programu Serial
- FPS_GT511C3
Baada ya kujumuisha maktaba na kufafanua vigezo kadhaa muhimu, tunaweza kuingia kwenye sehemu ya programu. Kuna sehemu tatu zinazohusika katika mpango huu. Moja ni kuunda UI ya mashine ya kupiga kura, pili ni kupata alama za kugusa kwa vifungo & kugundua vifungo kulingana na mguso na mwishowe kuhesabu matokeo na kuzihifadhi kwenye kumbukumbu ya Arduino.
1. Kuunda UI:
Nimeunda UI rahisi na vifungo vitatu na jina la mradi. Maktaba ya kuonyesha TFT hukuruhusu kuteka Mistari, Mstatili, Miduara, Chati, Kamba na mengi zaidi ya rangi na saizi unayopendelea. Hapa vifungo viwili vya mstatili vimeundwa kwa kutumia kazi za kujazaRoundRect na kutekaRoundRect. Sintaksia ya kazi ya tft.drawRoundRect imepewa hapa chini:
tft.drawRoundRect (int16_t x0, int16_t y0, int16_t w, int16_t h, int16_t radius, rangi ya uint16_t)
Wapi:
x0 = X uratibu wa mwanzo wa mstatili
y0 = Y uratibu wa mwanzo wa mstatili
w = Upana wa mstatili
h = Urefu wa Mstatili
radius = Radius ya kona ya pande zote
rangi = Rangi ya Rect.
chora tupuNyumbani ()
{
tft.fillScreen (NYEUPE);
tft.drawRoundRect (0, 0, 319, 240, 8, NYEUPE); // Mpaka wa Ukurasa
tft.fillRoundRect (10, 70, 220, 50, 8, DHAHABU);
tft.drawRoundRect (10, 70, 220, 50, 8, NYEUPE); // Kura
tft.fillRoundRect (10, 160, 220, 50, 8, DHAHABU);
tft.drawRoundRect (10, 160, 220, 50, 8, NYEUPE); // Kujiandikisha
tft.fillRoundRect (10, 250, 220, 50, 8, DHAHABU); // Matokeo
tft.drawRoundRect (10, 250, 220, 50, 8, NYEUPE);
tft.setCursor (65, 5);
tft.setTextSize (3);
tft.setTextColor (CYAN);
tft.print ("Kupiga kura");
tft.set Mshale (57, 29);
tft.print ("Mashine");
tft.setTextSize (3);
tft.setTextColor (NYEUPE);
tft.set Mshale (25, 82);
tft.print ("Mgombea 1");
tft.set Mshale (25, 172);
tft.print ("Mgombea 2");
tft.set Mshale (25, 262);
tft.print ("Mgombea 3");
}
2. Kupata Vifungo vya Kugusa na Kugundua Vifungo:
Sasa katika sehemu ya pili ya nambari, tutagundua vitufe vya kugusa kisha tutumie alama hizi kutabiri kitufe. ts.getPoint () kazi hutumiwa kugundua kugusa kwa mtumiaji kwenye onyesho la TFT. ts.getPoint inatoa maadili ya Raw ADC kwa eneo lililoguswa. Thamani hizi za RAW ADC hubadilishwa kuwa Uratibu wa Pixel kwa kutumia kazi ya ramani.
TSPoint p = ts. PoPoint ();
ikiwa (p.z> ts. shinikizo la Kinga)
{
p.x = ramani (p.x, TS_MAXX, TS_MINX, 0, 320);
p.y = ramani (p.y, TS_MAXY, TS_MINY, 0, 240);
//Serial.print ("X:");
//Serial.print (px);
//Serial.print ("YU:");
//Serial.print (p.y);
Sasa, kwa kuwa tunajua uratibu wa X na Y kwa kila kitufe, tunaweza kutabiri ni wapi mtumiaji amegusa kwa kutumia taarifa ya 'ikiwa'.
ikiwa (px> 70 && p.x 10 && p.y MINPRESSURE && p.z <MAXPRESSURE)
{
Serial.println ("Mgombea 1");
Wakati mpiga kura akibonyeza kitufe cha mgombea, ataulizwa kuchanganua kidole kwenye kitambuzi cha alama ya kidole. Ikiwa kitambulisho cha kidole kimeidhinishwa basi mpiga kura anaruhusiwa kupiga kura. Ikiwa mtumiaji yeyote ambaye hajasajiliwa anataka kupiga kura basi moduli ya alama za vidole haitagundua kitambulisho chake kwenye mfumo na onyesho litaonyesha 'Samahani Huwezi Kupiga Kura'.
ikiwa (fps. IsPressFinger ())
{
fps. CaptureFinger (uwongo);
id id = fps. Identify1_N ();
ikiwa (id <200)
{
msg = "Mgombea 1";
kura1 ++;
Andika EEPROM (0, kura1);
tft.setCursor (42, 170);
tft.print ("Asante");
kuchelewesha (3000);
choraHome ();
3. Matokeo:
Hatua ya mwisho ni kupata hesabu ya kura kutoka kwa kumbukumbu ya EEPROM na kulinganisha kura za wagombea wote watatu. Mgombea aliye na kura nyingi alishinda. Matokeo yanaweza kupatikana tu kutoka kwa mfuatiliaji wa serial na haitaonyeshwa kwenye skrini ya TFT.
kura1 = soma EEPROM (0);
kura2 = soma EEPROM (1);
kura3 = EEPROM.soma (2);
ikiwa (kura)
{
ikiwa ((vote1> vote2 && vote1> vote3))
{
Serial.print ("Can1 Ushindi");
kuchelewa (2000);
}
Hatua ya 4: Kupima Mfumo wa Upigaji kura wa Alama ya Kidole kwa kutumia Arduino
Ili kujaribu mradi huo, unganisha Arduino Uno na kompyuta ndogo na upakie nambari iliyopewa. Mara tu nambari imepakiwa, onyesho la TFT linapaswa kuonyesha jina la mgombea. Mtu anapogonga jina la mgombea, mashine itauliza skana skana ya vidole. Ikiwa alama ya kidole ni halali, basi kura ya mtumiaji itahesabiwa, lakini ikiwa kesi, muundo haufanani na rekodi za hifadhidata, upatikanaji wa kupiga kura utakataliwa. Jumla ya kura za kila mgombea zitahifadhiwa katika EEPROM na mgombea aliye na idadi kubwa ya kura atashinda.
Natumai ulifurahiya mafunzo na kujifunza kitu muhimu. Ikiwa una maswali yoyote, tafadhali tujulishe katika sehemu ya maoni hapa chini, na pia utufuate kwenye Inayofaa kwa miradi mingine ya kupendeza.
Ilipendekeza:
Mfumo wa Usalama muhimu wa Kidole cha Kidole cha Kidole: Hatua 8
Mfumo wa Usalama muhimu wa Kidole-Kidole: Maombi haya ni muhimu kwa kuhakikisha funguo zetu za kila siku zinazohitajika (kufuli) Wakati mwingine tunakuwa na funguo za kawaida kama nyumba, karakana, maegesho kati ya watu wawili au zaidi. Kuna idadi ya mifumo ya metri ya bio inapatikana katika soko, ni mai
Hakuna Soldering - Badilisha Toy iliyochaguliwa kwa Mahitaji / Ulemavu maalum: Hatua 7 (na Picha)
Hakuna Soldering - Badilisha Toy iliyobadilishwa kwa Mahitaji / Ulemavu maalum: Marekebisho haya ya toy huchukua toy inayoendeshwa na betri, ambayo imeamilishwa na swichi moja, na inaongeza swichi ya ziada inayoendeshwa nje. Kitufe cha nje ni kitufe cha kushinikiza cha fomati kubwa ambayo inaruhusu upatikanaji zaidi, kwa kuwasilisha l
Kutumia Sensor ya Kidole cha Kidole kwa Mahudhurio ya Wakati katika Mchanganyiko na Suluhisho la XAMP: Hatua 6 (na Picha)
Kutumia Sensor ya Kidole cha Kidole kwa Mahudhurio ya Wakati katika Mchanganyiko na Suluhisho la XAMP: Kwa mradi wa shule, tulikuwa tukitafuta suluhisho juu ya jinsi ya kufuatilia mahudhurio ya wanafunzi. Wanafunzi wetu wengi huchelewa. Ni kazi ya kuchosha kuangalia uwepo wao. Kwa upande mwingine, kuna majadiliano mengi kwa sababu wanafunzi mara nyingi watasema
Mashine ya ATM Kutumia Arduino (Kidole-chapa + Kadi ya RFID): Hatua 4 (na Picha)
Mashine ya ATM Kutumia Arduino (Kidole-chapa + Kadi ya RFID): Halo marafiki, nimerudi na wazo mpya la mashine ya ATM inayotumia Arduino. Inaweza kusaidia katika maeneo ya vijijini ambapo huduma za pesa bila pesa haziwezekani. Ni wazo kidogo. Natumai Wacha uanze
Kutumia Stempu ya Msingi ya Parallax II Kupigia Kengele ya Mlango kwa mbali: Hatua 4 (na Picha)
Kutumia Stampu ya Msingi ya Parallax II Kupigia Kengele ya mlango kwa mbali: Shida? Mbwa ambaye hufurahi sana wakati kengele ya mlango inalia. Suluhisho? Pigia kengele ya mlango kila wakati bila mpangilio wakati hakuna mtu yeyote, na hakuna anayeijibu, ili kukabiliana na hali ya mbwa - kuvunja ushirika ambao kengele ya kupiga kelele e