Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Tutorial Arduino-vingerafdruksensor

Componenten en benodigdheden

Arduino Nano R3
× 1
Broodplank (algemeen)
× 1
Vingerafdruksensor
× 1
1.44" LCD ILI9361C
× 1

Apps en online services

Arduino IDE

Over dit project

Beste vrienden welkom bij een nieuwe tutorial! Vandaag gaan we een interessant Arduino-project bouwen dat gebruik maakt van een vingerafdruksensormodule . Laten we zonder verder uitstel beginnen!

Ik heb altijd al een vingerafdruksensormodule willen proberen om meer te weten te komen over de technologie ervan en deze in sommige van mijn projecten te gebruiken om er biometrische beveiliging aan toe te voegen.

Om een ​​eenvoudig gebruik van de sensor te demonstreren, is dit eenvoudige project gebouwd. Ik heb de sensor aangesloten op een Arduino Nano, en ik gebruik ook het kleine maar zeer snelle 1,44 inch kleuren TFT-scherm. Het project vraagt ​​om een ​​geldige vingerafdruk om te ontgrendelen. Als ik mijn vinger op de sensor plaats, herkent deze mijn vinger, wordt het vingerafdrukpictogram groen en wordt ik welkom geheten. Als mijn vriendin haar vinger op de sensor legt, herkent deze haar ook en toont ze een welkomstbericht met haar naam. Als ik nog een vinger op de sensor leg, ontgrendelt het project het scherm niet. Het werkt prima en je zult zien, je kunt dit project in minder dan 10 minuten bouwen ! Laten we eens kijken hoe we dat kunnen bereiken!

Stap 1:Verkrijg alle onderdelen

De onderdelen die nodig zijn om dit project te bouwen zijn deze:

  • Een Arduino Nano ▶ http://educ8s.tv/part/ArduinoNano
  • De vingerafdruksensormodule ▶ http://educ8s.tv/part/FingerprintSensor
  • Een 1,44-inch TFT-kleurenscherm ▶ http://bit.ly/144TFTLCD
  • Een klein breadboard ▶ http://educ8s.tv/part/SmallBreadboard
  • Sommige draden ▶ http://bit.ly/Wires3InOne
  • Powerbank ▶ http://educ8s.tv/part/Powerbank

De kosten van dit project bedragen ongeveer $ 30. Als je rekening houdt met de technologie die dit project gebruikt, zijn deze kosten erg laag. 10 jaar geleden zouden projecten als deze een paar honderd dollar kosten!

Stap 2:Het 1,44-inch LCD-scherm

Dit scherm is erg snel. Het gebruikt de ILI9163C-driver. Het heeft een resolutie van 128x128 pixels en kan tot 260.000 kleuren weergeven. Het is heel gemakkelijk te gebruiken met Arduino en het kost ongeveer $ 4,-.

Het display gebruikt het SPI-protocol om te communiceren met het Arduino-bord. We hoeven maar 8 draden aan te sluiten om het te laten werken. Laten we beginnen.

Verbinding met Arduino

Vcc ▶ 5V pin van de Arduino

GND ▶ Arduino GND-pin

CS ▶ Digitale pin 10

RST ▶ Digitale pin 9

A0 ▶ Digitale pin 8

SDA ▶ Digitale pin 11

SCK ▶ Digitale pin 13

LED ▶ 3.3V pin van de Arduino

Zoals je kunt zien, is dit display heel gemakkelijk te gebruiken met Arduino. Het is erg goedkoop, erg snel, het is klein van formaat en het trekt slechts ongeveer 30 mA stroom. Ik vind het een mooi scherm om te gebruiken in projecten die geen groot scherm nodig hebben, maar kleur zou leuk zijn.

Je kunt het hier downloaden ▶ http://bit.ly/144TFTLCD

Stap 3:De vingerafdruksensormodule

De vingerafdruksensormodule is klein en mooi gebouwd en maakt gebruik van enkele geavanceerde DSP-chips (Digital Signal Processing).

De sensor werkt als volgt. Het is een optische sensor, wat betekent dat hij de foto van een vinger analyseert. Vervolgens rendert het de afbeelding, maakt een aantal berekeningen, vindt de kenmerken van die vinger en zoekt vervolgens in zijn geheugen naar een vingerafdruk met dezelfde kenmerken. Het kan dat allemaal in minder dan een seconde bereiken!

Deze module kan tot 1000 vingerafdrukken in zijn geheugen opslaan en de valse acceptatiegraad is minder dan 0,001%, wat hem behoorlijk veilig maakt! Geweldig! We krijgen dat allemaal in een zeer gebruiksvriendelijke module en tegen zeer lage kosten! Het is echt een indrukwekkende technologie!

Je kunt het hier downloaden ▶ http://educ8s.tv/part/FingerprintSensor

Stap 4:De onderdelen aansluiten

Laten we nu alle onderdelen samenvoegen.

Eerst moeten we de vingerafdruksensormodule aansluiten. We pluggen de kabel in aan de achterkant van de module. Controleer de bijgevoegde foto.

Vingerafdruksensorverbinding

Zwarte draad ▶ Arduino GND

Rode draad ▶ Arduino 5V

Groene draad ▶ Digitale pin 2

Witte draad ▶ Digitale pin 3

We zijn nu klaar om het display aan te sluiten op Arduino.

Verbinding weergeven

Vcc ▶ 5V pin van de Arduino

GND ▶ Arduino GND-pin

CS ▶ Digitale pin 10

RST ▶ Digitale pin 9

A0 ▶ Digitale pin 8

SDA ▶ Digitale pin 11

SCK ▶ Digitale pin 13

LED ▶ 3.3V pin van de Arduino

Dat is het! We zijn klaar om het project kracht bij te zetten. Zoals je ziet werkt het prima! Makkelijk toch?

Stap 5:De code van het project

Laten we nu kijken naar de softwarekant van het project en hoe we onze vingerafdrukken kunnen registreren in het ingesloten geheugen van de module om ze te herkennen.

We moeten enkele bibliotheken downloaden. Allereerst hebben we de Adafruit Fingerprint-bibliotheek, de Adafruit GFX-bibliotheek en de Sumotoy's-bibliotheek nodig voor de weergave.

https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library

https://github.com/adafruit/Adafruit-GFX-Library

https://github.com/sumotoy/TFT_ILI9163C

Allereerst moeten we het inschrijfvoorbeeld uploaden naar ons Arduino-bord. We gaan naar Bestand -> Voorbeelden -> Adafruit Vingerafdruksensorbibliotheek -> Inschrijven. Met dit voorbeeldprogramma kunnen we vingerafdrukken opslaan in het FLASH-geheugen van de module. We uploaden de schets en we openen de Seriële Monitor. Het programma vraagt ​​ons om de ID in te voeren om in te schrijven. Vervolgens plaatsen we de vinger twee keer op de sensor zoals ons is opgedragen en wordt de vingerafdruk opgeslagen! Zo kun je maar liefst 1000 vingerafdrukken opslaan!

Laten we nu de code laden die ik heb ontwikkeld. Dankzij de bibliotheken van Adafruit is de code van het project heel eenvoudig. Laten we een klein deel van de code bekijken.

void loop() { fingerprintID =getFingerprintID(); //We scannen de vingerafdruk hier vertraging (50); if (fingerprintID ==1) // We hebben een geldige vingerafdruk gevonden met de id 1 { display.drawBitmap (30,35,icon,60,60,GREEN); vertraging (2000); displayUnlockedScreen(); displayIoanna(); vertraging (5000); display.fillScreen(ZWART); displayLockScreen(); } if(fingerprintID ==2) // We hebben een geldige vingerafdruk gevonden met de id 2 { display.drawBitmap (30,35,icon,60,60,GREEN); vertraging (2000); displayUnlockedScreen(); displayNick(); vertraging (5000); display.fillScreen(ZWART); displayLockScreen(); }} 

We starten de sensor en het display en controleren elke 50 ms of er een vinger op de sensor zit. Als er een vinger op de sensor zit, vragen we de module om te zoeken of die vinger in het geheugen is geregistreerd. Als het de vingerafdruk in het geheugen vindt, retourneert het de ID van die vingerafdrukken. Vervolgens wordt een welkomstbericht weergegeven en wordt het scherm na een paar seconden weer vergrendeld.

Zoals altijd kun je de code van het project in deze tutorial vinden. Aangezien ik de code van tijd tot tijd update, ga je voor de nieuwste versie van de code naar de website van het project:http://educ8s.tv/arduino-fingerprint-sensor-module...

Fingerprint.ino

Stap 6:Laatste gedachten

Ik ben echt onder de indruk van de prestaties en het gebruiksgemak van deze vingerafdruksensormodule. Tegen zeer lage kosten kunnen we biometrische beveiligingsfuncties aan onze projecten toevoegen. Dat is geweldig. Projecten als deze zouden zelfs een paar jaar geleden voor een maker onmogelijk zijn geweest. Dat is het mooie en de kracht van open source hardware en software. Na deze eerste test ga ik de vingerafdruksensormodule samen met een elektrisch slot gebruiken om te zien of we deze sensor in een echte situatie kunnen gebruiken, dus houd ons in de gaten. Laat me je mening over deze sensor weten in de comments hieronder. Bedankt!

Code

  • Codefragment #1
Codefragment #1Platte tekst
void loop() { fingerprintID =getFingerprintID(); //We scannen de vingerafdruk hier vertraging (50); if (fingerprintID ==1) // We hebben een geldige vingerafdruk gevonden met de id 1 { display.drawBitmap (30,35,icon,60,60,GREEN); vertraging (2000); displayUnlockedScreen(); displayIoanna(); vertraging (5000); display.fillScreen(ZWART); displayLockScreen(); } if(fingerprintID ==2) // We hebben een geldige vingerafdruk gevonden met de id 2 { display.drawBitmap (30,35,icon,60,60,GREEN); vertraging (2000); displayUnlockedScreen(); displayNick(); vertraging (5000); display.fillScreen(ZWART); displayLockScreen(); }}
Github
https://github.com/sumotoy/TFT_ILI9163Chttps://github.com/sumotoy/TFT_ILI9163C
Github
https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Libraryhttps://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library
Github
https://github.com/adafruit/Adafruit-GFX-Libraryhttps://github.com/adafruit/Adafruit-GFX-Library

Productieproces

  1. In-Display-vingerafdruksensor
  2. Raspberry Pi-lichtsensor:een eenvoudige LDR-zelfstudie
  3. Arduino RFID Lock-zelfstudie
  4. CO2-monitoring met K30-sensor
  5. Hoe lang ben je?
  6. Capacitieve vingerafdruksensor met een Arduino of ESP8266
  7. Arduino Cloud Sensor Tower
  8. Bewegingssensor-waterpistool
  9. Mini-radar met Arduino
  10. Touch Controlled Light met Arduino
  11. Arduino-zelfstudie 01:Aan de slag