Domáci biometrický zámok na odtlačky prstov na garážovú bránu. Podomácky vyrobený biometrický zámok na odtlačky prstov na garážovú bránu Pripojenie snímača odtlačkov prstov k počítaču

Domáci biometrický zámok na odtlačky prstov na garážovú bránu. Podomácky vyrobený biometrický zámok na odtlačky prstov na garážovú bránu Pripojenie snímača odtlačkov prstov k počítaču

Keďže nemám auto, nepotrebujem so sebou všade nosiť kľúče. Z tohto dôvodu sa ukázalo, že niekoľkokrát som sa ocitol bez kľúčov pred domom a musel som čakať, kým niekto z príbuzných príde domov a pustí ma dnu, a v určitom okamihu som sa rozhodol, že s tým musím niečo urobiť. a navrhol podomácky vyrobený garážový zámok.

V tomto projekte vám ukážem, ako si vyrobiť zámok na odtlačky prstov pre vaše predné dvere.

Krok 1: Materiály


Tu je zoznam potrebných materiálov a nástrojov.

elektronika:

  • Skener odtlačkov prstov (a konektor JST)
  • LCD set (s ATmega328)
  • ATtiny85
  • NPN tranzistor
  • Výškový reproduktor
  • Reproduktorový kábel
  • Puzdro (v kroku 9 budú súbory pre 3D tlač)
  • Medený film
  • Regulátor napätia 5V
  • Batéria 9V
  • Konektor pre 9V batériu
  • SPDT spínač

Pre pohodlie pripojím hotový wishlist na stránke Sparkfun.

Nástroj:

  • Spájkovačka a spájka
  • Izolačná páska
  • Drôty a prepojky
  • Kliešte/striper
  • Doska na prototypovanie
  • Rôzne odpory
  • Skrutky
  • Vŕtajte
  • Niekoľko LED diód na testovanie
  • FTDI 5V doska
  • Horúca lepiaca pištoľ
  • Prístup k 3D tlačiarni
  • Voliteľné: IC zásuvka (8-pin pre ATtiny a 28-pin pre ATmega)
  • Voliteľné: ďalšia doska Arduino / 10uF kondenzátor (podrobnosti v kroku 5)

Krok 2: Schéma zariadenia






Súprava LCD zakúpená od spoločnosti Sparkfun sa dodáva s ATmega328, ktorý ovláda displej. ATmega328 je pomerne výkonný a dá sa použiť nielen na ovládanie displeja, ale aj na iné úlohy. Vzhľadom na to ho môžeme použiť namiesto Arduina na komunikáciu so snímačom odtlačkov prstov a odosielanie príkazov do ATtiny85, ovládanie displeja a pípania.

Aby biometrický zámok dverí nefungoval neustále, zabudoval som do neho spínač, ktorý funguje v momente zatvorenia puzdra. Ak je puzdro zatvorené, zariadenie nie je napájané a šetríme zdroje batérie.

Dôležitá poznámka: Skener odtlačkov prstov pracuje pri 3,3 V, preto odporúčam použiť napäťový delič, ktorý prevedie signály z ATmega na 3,2 V. Delič napätia sa skladá z 560 ohmového odporu medzi D10/sekundový kolík skenera a 1K odporu medzi GND/druhý kolík skenera.

Pinout LCD:

  • D10 - kolík 1 skenera (čierny drôt)
  • D11 - skener pin 2 (cez napäťový delič)
  • D12 - ATtiny85
  • D13 - Squeaker

Pinout ATtiny85:

  • Pin 5 (0 v kóde programu) - vstup z ATmega
  • Pin 3 (4 v programovom kóde) - tranzistor / žltá LED
  • Pin 7 (2 v kóde programu) - indikačná LED

Krok 3: Zloženie komponentov zo súpravy LCD

Názov kroku hovorí sám za seba: praktický sprievodca rýchlym štartom/montážou

Krok 4: Zostavenie obvodu na prototypovej doske




Rozmiestnenie súčiastok na doske je na vás, skúste len prispájkovať vodiče tak, aby smerovali rovnakým smerom a nelámali sa.

Po zložení som pokryl hornú a spodnú časť dosky horúcim lepidlom - to zaistilo a izolovalo prvky obvodu. Horúce lepidlo čip nepoškodí.

Rovnako ako v prípade hlavnej dosky, všetko prispájkujte na dosku ATtiny a naneste horúce lepidlo na zaistenie a izoláciu komponentov. Regulátor napätia sa môže veľmi zahriať, preto je dobré vyhnúť sa nanášaniu horúceho lepidla naň alebo na iné povrchy v jeho blízkosti. Dosku ATtiny je tiež najlepšie nepokrývať horúcim lepidlom, pretože ju možno budete chcieť odstrániť a preprogramovať.

Krok 5: Programovanie ATmega328

Ako už bolo spomenuté v kroku 2, ATmega328 má dostatočne silný procesor a dostatok pinov na ovládanie LCD, zatiaľ čo ovláda ďalšie dodatočné komponenty. Aby ste to dosiahli, musíte čip naprogramovať.

Ak máte Arduino Uno alebo Duemilanove, môžete z nich jednoducho vybrať čip a nahradiť ho tým, ktorý je súčasťou súpravy. Alebo môžete nájsť dosku FTDI Basic Breakout (5V) a spájkovacie nástavce na jej strane (pozri obrázky v kroku 3)

Budete tiež musieť nahrať kód v režime „Duemilanove w/ ATmega328“.

Kód nižšie - pracovný program na kontrolu funkčnosti zariadenia.

#include "LiquidCrystal.h" LiquidCrystal lcd(2,3,4,5,6,7,8); void setup() ( pinMode(9, OUTPUT); // podsvietenie pinMode(13, OUTPUT); // zvuková signalizácia lcd.begin(16, 2); // šírka 16 znakov, 2 vysoké digitalWrite(9, HIGH) ; / /zapni podsvietenie lcd.print(" Ahoj svet! "); //vycentrovanie textu pomocou medzier delay(2000 void loop() ( //pípač sa zapína a vypína, jeho stav sa zobrazuje na displeji lcd.); .clear( lcd.print(" Bzučiak je zapnutý ");

Krok 6: Nastavenie snímača odtlačkov prstov

Túto knižnicu som použil na komunikáciu so skenerom. Priamy odkaz na stiahnutie.

Ak chcete skontrolovať, či váš kód funguje, stiahnite si tento tester blikania.

Snímač odtlačkov prstov má vlastnú vstavanú pamäť na ukladanie dát. Takže keď ste si istí, že skener funguje, stiahnite si tento program a pridajte svoj odtlačok prsta do databázy pod ID #0. Otvorte sériovú konzolu a jednoducho postupujte podľa pokynov.

Program blikania LED na testovanie skenera

/* Tento jednoduchý kód zapína a vypína LED. Používa sa na pochopenie toho, či komunikácia funguje. */ #include "FPS_GT511C3.h" #include "SoftwareSerial.h" //Nastavenie hardvéru - skener prstov pripojený k: //digitálny kolík 10 (arduino rx, fps tx) //digitálny kolík 11 (arduino tx - 560ohm fps rezistor tx - 1000ohm rezistor - GND) //to zníži 5v tx na cca 3,2v a nespálime náš skener FPS_GT511C3 fps(10, 11); void setup())( Serial.begin(9600); fps.UseSerialDebug = true; // môžete vidieť správy na obrazovke sériového ladenia fps.Open(); ) void loop())( // test blikania LED pre fps skenera (true) // rozsvieti LED vo vnútri skenera delay(1000);

Program na zaznamenávanie údajov do skenera

#include "FPS_GT511C3.h" #include "SoftwareSerial.h" //Nastavenie hardvéru - skener prstov pripojený k: //digitálny kolík 10 (arduino rx, fps tx) //digitálny kolík 11 (arduino tx - 560 ohmový odpor fps tx - 1000ohm rezistor - GND) //to zníži 5v tx na cca 3,2v a nespálime náš skener FPS_GT511C3 fps(10, 11); void setup())( Serial.begin(9600); delay(100); fps.Open(); fps.SetLED(true); Enroll(); ) void Enroll())( // Test registrácie // vyhľadávanie open id int enrollid = 0; fps.EnrollStart(enrollid) // registrácia Serial.print("Stlačením prsta zapíšeš #"); while(fps.IsPressFinger() == false) delay(100); .CaptureFinger(true) int iret = 0 if (bret != false) ( Serial.println("Odobrať prst"); fps.Enroll1(); while(fps.IsPressFinger() == true) delay(100) ; "Odstráni prst" while(fps.IsPressFinger() == true) delay(100 () == false) bret = fps.CaptureFinger(true) (); Serial.println("Odstránit prst" iret = fps.Enroll3(); if (iret = = 0) ( Serial.println("Registrácia prebehla"); ) else ( Serial.print("Registrácia zlyhala s kódom chyby:"); Serial.println(iret); ) ) else Serial.println("Nepodarilo sa zachytiť tretí prst"); ) else Serial.println("Nepodarilo sa zachytiť druhý prst"); ) else Serial.println("Nepodarilo sa zachytiť prvý prst"); ) void loop())( delay(100000); ) Súbory

Krok 7: Naprogramujte ATtiny85


ATtiny85 je niečo ako lacné Arduino zostavené do jedného čipu. ATtiny85 môže byť naprogramovaný inými Arduinos, vrátane ATmega328, ktorý nájdete v našej LCD súprave. V projekte sa používa na spúšťanie veľmi jednoduchých príkazov: skontrolujte signál z ATmega a otvorte bránu, ak je signál správny.

Pre naprogramovanie zapojte všetko podľa priložených fotografií. Potom si stiahnite potrebné súbory a postupujte podľa týchto pokynov.

Po stiahnutí kódu by sa mal rozsvietiť pin 13 na Arduine (vstavaná LED), čo znamená, že kód bol stiahnutý.

Záverečný kód:

//Prijíma krátky signál z hlavného modulu na zatvorenie relé void setup())( pinMode(2,OUTPUT); //LED indikácia cez 10K odpor pinMode(4,OUTPUT); //pin tranzistora, ktorý otvára garáž pinMode(0,INPUT ); //vstup oneskorenia(500) //poskytne zariadeniu cas na spustenie digitalWrite(2, HIGH //indikacia LED ) void loop())( if(digitalRead(0))( /); /jednoduchý vzor pre prepnutie oneskorenia tranzistora (125) if(digitalRead(0)==false)( delay(55); //čakaj, pretože ATtiny časovač nie je ideálny if(digitalRead(0))( delay(55); ); if(digitalRead(0)= =false)( oneskorenie(55); if(digitalRead(0))( oneskorenie(55); if(digitalRead(0)==false)( digitalWrite(4, HIGH); / / tranzistor „stlačí“ tlačidlo digitalWrite(4,LOW digitalWrite(2, HIGH);

Krok 8: Konečný kód

Nižšie je uvedený program Arduino, ktorý som napísal pomocou knižníc skenera a displeja. Aby bolo jasné, čo sa deje v jednotlivých častiach programu, snažil som sa všetko čo najlepšie okomentovať. Po stiahnutí tohto kódu by malo všetko fungovať a ostáva už len integrovať systém do dverí.

Upozornenie: ak knižnica skenerov nefunguje, skúste použiť stará verzia Arduino IDE.

Kód pre ATmega238:

#include "LiquidCrystal.h" //knižnica displeja #include "FPS_GT511C3.h" //knižnica fps (snímač odtlačkov prstov) #include "SoftwareSerial.h" //používaná knižnicou skenera //Konfigurácia kolíkov displeja a skenera LiquidCrystal lcd( 2, 3, 4, 5, 6, 7, 8); //zobrazenie pinout FPS_GT511C3 fps(10, 11); //RX, TX boolean isFinger = false; //pravda, ak knižnica fps deteguje prst na skeneri //výstupné piny const int buzzerPin = 13; const int backlightPin = 9; const int attinyPin = 12; const String idNames = ("ja","Bro", "Ryan", "Mama", "otec", "teta", "babka", "Zeide", "osoba", "osoba", "palec"); void setup())( //nastavenie výstupov pinMode(buzzerPin, OUTPUT); pinMode(backlightPin, OUTPUT); pinMode(attinyPin, OUTPUT); //pre ladenie //Serial.begin(9600); fps.UseSerialDebug = false / / sa stane pravdivým pre fps ladenie cez sériový port//inicializácia knižníc lcd.begin(16,2); digitalWrite(podsvieteniePin, VYSOKÉ); //podsvietenie LCD fps.Open(); fps.SetLED(true); //LED pre fps //načítavanie zvuku pre (int i=0; i<30; i++){ tone(buzzerPin, 50+10*i, 30); delay(30); } tone(buzzerPin, 350); //вывод стартового сообщения lcd.print("Put your finger "); //команда вывода на экран lcd.setCursor(0, 1); //устанавливаем курсор на нулевую колонку первой строки lcd.print(" on the scanner "); delay(150); noTone(buzzerPin); //останавливаем стартовый звук } void loop(){ //сканируем и распознаём отпечаток, когда приложен палец waitForFinger(); lcd.clear(); //очищаем экран и устанавливаем курсов в положение 0,0 fps.CaptureFinger(false); //захватываем отпечаток для идентификации int id = fps.Identify1_N(); //идентифицируем отпечаток и сохраняем id if(id <= 10){ lcd.print(" Access granted "); //сообщение об успехе lcd.setCursor(0,1); //выводим на экран имя когда дверь открывается String message = " Hey " + idNames + "!"; lcd.print(message); tone(buzzerPin, 262, 1000); delay(1500); //отправляем сигнал для открытия двери digitalWrite(attinyPin, HIGH); //первый импульс синхронизирует задержку (10ms) delay(5); digitalWrite(attinyPin, LOW); delay(3); digitalWrite(attinyPin, HIGH); //следующие два - открывают дверь delay(15); digitalWrite(attinyPin, LOW); delay(5); digitalWrite(attinyPin, HIGH); delay(10); digitalWrite(attinyPin, LOW); delay(1000); lcd.clear(); lcd.print("Don"t forget to "); lcd.setCursor(0,1); lcd.print(" shut me off! "); delay(2000); waitForFinger(); //нажмите чтобы продолжить запись while(true){ //сохраняет новый отпечаток //выводит сообщение на экран lcd.clear(); lcd.print(centerText("So you want to")); lcd.setCursor(0,1); lcd.print(centerText("scan a new one?")); delay(2000); //Скопировано и слегка модифицировано из примера регистрации данных: int enrollid = 11; //выбираете какой id переписать\создать //отпустите палец, когда хотите записать id/имя, напечатанное на экране waitForFinger(); //ждёт, когда будет нажат fps while(enrollid==11){ for (int i = 1; i1){ lcd.print(i); enrollid = i-1; break; } } } //предупреждение, если в данном слоте уже есть данные if(fps.CheckEnrolled(enrollid)){ lcd.clear(); lcd.print(" Warning! ID #"); lcd.print(enrollid); lcd.setCursor(0,1); lcd.print(" has data. OK? "); delay(2500); waitForFinger(); //ждёт, когда будет нажат fps fps.DeleteID(enrollid); //удаляет данные delay(100); } //Enroll fps.EnrollStart(enrollid); lcd.clear(); lcd.print("Place finger to "); lcd.setCursor(0,1); lcd.print("enroll #"); lcd.print(enrollid); //выводит id, который был добавлен waitForFinger(); //ждёт, когда будет нажат fps //захватывает отпечаток и сохраняет его в память трижды для точности данных bool bret = fps.CaptureFinger(true); //картинка высокого качества для записи int iret = 0; //в случае ошибки if (bret != false){ //первая регистрация lcd.clear(); lcd.print(" Remove finger "); fps.Enroll1(); while(fps.IsPressFinger() == true) delay(100); //ждёт пока уберут палец lcd.clear(); lcd.print(" Press again "); waitForFinger(); //ждёт, когда будет нажат fps bret = fps.CaptureFinger(true); if (bret != false){ //вторая регистрация lcd.clear(); lcd.print(" Remove finger "); fps.Enroll2(); while(fps.IsPressFinger() == true) delay(100); lcd.clear(); lcd.print("Press yet again "); waitForFinger(); bret = fps.CaptureFinger(true); if (bret != false){ //третья регистрация iret = fps.Enroll3(); if (iret == 0){ //проверяет, были ли какие-нибудь ошибки lcd.clear(); lcd.print(" Success! "); delay(2000); beep(); //выключает Ардуино } else{ //запускает этот код в случае любой ошибки lcd.clear(); lcd.print("Fail. Try again "); delay(1000); } } lcd.clear(); lcd.print(" Failed 3rd "); //ошибка на третьей записи delay(1000); } lcd.clear(); lcd.print(" Failed 2nd "); //ошибка на второй записи delay(1000); } lcd.clear(); lcd.print(" Failed 1st "); //ошибка на первой записи delay(1000); } } else{ lcd.print("Fingerprint is"); //если отпечаток не распознан lcd.setCursor(0,1); lcd.print(" unverified "); delay(2000); lcd.clear(); lcd.print("Please try again"); lcd.setCursor(0,1); lcd.print("Use your pointer"); //pointer - указательный палец (можете использовать любой и заменить это слово) delay(500); } delay(250); } void beep(){ //издаёт звуки, чтобы кто-нибудь закрыл кейс lcd.clear(); lcd.print("Please close the"); lcd.setCursor(0,1); lcd.print(" case! "); for(int i=0;i=80 && !fps.IsPressFinger()){ beep(); } } timer = 0; //обнуляет таймер как только функция завершится } String centerText(String s) { //центрует текст на дисплее, чтобы он лучше смотрелся while(16-s.length()>1)( //ak text potrebuje centrovať s = " " + s + " "; // pridá medzery rovnomerne na obe strany ) return s; ) Súbory


Na vytvorenie takéhoto projektu musel autor upraviť štartovací systém svojho vozidla. Hlavným pripojením je IG vodič zo spínača zapaľovania, cez ktorý sa napájacie napätie privádza do regulátora napätia a potom do samotného Arduina, aby sa zapol, ako aj zapol snímač snímania prstov. Ak je skenovanie prsta úspešné, systém aktivuje reléovú jednotku a tá ovláda relé štartéra. Teraz môžete naštartovať auto. Senzor funguje 10 sekúnd a možno ho reštartovať opakovaním cyklu štartovania zapaľovania. Ak v stanovenom čase snímač nezistí odtlačok prsta alebo sa nezhoduje so zadaným, štartovací systém sa deaktivuje a motor nenaštartuje.

Keďže každé auto má svoj vlastný systém konfigurácie štartovania, pred úpravou systému štartovania motora je potrebné pozrieť si elektrickú schému.

Tento článok popisuje, ako pripojiť zariadenie proti krádeži k 2-dverovému kupé Mitsubishi Lancer 2000.

Materiály:
- Arduino Uno.
- Snímač odtlačkov prstov.
- Zdroj.
- Reléová jednotka.
- NPN tranzistor BC547B
- rezistor 1 kOhm










Schéma zapojenia:
Obvod je mierne upravený podľa použitých komponentov. Pamätajte, že platí len pre tento model auta.

Krok 1 Príprava softvérových komponentov:
V Arduino IDE sa knižnica načíta a pridá.
Do Arduina sa načíta súbor z knižnice blank.ino, ktorý bude slúžiť ako rozhranie medzi senzorom a mikrokontrolérom.
Program je nainštalovaný a senzor je pripojený k Arduinu, ako je znázornené na obrázku. Potom sa odtlačok prsta načíta prostredníctvom nainštalovaného programu.


Teraz je snímač pripojený, ako je znázornené na nasledujúcom obrázku. Potom autor pristúpi k stiahnutiu hlavného programu. Na kolík 12 je pripojená LED s odporom.

Program bude fungovať predovšetkým na základe školiaceho materiálu Adafruit Fingerprint. Jediná vec pridaná do programového kódu je časovač vypnutia senzora na 10 sekúnd. Kód si môžete stiahnuť pod článkom.

Krok 3 montáž:
Časť 1:

Najprv odskrutkujte skrutky pod palubnou doskou. Spodná časť panelu sa odstráni a snímač sa dá umiestniť do voľného priestoru.



Časť 2:
Vo vybranom mieste pre snímač je vyrezaná zóna pre jeho spoľahlivú inštaláciu.





časť 3:
Doska Arduino je inštalovaná za snímačom odtlačkov prstov. Miesto pre inštaláciu Arduina bolo mierne zaostrené, aby doska mohla zaujať správnu polohu.



časť 4:
Regulovaný zdroj je namontovaný za palubnou doskou na strane vodiča.

časť 5:
Zostávajúce komponenty zariadenia sú zapojené podľa schémy na začiatku článku.







Krok 4 inštalácia:
Potrebné vodiče sú pripojené a zariadenie je inštalované pod prístrojovou doskou. Autor dbá na to, aby nedošlo k skratu.

Na vytvorenie jednoduchého biometrického bezpečnostného systému na ochranu vášho auta pred neoprávneným prístupom budeme potrebovať snímač odtlačkov prstov a mikrokontrolér Arduino. Tento projekt využíva školiaci materiál Adafruit. Na uľahčenie opakovania sa používa úplný programový kód z tohto materiálu s malými zmenami.

Najprv upravíme štartovací systém vozidla. Hlavným pripojením je IG vodič zo spínača zapaľovania, ktorý dodáva energiu do regulátora napätia, potom do mikrokontroléra Arduino, aby sa zapol a vypol a skenoval prst na snímači po dobu 10 sekúnd. Ak sa odtlačok zhoduje, systém aktivuje reléovú skrinku, ktorá ovláda relé štartéra. Teraz môžete naštartovať motor. Po 10 sekundách sa snímač odtlačkov prstov vypne. Môžete ho znova zapnúť opakovaním cyklu zapaľovania. Ak do 10 sekúnd snímač nezistí odtlačok prsta alebo sa odtlačok nezhoduje s referenčným, štartovací systém sa vypne a motor nenaštartuje.

Keďže každé vozidlo má odlišný systém konfigurácie štartovania, pred úpravou systému štartovania sa budete musieť poradiť s elektrikárom o elektrickom systéme vozidla alebo si prezrieť schému zapojenia.

Upozorňujeme, že snímač odtlačkov prstov nespustí motor. Jednoducho aktivuje a deaktivuje štartovacie relé, ktoré zakáže alebo umožní naštartovanie motora.

V tomto projekte je na 2-dverovom kupé Mitsubishi Lancer 2000 nainštalované zariadenie proti krádeži.

Krok 1: Použité komponenty

Krok 4: Načítanie hlavného programu

Pripojte snímač odtlačkov prstov podľa obrázka a načítajte hlavný program. Pripojte LED a rezistor na kolík 12, aby ste sledovali správnu činnosť.

Program funguje na princípe vzdelávacieho materiálu Adafruit Fingerprint. Mierne som však upravil kód a pridal časovač na vypnutie senzora po 10 sekundách, aby som zabránil rozptyľovaniu blikajúcej LED diódy senzora.

Krok 5: Montáž Časť 1

Odstráňte skrutky pod palubnou doskou. Uvoľnite páčku na uvoľnenie krytu. Odstráňte spodnú časť palubnej dosky. Umiestnite snímač na voľné miesto.

Krok 6: Montáž, časť 2

Zmerajte požadovanú vzdialenosť a vyrežte malú oblasť, aby ste mohli bezpečne nainštalovať snímač.

Krok 7: Montáž, časť 3

Dosku Arduino Uno je najlepšie nainštalovať za snímač odtlačkov prstov. Sedadlo som trochu pribrúsil, aby sa doska Arduino Uno dostala do správnej polohy.

Na vytvorenie spojenia so snímačom odtlačkov prstov boli použité inštrukcie od Josha Hawleyho (priame stiahnutie návodu).

Na odladenie fungovania snímača odtlačkov prstov s písmenovým displejom je potrebná synchronizácia.

Snímač odtlačkov prstov má vlastnú pamäť na ukladanie naskenovaných obrázkov. Takže keď senzor začne fungovať, stiahnite si ho pridaním do databázy odtlačkov prstov na adrese 0. Otvorte konzolu na správu na počítači a postupujte podľa vyskakovacích výziev.

Kódy – príklad blikania:

/* Príklad knižnice na ovládanie skenera odtlačkov prstov GT-511C3 (FPS) */ #include "FPS_GT511C3.h" #include "SoftwareSerial.h" //Nastavenie hardvéru - FPS pripojené k: //digitálnemu kolíku 10 (arduino rx, fps tx) //digitálny kolík 11 (arduino tx - rezistor 560 ohmov fps tx - rezistor 1 000 ohmov - uzemnenie) //to zníži napätie 5V tx na približne 3,2 V, takže nesmažeme naše fps FPS_GT511C3 fps(10, 11); void setup())( Serial.begin(9600); fps.UseSerialDebug = true; // takže môžete vidieť správy na obrazovke sériového ladenia fps.Open(); ) void loop())( // FPS Blikanie LED Test fps .SetLED(true) // zapnutie LED vo vnútri fps delay(1000 fps.SetLED(false);// vypnutie LED vo vnútri fps delay(1000);

Kódy – príklad registrácie:

/* FPS_Enroll.ino - Príklad knižnice na ovládanie skenera odtlačkov prstov GT-511C3 (FPS) */ #include "FPS_GT511C3.h" #include "SoftwareSerial.h" //Nastavenie hardvéru - FPS pripojené k: //digitálnemu kolíku 10 (arduino rx, fps tx) //digitálny kolík 11 (arduino tx - 560 ohmový odpor fps tx - 1 000 ohmový odpor - zem) //to zníži 5V tx linku na približne 3,2 V, takže nesmažeme naše fps FPS_GT510C3 fps jedenásť); void setup())( Serial.begin(9600); delay(100); fps.Open(); fps.SetLED(true); Enroll(); ) void Enroll())( // Registrovať test // nájsť otvorené enroll id int enrollid = 0; .CaptureFinger(true) int iret = 0 if (bret != false) ( Serial.println("Odobrať prst"); fps.Enroll1(); while(fps.IsPressFinger() == true ) delay(100) ; Serial.println("Znova stlačte ten istý prst" while(fps.IsPressFinger() == false) delay (100) (Serial.println("Odobrať prst"); fps.Enroll2(); while(fps. IsPressFinger() == true) delay(100)("Znova stlačte ten istý prst"); while(fps. IsPressFinger() == false) bret = fps.CaptureFinger(true); if (bret != false) ( Serial.println("Odobrať prst"); iret = fps.Enroll3(); if (iret == 0) ( Serial.println("Registrácia bola úspešná"); ) else ( Serial.print("Registrácia zlyhala s kódom chyby:"); Serial.println(iret); ) ) else Serial.println("Nepodarilo sa zachytiť tretí prst"); ) else Serial.println("Nepodarilo sa zachytiť druhý prst"); ) else Serial.println("Nepodarilo sa zachytiť prvý prst"); ) void loop())( delay(100000); )

Synchronizovať súbor:

Registračný súbor náčrtu:

Fáza 7: Programovanie procesora ATtiny85

Mikročip ATtiny85 je lacný a plne kompatibilný s doskou Arduino, je to pravdepodobne najlepšia elektrická časť, aká bola kedy vytvorená!

Arduino programátor je potrebný aj na preflashovanie čipu ATmega328, ktorý riadi činnosť LCD displeja.

V zostavenom zariadení bude procesor ATtiny vykonávať veľmi jednoduché príkazy: skontrolujte signál z ATmega a po potvrdení signálu otvorte garážovú bránu.

Ak chcete naprogramovať procesor, musí byť pripojený pomocou kontaktnej dosky k programátoru spolu s kondenzátorom 10 uF, ako je znázornené na obrázku nižšie.

A potom stiahnuť konečný kód a postupujte podľa odporúčaní pokyny od High-Low Tech.

Potom musí byť výstup 13 na doske Arduino, pripojený k LED, prepnutý do stavu HIGH, aby bolo možné sledovať prevádzku pomocou svetelnej indikácie.

Konečný kód pre ATtiny :

//fpsAttiny od Nodcah //Prijíma krátky signál z hlavného modulu na zatvorenie relé void setup())( pinMode(2,OUTPUT); //indikátor vedený cez 10K rezistor pinMode(4,OUTPUT); //pin trasistor ktorý otvorí garáž pinMode(0,INPUT) //vstupné oneskorenie(500); //dá veciam čas na spustenie digitalWrite(2, HIGH); ) ( //jednoduchý vzor na spustenie oneskorenia tranzistora(125); if(digitalRead(0)==false)( delay(55); //časovanie je vypnuté, pretože časovač ATtiny nie je dokonalý if(digitalRead ( 0))( oneskorenie(55); if(digitalRead(0)==false)( oneskorenie(55); if(digitalRead(0))( oneskorenie(55); if(digitalRead(0)==false)( digitalWrite (4, HIGH) //tranzistor "stlačí" oneskorenie (1000) digitalWrite(2, HIGH) );

Biometrický zámok - finálny kód, vyrezanie krytu, príprava garáže GPS hodiny na Arduino Biometrický zámok - schéma a montáž LCD displeja