İçindekiler:
- Adım 1: Biyometrik Oylama Makinesini Oluşturmak için Gerekli Bileşenler
- Adım 2: Arduino Kullanan Biyometrik Oylama Makinesi için Devre Şeması
- Adım 3: Kaynak Kodu ve Adım Adım Kod Açıklaması
- Adım 4: Arduino Kullanarak Parmak İzi Oylama Sistemini Test Etme
Video: Arduino Kullanan Parmak İzi Tabanlı Biyometrik Oylama Makinesi: 4 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Kullanıcının oy kullanmak için bir düğmeye basması gereken mevcut elektronik oylama makinesinin hepimiz farkındayız. Ancak bu makineler başından beri tavlama nedeniyle eleştiriliyor. Bu nedenle hükümet, kullanıcıların parmak izi izlenimine göre oy kullanabilecekleri parmak izi tabanlı bir oylama makinesi sunmayı planlıyor. Bu sistem sadece mükerrer oy olasılığını ortadan kaldırmakla kalmayacak, aynı zamanda her türlü manipülasyonu da önleyecektir.
Bu projede, Arduino Uno, TFT ekran ve Parmak İzi Sensörünü kullanarak bir Biyometrik oylama makinesinin prototipini oluşturacağız. Daha önce Biyometrik tabanlı bir Katılım Sistemi oluşturmak için NodeMCU ile R305 Parmak İzi Sensörünü kullandık ancak burada Arduino ile gelişmiş GT-511C3 parmak izi sensörünü kullanacağız.
Adım 1: Biyometrik Oylama Makinesini Oluşturmak için Gerekli Bileşenler
- Arduino Uno'su
- 2.4” TFT LCD Ekran Kalkanı
- GT-511C3 Parmak İzi Sensörü
Bu 2,4 inç TFT ekran, daha önce IoT Tabanlı Restoran Menü Sipariş Sistemi oluşturmak için Arduino ile birlikte kullanılıyordu.
Adım 2: Arduino Kullanan Biyometrik Oylama Makinesi için Devre Şeması
Bu proje için Devre Şeması, Arduino Uno ile sadece TFT ekran ve parmak izi sensör modülünü bağladığımız için çok basittir. Parmak izi sensörünün VCC ve GND pinleri Arduino'nun 5V ve GND pinlerine, TX ve RX pinleri ise Arduino Uno'nun dijital pin 11 & 12'sine bağlanır.
2.4” TFT LCD ekran bir Arduino Shield'dir ve aşağıdaki resimde gösterildiği gibi doğrudan Arduino Uno'ya monte edilebilir. TFT ekranın Arduino Uno'ya mükemmel şekilde uyan 28 pini var, bu yüzden Arduino'nun arka tarafındaki parmak izi sensörünü lehimlemek zorunda kaldım.
Adım 3: Kaynak Kodu ve Adım Adım Kod Açıklaması
Arduino kullanan bu Parmak İzi Oylama Sistemi Projesinin tam kodu makalenin sonunda verilmiştir; burada kodun bazı önemli fonksiyonlarını açıklıyoruz.
Kod SPFD5408, Software Serial ve FPS_GT511C3 kitaplıklarını kullanır. SPFD5408 kütüphanesi, orijinal Adafruit Kütüphanesinin değiştirilmiş versiyonudur. Bu kütüphane dosyaları aşağıda verilen bağlantılardan indirilebilir:
- SPFD5408 Kitaplığı
- Yazılım Seri
- FPS_GT511C3
Kütüphaneleri ekledikten ve bazı önemli parametreleri tanımladıktan sonra programlama kısmına geçebiliriz. Bu programda yer alan üç bölüm vardır. Biri bir oylama makinesinin UI'sini oluşturmak, ikincisi düğmeler için temas noktalarını almak ve dokunmaya dayalı düğmeleri algılamak ve son olarak sonuçları hesaplayıp Arduino'nun belleğine kaydetmek.
1. Kullanıcı Arayüzü Oluşturma:
Üç düğme ve projenin adı ile basit bir kullanıcı arayüzü oluşturdum. TFT ekran kitaplığı, Çizgiler, Dikdörtgen, Daireler, Karakterler, Dizeler ve tercih edilen herhangi bir renk ve boyuttan çok daha fazlasını çizmenize olanak tanır. Burada fillRoundRect ve drawRoundRect işlevleri kullanılarak iki dikdörtgen düğme oluşturulur. tft.drawRoundRect işlevinin sözdizimi aşağıda verilmiştir:
tft.drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h, int16_t yarıçap, uint16_t renk)
Nereye:
x0= Dikdörtgenin başlangıç noktasının X koordinatı
y0= Dikdörtgenin başlangıç noktasının Y koordinatı
w = Dikdörtgenin genişliği
h = Dikdörtgenin Yüksekliği
yarıçap = Yuvarlak köşenin yarıçapı
color = Rect'in rengi.
geçersiz drawHome()
{
tft.fillScreen(BEYAZ);
tft.drawRoundRect(0, 0, 319, 240, 8, BEYAZ); //Sayfa kenarı
tft.fillRoundRect(10, 70, 220, 50, 8, ALTIN);
tft.drawRoundRect(10, 70, 220, 50, 8, BEYAZ); //Oy
tft.fillRoundRect(10, 160, 220, 50, 8, ALTIN);
tft.drawRoundRect(10, 160, 220, 50, 8, BEYAZ); //Kaydol
tft.fillRoundRect(10, 250, 220, 50, 8, ALTIN); //Sonuç
tft.drawRoundRect(10, 250, 220, 50, 8, BEYAZ);
tft.setCursor(65, 5);
tft.setTextSize(3);
tft.setTextColor(CYAN);
tft.print("Oylama");
tft.setCursor(57, 29);
tft.print("Makine");
tft.setTextSize(3);
tft.setTextColor(BEYAZ);
tft.setCursor(25, 82);
tft.print("Aday 1");
tft.setCursor(25, 172);
tft.print("Aday 2");
tft.setCursor(25, 262);
tft.print("Aday 3");
}
2. Temas Noktalarını Alma ve Butonları Tespit Etme:
Şimdi kodun ikinci bölümünde, buton temas noktalarını tespit edeceğiz ve ardından bu noktaları butonu tahmin etmek için kullanacağız. ts.getPoint() işlevi, kullanıcının TFT ekranındaki dokunuşunu algılamak için kullanılır. ts.getPoint, dokunulan alan için Ham ADC değerlerini verir. Bu RAW ADC değerleri daha sonra harita işlevi kullanılarak Piksel Koordinatlarına dönüştürülür.
TSPoint p = ts.getPoint();
if (p.z > ts.pressureThreshhold)
{
p.x = harita(p.x, TS_MAXX, TS_MINX, 0, 320);
p.y = harita(p.y, TS_MAXY, TS_MINY, 0, 240);
//Seri.print("X:");
//Seri.baskı(p.x);
//Seri.print("Y:");
//Seri.baskı(p.y);
Artık her bir buton için X ve Y koordinatlarını bildiğimize göre, 'if' deyimini kullanarak kullanıcının nereye dokunduğunu tahmin edebiliyoruz.
if (p.x > 70 && p.x 10 && p.y MINBASINÇ && p.z < MAX BASINÇ)
{
Serial.println("Aday 1");
Bir seçmen aday düğmesine bastığında, parmak izi sensöründeki parmağını taraması istenecek. Parmak kimliği yetkilendirilmişse, seçmenin oy kullanmasına izin verilir. Kayıtlı olmayan herhangi bir kullanıcı oy vermek isterse, parmak izi modülü sisteme kimliğini algılamaz ve ekranda 'Üzgünüm Oy Kullanamazsınız' mesajı gösterilir.
if (fps. IsPressFinger())
{
fps. CaptureFinger(yanlış);
int id = fps. Identify1_N();
eğer (kimlik <200)
{
msg = "Aday 1";
oy1++;
EEPROM.write(0, oy1);
tft.setCursor(42, 170);
tft.print("Teşekkürler");
gecikme(3000);
DrawHome();
3. Sonuç:
Son adım, EEPROM hafızasından oy sayımını almak ve her üç adayın oylarını karşılaştırmaktır. En yüksek oyu alan aday kazanır. Sonuç sadece seri monitörden erişilebilir ve TFT ekranında görüntülenmez.
oy1=EEPROM.read(0);
oy2=EEPROM.read(1);
oy3=EEPROM.read(2);
eğer(oy)
{
if((oy1 > oy2 && oy1 > oy3))
{
Serial.print("Can1 Kazandı");
gecikme(2000);
}
Adım 4: Arduino Kullanarak Parmak İzi Oylama Sistemini Test Etme
Projeyi test etmek için Arduino Uno'yu dizüstü bilgisayara bağlayın ve verilen kodu yükleyin. Kod yüklendikten sonra TFT ekranı adayın adını göstermelidir. Birisi aday adına dokunduğunda, makine parmak izi tarayıcısını taramak isteyecektir. Parmak izi geçerliyse, kullanıcı oyu sayılır, ancak desenin veritabanı kayıtlarıyla eşleşmemesi durumunda oy kullanma erişimi reddedilir. Her adayın toplam oy sayısı EEPROM'da saklanacak ve en çok oyu alan aday kazanacaktır.
Umarım öğreticiyi beğenmişsinizdir ve faydalı bir şeyler öğrenmişsinizdir. Herhangi bir sorunuz varsa, lütfen aşağıdaki yorum bölümünde bize bildirin ve bu tür ilginç projeler için Instructable'da bizi takip edin.
Önerilen:
Raspberry Pi ve MySQL Veritabanı Kullanan Parmak İzi ve RFID Tabanlı Katılım Sistemi: 5 Adım
Raspberry Pi ve MySQL Veritabanı Kullanan Parmak İzi ve RFID Tabanlı Katılım Sistemi: Bu Projenin Videosu
Parmak İzi Okuyuculu ve RFID Okuyuculu Elektrikli Kapı Kilidi: 11 Adım (Resimli)
Parmak İzi Okuyuculu ve RFID Okuyuculu Elektrikli Kapı Kilidi: Anahtar kullanma zorunluluğunu ortadan kaldırmak için tasarlanan projede amacımıza ulaşmak için optik parmak izi sensörü ve Arduino kullandık. Ancak parmak izi okunamayan kişiler var ve sensör bunu tanımayacak. Sonra düşünmek bir
Online Parmak İzi Oylama Sistemi (FVOS): 5 Adım
Online Parmak İzi Oylama Sistemi (FVOS): Online Parmak İzi Oylama Sistemi, seçmenlerin parmak izi cihaz üzerinden okutarak bilgilerini toplayıp onaylayarak ve verileri bir Sunucuya kaydederek tamamen dijital olarak oy kullanmalarını sağlar. Kullanıcı dostu G
Arduino Tabanlı Temassız Kızılötesi Termometre - Arduino Kullanan IR Tabanlı Termometre: 4 Adım
Arduino Tabanlı Temassız Kızılötesi Termometre | Arduino Kullanan IR Tabanlı Termometre: Merhaba arkadaşlar, bu talimatta arduino kullanarak temassız bir Termometre yapacağız. Bazen sıvının/katının sıcaklığı çok yüksek veya çok düşük olduğundan, onunla temas kurmak ve okumak zordur. o sahnede sıcaklık
Arduino Kullanan ATM Makinesi (Parmak izi+RFID Kart): 4 Adım (Resimli)
Arduino Kullanan ATM Makinesi (Parmak izi+RFID Kart): Merhaba arkadaşlar,Arduino kullanan yeni bir ATM makinesi fikri ile geri döndüm.Nakitsiz hizmetlerin mümkün olmadığı kırsal alanlarda yardımcı olabilir.Umarım biraz fikir. hoşuna gitti. hadi başlayalım