KKM: RDM6300
Početnik si s Dasduinom. Ili s elektronikom? Za oko ti je zapeo određeni modul, ali ne znaš kako ga koristiti? Bez brige, tu je KKM! Kako Koristiti Module (KKM) je serija blog tutorijala tvrtke soldered na kojoj ćeš pronaći sve što ti treba kako bi započeo rad sa svojim omiljenim modulom. Tutorijali obuhvaćaju: tehničke karakteristike, princip rada, upute kako povezati modul s Dasduinom te osnovni kod. Sve ostalo prepuštamo tebi na maštu.
UVOD
Imate potrebu osigurati neovlašten pristup prostoriju ili zgradi, trebate kontrolirati kada netko dolazi ili odlazi iz zgrade ili tome slično onda je ovaj tutorijal namijenjen baš vama. Radi se o RDM6300 rfid čitaču koji služi za očitavanje kartica ili tagova koji sadrže poseban kod na sebi i svaki kod na kartici ili tagu se razlikuje. Kako sam čitač radi i kako kartica i on komuniciraju opisano je u nastavku, te je na kraju dan kod koji omogućuje kontrolu pristupa.
Karakteristike modula:
• Frekvencija: 125kHz
• Udaljenost očitanja: 2-5 cm
• Komunikacija: serijska
• Napon: 5V
• Dimenzije: 3.8 x 1.8 x 1.2cm
KAKO RADI?
RDM6300 modul dolazi s malom vanjskom antenom (petljom). Iako sve ovo zvuči komplicirano, kada malo bolje pogledamo osnovne dijelove te kako radi, postaje jednostavno i razumljivo pa zato krenimo s upoznavanjem principa rada ovog uređaja.
Modul dolazi s vanjskom antenom koja je bitan dio ovog modula i bez nje ne može raditi. Na modulu imamo čip koji upravlja s radom antene i preko nje prima podatke te nam te podatke šalje putem serijske komunikacije na Dasduino. RFID čitač također napaja kartice koje približimo anteni jer su kartice pasivne i nemaju bateriju ili drugi izvor napajanja unutar sebe. Kartice se sastoje od malog čipa koji u sebi ima pohranjen kod koji je jedinstven za svaku karticu. Također unutar kartice se nalazi antena (petlja) slična anteni RFID čitača koja napaja sam čip unutar kartice i preko koje se također podaci šalju do antene rfid čitača.
Dakle princip je jednostavan kada se kartica nalazi u blizini antene rfid čitača ona zbog elektromagnetskih valova dobije napajanje preko svoje antene i čip u kartici se „probudi“ te krene sa slanjem koda, a rfid čitač primi taj kod i pošalje ga na Dasduino. Kada odmaknemo karticu ona ostaje bez napajanja i nema slanja koda. Iz toga razloga nekada se zna dogoditi da ako karticu držimo blizu antene rfid čitača da nam više puta očita karticu.
KAKO POVEZATI?
Modul se na Dasduino povezuje preko serijske komunikacije(UART) te iz toga razloga moramo koristiti SoftwareSerial biblioteku koja nam omogućava da serijsku komunikaciju kreiramo na drugim pinovima, jer nam pinovi 0 i 1 trebaju za Serial monitor i komunikaciju s računalom.
Modul ćemo spojiti na napajanje (5 V i GND) , a pinove Tx i Rx ćemo spojiti na pinove D2 i D3 pinove Dasduina, ali sve je također vidljivo i na danoj shemi.
ARDUINO KOD
Za rad s ovim modulom koristimo biblioteku koja dolazi instalirana s Arduino IDE pa ju nije potrebno instalirati. Biblioteka nam kreira serijsku komunikaciju na pinovima koje mi odaberemo, a mi smo u ovom kodu za Tx pin odabrali D2, a za Rx pin odabrali smo D3 sa Dasduina.
Prvi primjer koda nam na Serial monitor ispisuje jedinstveni kod koji je pohranjen u kartici kada karticu približimo čitaču( anteni čitača). Ovaj kod potrebno je znati ako želimo imati kontrolirani pristup prostoriji što je opisano u drugom primjeru.
#include <SoftwareSerial.h>//uključujemo biblioteku koja nam služi za uspostavu serijske komunikacije na drugim pinovima
SoftwareSerial RFID(2, 3);
//(RX,TX) Konstruktor za našu biblioteku SoftwareSerial
// s kojom na pinovima 2 i 3 postavljamo serijsku komunikaciju
void
setup
() {
Serial.begin(9600);
//Inicijalizacija serijske komunikacije( brzina 9600 bauda)
RFID.begin(9600);
//Inicijalizacija softverske serijske komunikacije( brzina 9600 bauda)
}
void
loop
() {
// provjeravamo dali ima podataka od rfid čitača i ako ima onda ih čitamo
if
(RFID.available()>0){
//s while petljom omogućujemo čitanje podataka sve dok ih ima od rfid čitača
while
(RFID.available()>0){
int
i=RFID.read();
//pročitani bit spremamo u varijablu i
Serial.print(i,DEC);
//varijablu i ispisujemo na Serial monitor kao decimalni broj
Serial.print(
","
);
// dodajemo razma između svakog broja
}
Serial.println();
//kada pročitamo podatke za jednu karticu idemo u novi red i čekamo nove podatke od rfid čitača
}
}
Drugi primjer je kontrolirani pristup prostoriji pomoću rfid tehnologije. Ako želimo dodati novu karticu koja bi imala pristup prostoriji u kod trebamo ubaciti jedinstveni kod kartice koji možemo očitati s prvim primjerom programa. Kada ubacimo kod trebamo samo još u funkciji provjeri dodati da se pri usporedbi dozvoljenih kartica s očitanom provjeri i naša nova kartica i to je sve. Ovdje možemo imati kartica koliko hoćemo samo moramo u programu napraviti izmjene na ova dva mjesta kako je opisano.