Isi kandungan:
- Langkah 1: Komponen yang Diperlukan untuk Membangun Mesin Pengundian Biometrik
- Langkah 2: Diagram Litar untuk Mesin Pengundian Biometrik Menggunakan Arduino
- Langkah 3: Kod Sumber dan Penjelasan Kod Langkah demi Langkah
- Langkah 4: Menguji Sistem Pengundian Cap Jari Menggunakan Arduino
Video: Mesin Pengundian Biometrik Berasaskan Jari Menggunakan Arduino: 4 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Kita semua menyedari mesin pengundian elektronik yang ada di mana pengguna harus menekan butang untuk memberikan suara. Tetapi mesin ini telah dikritik kerana marah sejak awal. Jadi pemerintah berencana untuk memperkenalkan mesin pemungut suara berdasarkan sidik jari di mana pengguna dapat memberikan suara berdasarkan kesan sidik jarinya. Sistem ini bukan sahaja akan menghilangkan kemungkinan undian pendua tetapi juga mencegah sebarang manipulasi.
Oleh itu, dalam projek ini, kita akan membina prototaip mesin pengundian Biometrik menggunakan Arduino Uno, TFT display, dan Fingerprint Sensor. Kami sebelumnya menggunakan R305 Fingerprint Sensor dengan NodeMCU untuk membina Sistem Kehadiran berasaskan Biometrik tetapi di sini kita akan menggunakan sensor cap jari GT-511C3 yang canggih dengan Arduino.
Langkah 1: Komponen yang Diperlukan untuk Membangun Mesin Pengundian Biometrik
- Arduino Uno
- Perisai Paparan LCD TFT 2.4"
- Sensor Cap Jari GT-511C3
Paparan TFT 2,4 inci ini sebelumnya digunakan dengan Arduino untuk membina Sistem Pesanan Menu Restoran Berasaskan IoT.
Langkah 2: Diagram Litar untuk Mesin Pengundian Biometrik Menggunakan Arduino
Circuit Diagram untuk projek ini sangat mudah kerana kami hanya menghubungkan modul TFT display dan sensor cap jari dengan Arduino Uno. Pin VCC dan GND dari sensor cap jari disambungkan ke pin Arduino 5V dan GND sementara pin TX dan RX disambungkan ke pin digital 11 & 12 dari Arduino Uno.
Layar TFT LCD 2,4 adalah Arduino Shield dan dapat dipasang langsung di Arduino Uno, seperti yang ditunjukkan pada gambar di bawah. Paparan TFT mempunyai 28 pin yang sangat sesuai dengan Arduino Uno, jadi saya harus menyolder sensor cap jari di bahagian belakang Arduino.
Langkah 3: Kod Sumber dan Penjelasan Kod Langkah demi Langkah
Kod lengkap untuk Projek Sistem Pengundian Jari Jari ini menggunakan Arduino diberikan pada akhir artikel; di sini kami menerangkan beberapa fungsi penting kod tersebut.
Kod menggunakan perpustakaan SPFD5408, Serial Perisian, dan FPS_GT511C3. Perpustakaan SPFD5408 adalah versi yang diubahsuai dari Perpustakaan Adafruit yang asal. Fail perpustakaan ini boleh dimuat turun dari pautan yang diberikan di bawah:
- Perpustakaan SPFD5408
- Siri Perisian
- FPS_GT511C3
Setelah memasukkan perpustakaan dan menentukan beberapa parameter penting, kita dapat masuk ke bahagian pengaturcaraan. Terdapat tiga bahagian yang terlibat dalam program ini. Salah satunya ialah membuat UI mesin pengundian, yang kedua adalah mendapatkan titik sentuh untuk butang & mengesan butang berdasarkan sentuhan dan akhirnya mengira hasilnya dan menyimpannya ke dalam ingatan Arduino.
1. Membuat UI:
Saya telah membuat UI ringkas dengan tiga butang dan nama projek. Perpustakaan paparan TFT membolehkan anda melukis Garisan, Segi Empat, Lingkaran, Huruf, String dan banyak lagi warna dan saiz yang disukai. Di sini dua butang segi empat tepat dibuat menggunakan fungsi fillRoundRect dan drawRoundRect. Fungsi sintaks untuk tft.drawRoundRect diberikan di bawah:
tft.drawRoundRect (int16_t x0, int16_t y0, int16_t w, int16_t h, jejari int16_t, warna uint16_t)
Di mana:
x0 = X koordinat titik permulaan segi empat tepat
y0 = Y koordinat titik permulaan segi empat tepat
w = Lebar segi empat tepat
h = Tinggi Segi Empat
jejari = Radius sudut bulat
warna = Warna Bilangan.
undian tidak sahHome ()
{
tft.fillScreen (PUTIH);
tft.drawRoundRect (0, 0, 319, 240, 8, PUTIH); // Sempadan halaman
tft.fillRoundRect (10, 70, 220, 50, 8, EMAS);
tft.drawRoundRect (10, 70, 220, 50, 8, PUTIH); // Undi
tft.fillRoundRect (10, 160, 220, 50, 8, EMAS);
tft.drawRoundRect (10, 160, 220, 50, 8, PUTIH); // Daftar
tft.fillRoundRect (10, 250, 220, 50, 8, EMAS); // Keputusan
tft.drawRoundRect (10, 250, 220, 50, 8, PUTIH);
tft.setCursor (65, 5);
tft.setTextSize (3);
tft.setTextColor (CYAN);
tft.print ("Mengundi");
tft.setCursor (57, 29);
tft.print ("Mesin");
tft.setTextSize (3);
tft.setTextColor (PUTIH);
tft.setCursor (25, 82);
tft.print ("Calon 1");
tft.setCursor (25, 172);
tft.print ("Calon 2");
tft.setCursor (25, 262);
tft.print ("Calon 3");
}
2. Mendapatkan Titik Sentuh dan Butang Mengesan:
Sekarang di bahagian kedua kod, kita akan mengesan titik sentuh butang dan kemudian menggunakan titik ini untuk meramalkan butang. Fungsi ts.getPoint () digunakan untuk mengesan sentuhan pengguna pada paparan TFT. ts.getPoint memberikan nilai ADC Raw untuk kawasan yang disentuh. Nilai RAW ADC ini kemudian ditukar menjadi Koordinat Pixel menggunakan fungsi peta.
TSPoint p = ts.getPoint ();
jika (p.z> ts.pressureThreshhold)
{
p.x = peta (p.x, TS_MAXX, TS_MINX, 0, 320);
p.y = peta (p.y, TS_MAXY, TS_MINY, 0, 240);
//Serial.print("X: ");
//Serial.print(p.x);
//Serial.print("Y: ");
//Serial.print(p.y);
Sekarang, kerana kita mengetahui koordinat X dan Y untuk setiap butang, kita dapat meramalkan di mana pengguna menyentuh dengan menggunakan pernyataan ‘if’.
jika (p.x> 70 && p.x 10 && p.y MINPRESSURE && p.z <MAXPRESSURE)
{
Serial.println ("Calon 1");
Apabila pemilih menekan butang calon, dia akan diminta untuk mengimbas jari pada sensor cap jari. Sekiranya ID jari dibenarkan, pemilih dibenarkan untuk memilih. Sekiranya ada pengguna Bukan berdaftar yang ingin memilih, modul cap jari tidak akan mengesan IDnya ke dalam sistem dan paparan akan menunjukkan 'Maaf Anda Tidak Dapat Mengundi'.
jika (fps. IsPressFinger ())
{
fps. CaptureFinger (palsu);
int id = fps. Identify1_N ();
jika (id <200)
{
msg = "Calon 1";
undi1 ++;
EEPROM.write (0, vote1);
tft.setCursor (42, 170);
tft.print ("Terima Kasih");
kelewatan (3000);
drawHome ();
3. Keputusan:
Langkah terakhir adalah mendapatkan kiraan undi dari memori EEPROM dan membandingkan undi ketiga-tiga calon. Calon dengan undian tertinggi menang. Hasilnya hanya dapat diakses dari monitor bersiri dan tidak akan ditampilkan di layar TFT.
vote1 = EEPROM.baca (0);
vote2 = EEPROM.baca (1);
vote3 = EEPROM.baca (2);
jika (undi)
{
jika ((vote1> vote2 && vote1> vote3))
{
Serial.print ("Can1 Wins");
kelewatan (2000);
}
Langkah 4: Menguji Sistem Pengundian Cap Jari Menggunakan Arduino
Untuk menguji projek, sambungkan Arduino Uno ke komputer riba dan muat naik kod yang diberikan. Setelah kod dimuat, paparan TFT akan memaparkan nama calon. Apabila seseorang mengetuk nama calon, mesin akan meminta untuk mengimbas pengimbas cap jari. Sekiranya cap jari adalah sah, maka undian pengguna akan dihitung, tetapi sekiranya corak tersebut tidak sesuai dengan catatan pangkalan data, akses untuk memberikan suara akan ditolak. Jumlah suara untuk setiap calon akan disimpan di EEPROM dan calon yang mempunyai jumlah undi tertinggi akan menang.
Saya harap anda menikmati tutorial dan mempelajari sesuatu yang berguna. Sekiranya anda mempunyai pertanyaan, sila beritahu kami di bahagian komen di bawah, dan juga ikuti kami di Instructable untuk lebih banyak projek menarik.
Disyorkan:
Sistem Keselamatan Kunci Jari Jari DIY: 8 Langkah
Sistem Keselamatan Kunci Sidik Jari DIY: Aplikasi ini berguna untuk mengamankan kunci (kunci) dari hari ke hari. Kadang kala kita mempunyai beberapa kunci biasa seperti rumah, garaj, tempat letak kereta di antara dua atau lebih orang. Terdapat sebilangan besar sistem metrik bio yang terdapat di pasar, ini
Sistem Kehadiran Jari Jari dan RFID Menggunakan Pangkalan Data Raspberry Pi dan MySQL: 5 Langkah
Sistem Kehadiran Cap Jari dan RFID Menggunakan Raspberry Pi dan MySQL Pangkalan Data: Video Projek Ini
Sistem Dalam Talian Pengundian Cap Jari (FVOS): 5 Langkah
Sistem Dalam Talian Pengundian Sidik Jari (FVOS): Sistem Pengundian Jari Jari Sidik Jari membolehkan pengundi memberikan suara secara digital dengan mengumpulkan dan mengesahkan maklumatnya dengan mengimbas cap jari melalui peranti dan menyimpan data ke Pelayan. Ia mempunyai G
Termometer Inframerah Bukan Hubungan Berasaskan Arduino - Termometer Berasaskan IR Menggunakan Arduino: 4 Langkah
Termometer Inframerah Bukan Hubungan Berasaskan Arduino | Termometer Berasaskan IR Menggunakan Arduino: Hai kawan-kawan dalam arahan ini, kami akan membuat Termometer tanpa kontak menggunakan arduino. Oleh kerana kadang-kadang suhu cecair / pepejal terlalu tinggi atau terlalu rendah dan sukar untuk bersentuhan dengannya dan membacanya suhu di pemandangan itu
Mesin ATM Menggunakan Arduino (Cetakan Jari + Kad RFID): 4 Langkah (dengan Gambar)
Mesin ATM Menggunakan Arduino (Cetakan Jari + Kad RFID): Halo kawan-kawan, saya kembali dengan idea baru mesin ATM menggunakan Arduino. Ia boleh membantu di kawasan luar bandar di mana perkhidmatan tanpa tunai tidak mungkin dilakukan. Ini sedikit idea. Saya harap anda menikmatinya. Mari mulakan