İçindekiler:

C# ve Arduino + RC-522 İle Sponsor Koşusu: 5 Adım
C# ve Arduino + RC-522 İle Sponsor Koşusu: 5 Adım

Video: C# ve Arduino + RC-522 İle Sponsor Koşusu: 5 Adım

Video: C# ve Arduino + RC-522 İle Sponsor Koşusu: 5 Adım
Video: Arduino Leonardo ve RFID ile Bilgisayar Kontrol | Şifre yönetimi 2024, Temmuz
Anonim
C# ve Arduino + RC-522 ile Sponsor Run
C# ve Arduino + RC-522 ile Sponsor Run

Sponsor koşuları oldukça yaygındır. Ancak onları yönetmek her zaman kolay bir iş değildir. Her takımın kaç tur verimli bir şekilde koştuğunu kaydetmeyi içerir. Her takımı tanımlamak için bir belirteç olarak kullanmak üzere RFID'leri kullanmaya karar verdim. Bir RC-522 RFID okuyucu kartı ve bir arduinoyu oldukça ucuza alabileceğiniz gerçeğiyle birleştiğinde, bu sistemi oldukça kolay bir şekilde kurmayı mümkün kılıyor.

Adım 1: Gerekli Malzemelerin Listesi

  • Arduino kurulu: herhangi bir tahta yapacak. Boyutu için Arduino Nano kullanıyorum
  • Arduino geliştirme ortamı
  • RC-522: yurtiçi veya yurtdışından satın alınabilir/sipariş edilebilir
  • MiFare 13.56 MHz etiketleri. Normalde RC-522 kartınızla birlikte bazı örnekler gelebilir. Etiketin türü önemli değil. Sadece doğru frekansta olduklarını kontrol edin.
  • Kodu değiştirmek istiyorsanız, Windows çalıştıran ve Visual Studio'nun kurulu olduğu bir bilgisayar.

Adım 2: Arduino + RC-522'nin Hazırlanması

Arduino + RC-522'nin Hazırlanması
Arduino + RC-522'nin Hazırlanması

Yukarıdaki resim RC-522 modülünün Arduino'ya olan bağlantısını göstermektedir. Herhangi bir Arduino yapacak. Bu nedenle, bir Arduino Nano'nuz varsa, onu kullanmayı düşünebilirsiniz. Thingsiverse'de hepsini bir araya getirmek için bazı vakalar bulabilirsiniz. Birini denedim, ancak yazdırmak için kenar boşlukları çok küçüktü ve sonunda kullanılamaz bir 3D baskı çıktı.

Hala bunun için iyi bir dava üzerinde çalışıyorum.

RC-522 kartınızı kullanmak için Arduino düzenleyicisine bir kitaplık eklemeniz gerekecek. Ne yazık ki, Arduino editörü tarafından yönetilen bir kütüphane değil, bu yüzden onu indirmek ve kütüphaneler klasörüne kopyalamak için "eski okul" yöntemini eklemeniz gerekecek. Erişilebilir hale getirmek için Arduino editörünü yeniden başlatmayı unutmayın.

Kütüphane https://github.com/miguelbalboa/rfid adresinde bulunabilir.

Artık editör hazır. Komut dosyasını Arduino'nuza yükleme zamanı. Kodu analiz ederseniz, aynı anahtarı birden çok kez yazdırmaktan kaçınılan 5000 milisaniyelik bir aralık olduğunu göreceksiniz. Bu aralığı değiştirebilirsiniz, ancak çok küçük ayarlarsanız, aynı tuş arka arkaya birden çok kez gösterilecektir.

Yani, şimdi bu kısmın çalışıp çalışmadığını kontrol etme zamanı. Kullandığım RFID'ler, 13.56 MHz'de standart MiFare 1Kb fob'lardır ve bunlar da çok ucuza temin edilebilir.

Arduino editörünün Seri monitörünü açın ve RC-522 modülüne getirirken tuşların görünmesini izleyin.

Adım 3: C# ile Yazılmış Windows Arayüzü

C# ile Yazılmış Windows Arayüzü
C# ile Yazılmış Windows Arayüzü

C# projesini içeren sıkıştırılmış bir klasör buldunuz. İndirin ve paketinden çıkarın. Kod, Visual Studio 2017'de. Net çerçevesi 4.6.1 hedeflenerek yazılmıştır. Güncellenmiş herhangi bir bilgisayar buna sahip olmalı ve çalıştırabilmelidir. Mutlaka Visual Studio'yu yüklemeniz gerekmez. Kod, değiştirmek veya incelemek isteyenler için sağlanmıştır. Programda herhangi bir değişiklik yapılmadan çalıştırma süresi 1 saat 30 dakikaya ayarlanır. Normal tur süresi, 400 metrelik bir parkur için 50 saniyeye ayarlanmıştır.

Yürütülebilir dosya, SponsorRun\SponsorRun\bin klasörünün altında bulunan Debug klasöründe bulunabilir.

Bu klasörde, bu projede verileri depolamak için kullanılan metin dosyaları da bulunur.

Metin dosyaları şunlardır:

  • rfidKeys.txt: farklı takımların anahtarlarını içerir. İlk anahtar birinci takım içindir, vb. Bu dosyayı kaldırabilir ve kendi anahtarlarınızı ekleyebilirsiniz (programın nasıl çalıştığını görmek için aşağıya bakın)
  • team.txt: farklı takımların isimlerini içerir. İlk isim birinci takım içindir, vb. Bu dosyayı ortak bir düz metin düzenleyiciyle düzenleyin (not defteri yapabilir).
  • sonuçlar.txt: takımların çeşitli turlarının sonuçlarını içeren CSV biçimli bir dosya (şu ana kadar hiçbir tur kaydedilmemişse eksik olabilir)
  • cheate.txt: Hile yapmaya çalışan ekipleri içeren CSV formatlı bir dosya (henüz hile tespit edilmediğinde eksik olabilir)

Programın çalışma şekli aşağıdaki gibidir:

  • Başlatma sırasında program, bilgisayarınızdaki çeşitli COM bağlantı noktalarını algılar. İletişimi mümkün kılmak için Arduino'nuza atanmış COM portunu seçmelisiniz. Varsayılan olarak COM hız oranı, Arduino kodunda ayarlanan hıza karşılık gelen 9600 bps olmalıdır.
  • İletişimi etkinleştirmek için "Dinlemeye başla" düğmesine tıklayın
  • Bu noktadan itibaren iki işlev arasından seçim yapabilirsiniz:

    • RFID anahtarlarını oku: bu, rfidKeys.txt dosyasına yeni anahtarlar ekler
    • Turu kaydet (varsayılan seçenek): Results.txt dosyasına yeni bir tur kaydeder. Geçerli bir anahtar her okunduğunda, kaydı onaylamak için bir mesaj görünecek ve bir bip sesi duyulacaktır. Sonuçlar.txt dosyasına bir satır eklenecektir. Hile girişiminde bulunulması durumunda, mesaj ayrı bir metin kutusunda görünecek, başka bir bip sesi duyulacak ve sonuç fake.txt'ye yazılacaktır. Bu durumda tur zamanı, hilenin tespit edildiği ana göre ayarlanacaktır.

4. Adım: Olası İyileştirmeler

Bu projeyi okulumda belirli bir durum için oluşturdum. Kullanılan bazı parametrelerin projeniz için uygun olmayabileceği açıktır. Şimdilik, C# kodundaki parametreleri ayarlamanız ve Visual Studio kurulumunu gerektiren programı yeniden derlemeniz gerekecek (ağır bir 3.5 GB kurulum). Makul miktarda yanıt varsa, bu parametreleri harici bir dosyadan okumayı düşünebilirim.

Arduino projesini barındırmak için bulduğum 3B kasalar kullanılamaz. Birinde başladım, ancak bazı aksilikler yaşadım, bu yüzden henüz eklemedim. Birini paylaşmak isteyen herkes benimle iletişime geçebilir, böylece bu Eğitilebilir Tablodaki çalışmanıza başvurabilirim.

Adım 5: Yaşasın !!

Umarım bu projeyi kullanabilirsin ve senden haber almak için sabırsızlanıyorum.