Czytnik linii papilarnych
Czytnik linii papilarnych

Moduł GT-511 jest czytnikiem optycznym linii papilarnych. Może skanować odciski palca i porównywać je ze zgromadzoną wcześniej bazą danych linii papilarnych. Płytka sterownika z dołączonym skanerem pozwala na przykład, na sterowanie przekaźnikiem danymi biometrycznymi. Przekaźnik zadziała tylko wtedy, jeśli skan odcisku palca będzie właściwy.

Moduł GT-511 to niewielka płytka o wymiarach – wraz z plastikowymi uchwytami mocującymi – 38 mm×25 mm×10 mm. Głównym elementem jest matowo-białe pole dotykowe, pod którym umieszczono podświetlenie i sensor optyczny. Poza tym, na płytce zmontowane jest miniaturowe gniazdo do doprowadzenia zasilania i sygnałów TxD i RxD portu szeregowego do komunikacji z modułem. Na dolnej stronie zamontowano układy elektroniczne i większość elementów dyskretnych. Dioda LED sygnalizująca podłączenie zasilania zamontowano na górze płytki, po tej samej stronie, co sensor i gniazdo. Wygląd modułu i rozmieszczenie wyprowadzeń w gnieździe pokazano na rysunku 1.

Moduły są dostępne w 2 wariantach oznaczonych jako GT-511C1R i GT-511C3. Najważniejszą różnicą pomiędzy nimi jest wielkość możliwej do zapamiętania bazy danych linii papilarnych. Dla GT-511C1R to 20 odcisków, natomiast dla GT-511C3 aż 200. Oznacza to, że drugi z modułów będzie potrafił zapamiętać i potem rozpoznać 10 razy więcej odcisków palca, niż ten pierwszy. Inne parametry modułu GT-511C3 są następujące:

obszar skanowania: 14 mm×12,5 mm,

czas skanowania: poniżej 3 sekund,

czas identyfikacji: poniżej 1 sekundy,

napięcie zasilające: 3,3…6 V DC,

pobór prądu: poniżej 130 mA,

zakres temperatury pracy: –20…+60°C,

wilgotność: 20…80%.

Moduł reaguje na zestaw komend sterujących wysyłanych według ustalonego protokołu. Składają się na niego dwa bajty 0x5A i 0xA5 inicjujące transmisję, 2 bajty z numerem identyfikującym moduł, bajty danych w tym kod rozkazu sterującego i 2 bajty sumy kontrolnej. Do komunikacji moduł wykorzystuje interfejs szeregowy UART z dwiema liniami RxD i TxD. Podstawową szybkością transmisji jest 9600 bodów.

Cała baza danych związana ze zgromadzonymi informacjami o zapamiętanych odciskach palców, przechowywana jest w module. Nie ma potrzeby dołączania zewnętrznej pamięci danych.

Sterownik modułu

Schemat proponowanego rozwiązania sterownika współpracującego z modułem pokazano na rysunku 2. Jako element sterujący wykorzystany został jeden z najmniejszych kontrolerów firmy ST o oznaczeniu STM32F030. Układ dysponuje 16 kB pamięci Flash i 2 kB pamięci RAM. Jest dostępny w miniaturowej, dwurzędowej obudowie typu TSSOP20. Do portów PA9, PA10 kontrolera, dołączone są linie RxD, TxD skanera. Oprócz tych linii do gniazda SV1 skanera doprowadzone jest stabilizowane napięcie zasilające +5 V.

Sterownik wykorzystuje moduł wyświetlacza OLED do przekazywania komunikatów o pracy i stanie w jakim się znajduje. Wyświetlacz o rozdzielczości 128×64 piksele, jest dołączony do gniazda oznaczonego na schemacie jako DIS1. Wyświetlacz komunikuje się z kontrolerem za pomocą linii SDA i SCL magistrali I2C. Na styki gniazda DIS wyprowadzone jest także napięcie zasilania  +3,3 V dla modułu wyświetlacza.

Elementem wykonawczym jest przekaźnik PK1 o pojedynczym styku przełącznym. Styki przekaźnika wyprowadzone są na zł?cze X2. Przeka?nikiem steruje port PA5 kontrolera, poprzez tranzystor Q2. Stan za??czenia przeka?nika sygnalizuje ?wiecenie diody LED1.

Zwarcie zmontowanych na?p?ytce styk?w jumpera JP1, wprowadza sterownik w?tryb serwisowy. Do?wyboru pomi?dzy dost?pnymi wtedy opcjami s?u?? miniaturowe przyciski S1 i?S2. Gniazdo SV2 pe?ni funkcje pomocnicz?, pozwala programowa? kontroler zamontowany na?p?ytce.

ącze X2. Przekaźnikiem steruje port PA5 kontrolera, poprzez tranzystor Q2. Stan załączenia przekaźnika sygnalizuje świecenie diody LED1.

Zwarcie zmontowanych na płytce styków jumpera JP1, wprowadza sterownik w tryb serwisowy. Do wyboru pomiędzy dostępnymi wtedy opcjami służą miniaturowe przyciski S1 i S2. Gniazdo SV2 pełni funkcje pomocniczą, pozwala programować kontroler zamontowany na płytce.

Zasilanie

Zasilanie całego układu doprowadzone jest do gniazda X1. Dzięki zastosowaniu mostka prostowniczego M1, polaryzacja napięcia może być dowolna. Dla wartości elementów takich jak na schemacie zasilanie napięciem stałym może się wahać w przedziale od 9 V do 12 V. Ze względu na stosunkowo duży pobór prądu rzędu 200 mA, stabilizator US1 może się nagrzewać. Dlatego korzystniej zasilać układ niższym napięciem. Ograniczeniem od dołu jest napięcie załączania przekaźnika PK1. Zamontowanie przekaźnika pracującego przy niższym napięciu np. 6 V pozwoli obniżyć poziom zasilania do takiej wartości.

Montaż

Na płytce drukowanej montowany jest kontroler i jego otoczenie. Elementy największe takie jak przekaźnik i złącza śrubowe X1 i X2 wlutowujemy na końcu. Wyświetlacz osadzany jest w 4 stykowym gnieździe typu goldpin. Jeżeli zastosujemy mikro przyciski z długimi popychaczami, można pomyśleć o umieszczeniu sterownika w jakiejś obudowie. Przewidziano w tym celu otwory mocujące, które na płytce znajdują się bezpośrednio pod odpowiadającym im otworom w wyświetlaczu DIS1.

Do złącza SV1 na płytce sterownika należy podłączyć moduł skanera przy pomocy 4 przewodowego kabla zakończonym odpowiednim miniaturowym wtykiem. Długość kabla może wynosić 20 cm. Pozwoli to zamontować moduł skanera oddzielnie od sterownika, w dogodnym miejscu.

Korzystanie z czytnika linii papilarnych

Przed podaniem prawidłowego napięcia zasilającego, do płytki sterownika podłączamy wyświetlacz i moduł skanera. Po zasileniu na ekranie wyświetlacza pojawia się winieta powitalna. Gdyby wystąpiły jakieś problemy z komunikacją z modułem skanera, po kilku sekundach wyświetli się napis „brak komunikacji” i działanie sterownika ulegnie zawieszeniu. Należy odłączyć zasilanie, sprawdzić czy moduł jest prawidłowo podłączony i ponownie zasilić sterownik. Jeżeli usterka zostanie usunięta, sterownik nawiąże komunikacje z modułem i pojawi się napis „podlaczony” a po chwili ekran podobny do tego z rysunku 3.

Napis „skanowanie” co sekundę wygasza się i wyświetla ponownie. W momencie pojawienia się napisu, zostaje włączone podświetlenie modułu, który w tym momencie jest gotów do skanowania palca. Jeżeli palec jest przyłożony, czytnik go zeskanuje i wyświetli napis „nie rozpoznany” ponieważ baza jego linii papilarnych jest pusta. Żeby czytnik rozpoznawał odcisk naszego palca należy przejść do trybu serwisowego i utworzyć bazę rozpoznawanych linii papilarnych.

Tryb serwisowy

Inicjacja trybu serwisowego następuje po zwarciu zwory JP1. W trybie serwisowym powinien zostać wyświetlony komunikat pokazany na rysunku 4. Uzyskujemy dostęp do 3 pozycyjnego menu:

Kasowania wybranego ID, czyli przypisanego do określonego numeru zestawu danych identyfikujących zarejestrowany wcześniej odcisk palca.

Kasowania wszystkich ID, czyli całej bazy danych zarejestrowanych odcisków.

Dodania nowego ID, czyli przeprowadzenia operacji dodania do bazy danych nowego odcisku palca.

Gwiazdka z lewej strony wskazuje pozycję do wybrania. Pomiędzy kolejnymi opcjami poruszamy się przy pomocy krótkich naciśnięć przycisku S1 oznaczonego na schemacie i płytce drukowanej napisem „SEL”. Kiedy gwiazdka wskazuje pozycję dodania nowego ID, krótko naciskamy przycisk S2 oznaczony napisem „OK”. W tym momencie rozpoczyna się procedura rejestracji danych nowego odcisku palca.

Na górze wyświetlacza zostanie pokazana informacja o numerze ID pod którym zostanie zarejestrowany nowy odcisk oraz polecenie dotknięcia czytnika. Ten ekran pokazano na rysunku 5. Zgodnie z wyświetlanymi poleceniami należy 3 krotnie tym samym palcem dotknąć skanera i cofnąć palec. Na koniec zostanie wyświetlona informacja o sukcesie lub błędzie. W tym drugim przypadku baza nie zostanie zmieniona i całą operację rejestracji nowego odcisku należy powtórzyć.

W wypadku wybrania opcji usunięcia pojedynczego ID z bazy, przy pomocy następnego ekranu i przycisku „SEL” wybieramy jeden z wyświetlanych po kolei numerów. Akceptujemy wybór przyciskiem „OK”. Sterownik poprosi wtedy o potwierdzenie decyzji o usunięciu danych z bazy. Klawiszem „OK” potwierdzamy lub naciskając klawisz „SEL” wycofujemy się z usunięcia danych z bazy. Ten ekran pokazano na rysunku 6.

Podobnie wygląda działanie opcji usunięcia całej bazy odcisków z pamięci urządzenia. Usunięcie zwory JP1 gdy wyświetlane jest menu opcji spowoduje automatyczne zakończenie trybu serwisowego i przejście do normalnej pracy.

Uwagi o pracy z czytnikiem

W czasie pracy urządzenie znajduje się w jednym z 3 stanów:

Oczekiwania na dotknięcie czytnika i rozpoczęcie skanowania palca.

Odrzucenia nieznanego lub nieprawidłowego wyniku skanu.

Akceptacji skanu jako jednego ze znalezionych w bazie.

Tylko w tym ostatnim wypadku przekaźnik zostanie załączony na około 5 sekund. Kolejne zadziałanie przekaźnika nawet dla tego samego palca wymaga ponownego prawidłowego skanu. Najlepsze efekty uzyskuje się gdy środek opuszki palca jest swobodnie dociśnięty w centrum pola skanującego czytnika. Co ciekawe, palec w płaszczyźnie poziomej może znajdować się pod dowolnym kątem względem środka czytnika – skaner bez większych kłopotów porównuje odcisk zarejestrowany w bazie. Czytnik dobrze sobie radzi z odciskami palców o skórze lekko wilgotnej lub tłustawej. W wypadku suchej skóry, skan może być odrzucony lub w ogóle czytnik nie będzie „widział” linii papilarnych. Wystarczy jednak oddech żeby zwilżyć na chwilę opuszkę palca i weryfikacja stanie się możliwa.

W czasie długich testów urządzenie właściwie nie dało się oszukać akceptując niezarejestrowany w bazie odcisk. Natomiast zdarza się sytuacja gdy „zarejestrowany” palec nie jest za pierwszym razem rozpoznawany. Powodem może być sucha skóra lub niewłaściwe ułożenie palca powodujące, że część palca nie przylega do czytnika. Jednak bardzo szybko można się nauczyć prawidłowego korzystania ze skanera.

W czasie testów z dwoma egzemplarzami modułów skanera, jeden radził sobie wyraźnie gorzej, odmawiając współpracy z niektórymi palcami. Należy sądzić, że była to cecha osobnicza. Oprogramowanie sterownika jest przystosowane do współpracy z dwiema wersjami modułów: GT-511C1R i GT-511C3.

Płytka sterownika

Dla ułatwienia obsługi czytnika, a także dla ewentualnej jego aplikacji, wykonano nieskomplikowany sterownik – jego schemat omówiono wcześniej. Sterownik zmontowano na dwustronnej płytce drukowanej. Jej schemat montażowy pokazano na rysunku 7. Projekt płytki drukowanej w formacie Eagle oraz jej schemat są dostępne w materiałach dodatkowych do artykułu.

Ryszard Szymaniak, EP

Artykuł ukazał się w
Elektronika Praktyczna
listopad 2018
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik listopad 2019

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad 2019

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje listopad 2019

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna listopad 2019

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich listopad 2019

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów