Arduino – Wiegand Kart Okuyucu Kullanımı

Bu yazımızda ZKTeco üretimi olan KR500 MF Wiegand okuyucuyu arduino uno ile okuyup seri port ile bilgisayara ileteceğiniz. Öncelikle KR500 okuyucumuzu tanıyalım.
KR500 Wiegand Kart Okuyucu
Okuduğu kartın numarasını Wiegand protokolünde ileten ZKTeco üretimi olan bir okuyucudur. Kartlı geçiş sistemlerinde kullanılmaktadır. Aşağıda cihazın özellikleri mevcut. Cihazın Ebatlarıda gayet küçük ve montajıda gayet kolay yapılmaktadır. Farklı tipte farklı firmaların cihazları piyasada bulunmaktadır.
13.56 MHz Mifare okuma, 0-7 cm okuma mesafesi |
26/34 bit Wieagand |
Su geçirmez yapı |
Harici led ve buzzer kontrolü |
77.5 X 42.8 X 17.3 mm |
Ürün tanıtım Broşürü
https://www.masterbc.co.rs/dokumenta/2426_1.pdf
https://zktecousa.com/wp-content/uploads/2015/06/KR500-KR500H-Series-DataSheet.pdf
Wiegand Protokolü Hakkında
Wiegand formatında Data0 ve Data1 olmak üzere iki tane data yolu vardır. Aşağıda elektriksel formatında da görüldüğü gibi Data0 ve Data1 normalde yüksek seviyede bulunup bilginin varlığında sıfır seviyesine düşerler.
Aşağıdaki şekilde 26 bit wiegand formatı görülmektedir. Başlangıç ve sonda birer parity biti bulunup bunlar sırasıyla ilk 13 ve son 13 bitlerine eşlik ederler. Site Code ve User Code olarak verilen bitler ise özel ve genel kodlardır. Örneğin Site Code bir şirkete ait kodları gösterirken, User Code o şirkette çalışan personele özel kodları gösterebilir.
Arduino ile wiegand protokolünü kullanmak için iki seçeneğiniz var ya iletişimi kendiniz yazacaksınız yada hazır kütüphaneyi kullanacaksınız. Ben bu uygulamada aşağıdaki kütüphaneyi kullanmayı tercih ettim.
Arduino Wiegand Kütüphanesi
Bağlantı Şeması :
Bağlantı şemasını doğru yaptığınız takdirde aşağıdaki kodu derleyip arduino unoya yüklemelisiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
#include <Wiegand.h> WIEGAND KR500; void setup() { Serial.begin(9600); KR500.begin(); } void loop() { if(KR500.available()) { Serial.println("-------------------------------------------"); Serial.println("| ZK Teco KR500 MF Mifare Okuyucu Örneği |"); Serial.println("| Okunan Mifare Kart Bilgileri |"); Serial.println("-------------------------------------------"); Serial.print("HEX Formatında Kart No : "); Serial.println(KR500.getCode(),HEX); Serial.print("DECIMAL Formatında Kart No : "); Serial.println(KR500.getCode()); Serial.print("Wiegand Okuyucu Tipi : W="); Serial.println(KR500.getWiegandType()); Serial.println(" "); } } |
Arduino IDE nin seri port ekranı açın ve KR500’e Mifare kartınızı okutun.
Benim Mifare kartımın ID numarası 0032744878 ve okuttuğumda Seriport ekranında yukarıdaki şekilde yazıyor. Kart okuyucu kullanmanız gereken uygulamalarda hazır bir mifare okuyucu alıp wiegand bağlantısı ile uygulamanızı gerçekleştirebilirsiniz.
Esen Kalın
Sercan TEK
Merhaba, 2 adet wiegandı tek arduino üzerine bağlayıp hangi wiegandtan okuttuğumuzu nasıl anlayabiliriz ?
Wiegand icin 2 adet kesme pini gerekiyor arduino unoda 2 adet var bu yüzden tek cihaz bağlanabilir. 4 adet donanımsal kesme pini olan bir modelde anca 2 tane okuyucu kullanılır. Amacınız sadece kart okumak ise kart okuma modülü kullanın.
Hocam, link bozulmuş tekrar yükler misiniz acaba? birde bu ürünün direkt pin bağlantı yeri yok sanırım için mi açmak gerekiyor?
Merhaba. Kütüphane linki bozulmuş. Düzeltebilir misiniz?
Mesut Bey Merhaba,
Bilgilendirme için Teşekkürler. Linki Yeniledim. İyi çalışmalar.
Kr500 mifare kartları okuyor ayni sistemde kr100 kullanırsak calisir mi ?
Teorik olarak aynı yapıda çalışıyorlar. Tek fark KR100 W26 formatında çalışması. denemek gerek ama tahminim çalışacağı yönünde.