- Použité materiály
- Čtecí modul RFID EM18
- Zjistěte jedinečný 12místný kód RFID tagu pomocí Arduina
- Kruhový diagram
- Modul snímače otisků prstů
- Programování pro RFID bezklíčové zapalování
V dnešní době je většina automobilů vybavena bezklíčovým vstupem a tlačítkovým zapalovacím systémem, ve kterém stačí mít klíč v kapse a stačí přiložit prst na kapacitní senzor na kliku dveří, abyste otevřeli dveře automobilu. Zde v tomto projektu přidáváme do systému několik dalších bezpečnostních funkcí pomocí RFID a snímače otisků prstů. Senzor RFID ověří licenci uživatele a snímač otisků prstů povolí ve vozidle pouze oprávněnou osobu.
Pro tento systém zapalování na základě otisků prstů používáme Arduino se snímačem otisků prstů R305 a čtečkou RFID EM18.
Použité materiály
- Arduino Nano
- Snímač otisků prstů R305
- Čtečka RFID EM18
- 16 * 2 alfanumerický LCD
- Stejnosměrné motory
- L293D IC ovladač motoru
- Veroboard nebo Breadboard (podle toho, co je k dispozici)
- Připojovací vodiče
- 12V DC baterie
Čtecí modul RFID EM18
RFID znamená radiofrekvenční identifikace. Jedná se o technologii, kde jsou digitální data zakódována do RFID tagů a mohou být dekódována čtečkou RFID pomocí rádiových vln. RFID je podobné čárovému kódování, při kterém jsou data ze značky dekódována zařízením. Technologie RFID se používá v různých aplikacích, jako je bezpečnostní systém, docházkový systém zaměstnanců, zámek dveří RFID, hlasovací zařízení založené na RFID, systém výběru mýtného atd.
EM18 Reader je modul, který umí číst ID informace uložené ve štítcích RFID. Štítky RFID ukládají 12místné jedinečné číslo, které lze dekódovat modulem čtečky EM18, když se štítek dostane do dosahu čtečky. Tento modul pracuje na frekvenci 125 kHz, která má zabudovanou anténu, a je provozován pomocí stejnosměrného napájecího zdroje o napětí 5 voltů.
Poskytuje sériový datový výstup a má rozsah 8-12 cm. Parametry sériové komunikace jsou 8 datových bitů, 1 stop bit a 9600 baudů.
Vlastnosti EM18:
- Provozní napětí: + 4,5 V až + 5,5 V DC
- Aktuální spotřeba: 50mA
- Provozní frekvence: 125 KHZ
- Provozní teplota: 0-80 stupňů C.
- Přenosová rychlost komunikace: 9600
- Čtecí vzdálenost: 8-12 cm
- Anténa: Vestavěná
EM18 Pinout:
Popis kolíku:
VCC: 4,5- 5V DC napěťový vstup
GND: Zemnicí kolík
Bzučák: Bzučák nebo kolík LED
TX: Pin vysílače sériových dat EM18 pro RS232 (výstup)
SEL: To musí být VYSOKÉ pro použití RS232 (LOW, pokud používáte WEIGAND)
Data 0: WEIGAND data 0
Data 1: WEIGAND data 1
Chcete-li se dozvědět více o RFID a značkách, podívejte se na naše předchozí projekty založené na RFID.
Zjistěte jedinečný 12místný kód RFID tagu pomocí Arduina
Před programováním systému zapalování automobilu Arduino pro Arduino je nejprve nutné zjistit 12místný jedinečný kód RFID tagu. Jak jsme již diskutovali dříve, RFID tagy obsahují 12místný jedinečný kód a lze je dekódovat pomocí čtečky RFID. Když přejedeme RFID tag poblíž čtečky, čtečka dá jedinečné kódy přes výstupní sériový port. Nejprve připojte Arduino ke čtečce RFID podle schématu zapojení a poté nahrajte níže uvedený kód do Arduina.
počet int = 0; char card_no; void setup () {Serial.begin (9600); } void loop () {if (Serial.available ()) {count = 0; while (Serial.available () && count <12) {card_no = Serial.read (); count ++; zpoždění (5); } Serial.print (card_no); }}
Po úspěšném nahrání kódu otevřete sériový monitor a nastavte přenosovou rychlost na 9600. Poté přejeďte kartou poblíž čtečky. Poté se na sériovém monitoru začne zobrazovat 12místný kód. Proveďte tento proces pro všechny použité RFID tagy a poznamenejte si ho pro budoucí použití.
Kruhový diagram
Schéma zapojení tohoto zapalovacího systému založeného na otiscích prstů je uvedeno níže:
V mém případě jsem připájel celý obvod na desku perf, jak je znázorněno níže:
Modul snímače otisků prstů
Modul snímače otisků prstů nebo snímač otisků prstů je modul, který zachycuje tiskový obrázek prstu a poté jej převádí do ekvivalentní šablony a ukládá je do své paměti na vybrané ID (umístění) od Arduina. Zde celý proces ovládá Arduino, jako je pořizování snímků otisků prstů, jejich převádění na šablony a ukládání umístění atd.
Dříve jsme použili stejný snímač R305 k vytvoření hlasovacího zařízení, docházkového systému, bezpečnostního systému atd. Zde můžete zkontrolovat všechny projekty založené na otisku prstu.
Registrace otisků prstů do snímače:
Před pokračováním v programu musíme nainstalovat požadované knihovny pro snímač otisků prstů. Zde jsme pro použití snímače otisků prstů R305 použili „ Adafruit_Fingerprint.h “. Nejprve si tedy stáhněte knihovnu pomocí odkazu uvedeného níže:
- Knihovna snímačů otisků prstů Adafruit
Po úspěšném stažení přejděte v prostředí Arduino IDE do nabídky Soubor > Nástroje> Zahrnout knihovnu> Přidat knihovnu.zip a poté vyberte umístění souboru zip a knihovnu nainstalujte.
Po úspěšné instalaci knihovny zaregistrujte nový otisk prstu do paměti senzoru podle níže uvedených kroků.
1. V prostředí Arduino IDE přejděte do nabídky Soubor > Příklady > Knihovna snímačů otisků prstů Adafruit > Zaregistrovat.
2. Nahrajte kód do Arduina a otevřete sériový monitor s přenosovou rychlostí 9600.
Důležité: Změňte sériový pin softwaru v programu na SoftwareSerial mySerial (12, 11).
3. Měli byste zadat ID pro otisk prstu, do kterého chcete otisk uložit. Jelikož se jedná o můj první otisk prstu, napsal jsem 1 v levém horním rohu a poté klikněte na tlačítko Odeslat.
4. Potom bude blikat kontrolka na snímači otisků prstů, což znamená, že byste měli umístit prst na snímač, a poté postupujte podle pokynů zobrazených na sériovém monitoru, dokud vás nepotvrdí pro úspěšnou registraci.
Programování pro RFID bezklíčové zapalování
Kompletní kód pro tento biometrický zapalovací systém je uveden na konci tohoto kurzu. Zde vysvětlujeme několik důležitých částí kódu.
První věcí je zahrnout všechny požadované knihovny. Tady v mém případě jsem zahrnul „ Adafruit_Fingerprint.h “ pro použití snímače otisků prstů R305. Poté nakonfigurujte sériový port, ke kterému bude snímač otisků prstů připojen. V mém případě jsem deklaroval 12 jako RX Pin a 11 jako TX pin.
# zahrnout # zahrnout
V dalším kroku deklarujte všechny proměnné, které budou použity v celém kódu. Poté definujte piny připojení LCD pomocí Arduina a poté deklaraci objektu třídy LiquidCrystal .
char vstup; počet int = 0; int a = 0; const int rs = 6, en = 7, d4 = 2, d5 = 3, d6 = 4, d7 = 5; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
Dále je uvnitř loop () zapsán kód, který získá jedinečné 12místné kódy RFID tagů a jsou uloženy v poli. Zde budou prvky pole porovnány s uloženými jedinečnými kódy v paměti, aby se získaly podrobnosti ověřené osoby.
count = 0; while (Serial.available () && count <12) { input = Serial.read (); count ++; zpoždění (5); }
Poté je přijaté pole porovnáno s uloženými kódy značek. Pokud se kód shoduje, licence se považuje za platnou, což uživateli umožňuje vložit platný otisk prstu. V opačném případě se zobrazí neplatná licence.
if ((strncmp (input, "3F009590566C", 12) == 0) && (a == 0)) { lcd.setCursor (0, 0); lcd.print ("Licence platná"); lcd.setCursor (0, 1); lcd.print („Vítejte“); zpoždění (1000); a = 1; otisk prstu (); }
V dalším kroku je napsána funkce getFingerprintID, která vrátí platné ID otisku prstu pro již zaregistrovaný otisk prstu.
int getFingerprintID () { uint8_t p = finger.getImage (); if (p! = FINGERPRINT_OK) vrátit -1; p = finger.image2Tz (); if (p! = FINGERPRINT_OK) vrátit -1; p = finger.fingerFastSearch (); if (p! = FINGERPRINT_OK) vrátit -1; vrátit finger.fingerID; }
Uvnitř funkce fingerprint () , která je volána po úspěšném spárování RFID, je volána funkce getFingerprintID pro získání platného ID otisku prstu. Poté se porovná pomocí smyčky if-else, aby se získaly informace týkající se údajů o ověřené osobě, a pokud se data shodují, pak se vozidlo zapálí, jinak vyzve k zadání nesprávného otisku prstu.
int fingerprintID = getFingerprintID (); zpoždění (50); if (fingerprintID == 1) { lcd.setCursor (0, 0); lcd.print („Přístup udělen“); lcd.setCursor (0, 1); lcd.print ("Startování vozidla"); digitalWrite (9, HIGH); digitalWrite (10, LOW); while (1); }
Takto funguje tento systém zapalování RFID do auta, který vašemu vozu přidává dvě úrovně zabezpečení.
Kompletní kód a ukázkové video jsou uvedeny níže.