Inhaltsverzeichnis:
- Schritt 1: Erforderliche Komponenten zum Bau eines biometrischen Wahlgeräts
- Schritt 2: Schaltplan für biometrische Abstimmungsmaschine mit Arduino
- Schritt 3: Quellcode und Schritt-für-Schritt-Code-Erklärung
- Schritt 4: Testen des Fingerabdruck-Voting-Systems mit Arduino
Video: Fingerabdruck-basiertes biometrisches Wahlgerät mit Arduino - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Wir alle kennen das bestehende elektronische Wahlgerät, bei dem der Benutzer einen Knopf drücken muss, um die Stimme abzugeben. Aber diese Maschinen wurden von Anfang an wegen des Temperierens kritisiert. Die Regierung plant daher die Einführung eines auf Fingerabdrücken basierenden Wahlgeräts, bei dem Benutzer die Stimme basierend auf ihrem Fingerabdruckabdruck abgeben können. Dieses System beseitigt nicht nur die Möglichkeit doppelter Stimmen, sondern verhindert auch jede Art von Manipulation.
In diesem Projekt werden wir also einen Prototyp eines biometrischen Abstimmungsgeräts mit Arduino Uno, TFT-Display und Fingerabdrucksensor bauen. Wir haben zuvor den R305-Fingerabdrucksensor mit NodeMCU verwendet, um ein biometrisches Anwesenheitssystem aufzubauen, aber hier werden wir den fortschrittlichen GT-511C3-Fingerabdrucksensor mit Arduino verwenden.
Schritt 1: Erforderliche Komponenten zum Bau eines biometrischen Wahlgeräts
- Arduino Uno
- 2,4-Zoll-TFT-LCD-Display-Abschirmung
- GT-511C3 Fingerabdrucksensor
Dieses 2,4-Zoll-TFT-Display wurde zuvor mit Arduino verwendet, um ein IoT-basiertes Restaurant-Menü-Bestellsystem zu erstellen.
Schritt 2: Schaltplan für biometrische Abstimmungsmaschine mit Arduino
Der Schaltplan für dieses Projekt ist sehr einfach, da wir nur das TFT-Display und das Fingerabdrucksensormodul mit Arduino Uno verbinden. Die VCC- und GND-Pins des Fingerabdrucksensors sind mit den 5V- und GND-Pins von Arduino verbunden, während die TX- und RX-Pins mit den digitalen Pins 11 und 12 von Arduino Uno verbunden sind.
Der 2,4-Zoll-TFT-LCD-Bildschirm ist ein Arduino Shield und kann direkt auf Arduino Uno montiert werden, wie im folgenden Bild gezeigt. Das TFT-Display hat 28 Pins, die perfekt in Arduino Uno passen, daher musste ich den Fingerabdrucksensor auf der Rückseite des Arduino löten.
Schritt 3: Quellcode und Schritt-für-Schritt-Code-Erklärung
Der vollständige Code für dieses Fingerabdruck-Voting-System-Projekt mit Arduino ist am Ende des Artikels angegeben; hier erklären wir einige wichtige Funktionen des Codes.
Der Code verwendet die Bibliotheken SPFD5408, Software Serial und FPS_GT511C3. Die SPFD5408-Bibliothek ist die modifizierte Version der ursprünglichen Adafruit-Bibliothek. Diese Bibliotheksdateien können über die unten angegebenen Links heruntergeladen werden:
- SPFD5408-Bibliothek
- Software-Seriennummer
- FPS_GT511C3
Nachdem wir die Bibliotheken eingebunden und einige wichtige Parameter definiert haben, können wir in den Programmierteil einsteigen. Dieses Programm umfasst drei Abschnitte. Zum einen erstellen Sie eine Benutzeroberfläche eines Abstimmungsgeräts, zum anderen erhalten Sie die Berührungspunkte für Schaltflächen und erkennen die Schaltflächen anhand der Berührung und berechnen schließlich die Ergebnisse und speichern sie im Speicher von Arduino.
1. Benutzeroberfläche erstellen:
Ich habe eine einfache Benutzeroberfläche mit drei Schaltflächen und dem Namen des Projekts erstellt. Mit der TFT-Display-Bibliothek können Sie Linien, Rechtecke, Kreise, Zeichen, Zeichenfolgen und vieles mehr in jeder gewünschten Farbe und Größe zeichnen. Hier werden zwei rechteckige Schaltflächen mit den Funktionen fillRoundRect und drawRoundRect erstellt. Die Syntax für die Funktion tft.drawRoundRect ist unten angegeben:
tft.drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_th, int16_t Radius, uint16_t Farbe)
Woher:
x0= X-Koordinate des Startpunktes von Rechteck
y0= Y-Koordinate des Startpunktes von Rechteck
w = Breite des Rechtecks
h = Höhe des Rechtecks
radius= Radius der runden Ecke
color = Farbe des Rect.
void drawHome()
{
tft.fillScreen (WEISS);
tft.drawRoundRect(0, 0, 319, 240, 8, WEISS); //Seitenrand
tft.fillRoundRect(10, 70, 220, 50, 8, GOLD);
tft.drawRoundRect(10, 70, 220, 50, 8, WEISS); //Abstimmung
tft.fillRoundRect(10, 160, 220, 50, 8, GOLD);
tft.drawRoundRect(10, 160, 220, 50, 8, WEISS); //Einschreiben
tft.fillRoundRect(10, 250, 220, 50, 8, GOLD); //Ergebnis
tft.drawRoundRect(10, 250, 220, 50, 8, WEISS);
tft.setCursor(65, 5);
tft.setTextSize(3);
tft.setTextColor(CYAN);
tft.print("Abstimmung");
tft.setCursor(57, 29);
tft.print("Maschine");
tft.setTextSize(3);
tft.setTextColor(WEISS);
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. Abrufen der Berührungspunkte und Erkennungstasten:
Im zweiten Abschnitt des Codes werden wir nun die Berührungspunkte der Schaltfläche erkennen und dann diese Punkte verwenden, um die Schaltfläche vorherzusagen. Die Funktion ts.getPoint() wird verwendet, um die Berührung des Benutzers auf dem TFT-Display zu erkennen. ts.getPoint gibt die Roh-ADC-Werte für den berührten Bereich an. Diese RAW-ADC-Werte werden dann unter Verwendung der Kartenfunktion in Pixelkoordinaten umgewandelt.
TSPoint p = ts.getPoint();
if (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);
//Seriell.print("X:");
//Seriendruck (p.x);
//Seriell.print("Y:");
//Seriendruck (p.y);
Da wir nun die X- und Y-Koordinaten für jede Schaltfläche kennen, können wir mithilfe der 'if'-Anweisung vorhersagen, wo der Benutzer berührt hat.
if (p.x > 70 && p.x 10 && p.y MINDERDRUCK && p.z < MAXDRUCK)
{
Serial.println ("Kandidat 1");
Wenn ein Wähler den Kandidatenknopf drückt, wird er aufgefordert, den Finger auf dem Fingerabdrucksensor zu scannen. Wenn die Finger-ID autorisiert ist, darf der Wähler wählen. Wenn ein nicht registrierter Benutzer abstimmen möchte, erkennt das Fingerabdruckmodul seine ID nicht im System und das Display zeigt "Entschuldigung, dass Sie nicht abstimmen können".
if (fps. IsPressFinger())
{
fps. CaptureFinger (falsch);
int-ID = fps. Identify1_N();
wenn (ID <200)
{
msg = "Kandidat 1";
Stimme1++;
EEPROM.write(0, vote1);
tft.setCursor(42, 170);
tft.print("Danke");
Verzögerung (3000);
drawHome();
3. Ergebnis:
Der letzte Schritt besteht darin, die Stimmenzahl aus dem EEPROM-Speicher zu erhalten und die Stimmen aller drei Kandidaten zu vergleichen. Ein Kandidat mit den meisten Stimmen gewinnt. Das Ergebnis kann nur über den seriellen Monitor abgerufen werden und wird nicht auf dem TFT-Bildschirm angezeigt.
vote1=EEPROM.read(0);
vote2=EEPROM.read(1);
vote3=EEPROM.read(2);
wenn (abstimmen)
{
if((vote1 > vote2 && vote1 > vote3))
{
Serial.print ("Can1 gewinnt");
Verzögerung (2000);
}
Schritt 4: Testen des Fingerabdruck-Voting-Systems mit Arduino
Um das Projekt zu testen, verbinden Sie das Arduino Uno mit dem Laptop und laden Sie den angegebenen Code hoch. Sobald der Code hochgeladen ist, sollte das TFT-Display den Namen des Kandidaten anzeigen. Wenn jemand auf einen Kandidatennamen tippt, fordert das Gerät auf, den Fingerabdruckscanner zu scannen. Wenn der Fingerabdruck gültig ist, wird die Stimme des Benutzers gezählt, aber falls das Muster nicht mit den Datensätzen der Datenbank übereinstimmt, wird der Zugang zur Stimmabgabe verweigert. Die Gesamtzahl der Stimmen für jeden Kandidaten wird im EEPROM gespeichert und der Kandidat mit den meisten Stimmen gewinnt.
Ich hoffe, Ihnen hat das Tutorial gefallen und Sie haben etwas Nützliches gelernt. Wenn Sie Fragen haben, teilen Sie uns dies bitte im Kommentarbereich unten mit und folgen Sie uns auch auf Instructable für weitere interessante Projekte.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: 7 Schritte (mit Bildern)
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: Hallo, und willkommen zu meinem ersten instructable! :) In diesem instructables möchte ich eine fantastische Bibliothek für die Schnittstelle der Tastatur mit Arduino teilen - 'Password Library' einschließlich 'Keypad Library'. Diese Bibliothek enthält die besten Funktionen, die wir wi
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (mit Bildern)
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Learn How to Make a Real Time Interface in ARDUINO Using PROCESSING !!!!): Ein SCARA-Roboter ist eine sehr beliebte Maschine in der Industriewelt. Der Name steht sowohl für Selective Compliant Assembly Robot Arm als auch für Selective Compliant Articulated Robot Arm. Es ist im Grunde ein Roboter mit drei Freiheitsgraden, da er die ersten beiden Displ
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: 7 Schritte (mit Bildern)
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: Update: 7. April 2019 - Rev 3 von lp_BLE_TempHumidity, fügt Datums- / Zeitdiagramme mit pfodApp V3.0.362+ hinzu und automatische Drosselung beim Senden von DatenUpdate: 24. März 2019 – Rev 2 von lp_BLE_TempHumidity, fügt weitere Plotoptionen hinzu und i2c_ClearBus, fügt GT832E
So einfach wie ein Fingerabdruck-Sicherheitssystem täuschen – wikiHow
So täuschen Sie ein Fingerabdruck-Sicherheitssystem so einfach wie das ABC: Diese Anleitung zeigt Ihnen, wie Sie ein Fingerabdruck-Sicherheitssystem so einfach wie das ABC täuschen. IBM möchte nie, dass Sie davon erfahren. Es funktioniert auch für die meisten Fingerabdruck-Sicherheitssysteme. Zum Beispiel z.B. Tür, Handy….Diese Anleitung kommt mit v