INHOUDSOPGAWE:

Borgloop met C# en Arduino + RC-522: 5 stappe
Borgloop met C# en Arduino + RC-522: 5 stappe

Video: Borgloop met C# en Arduino + RC-522: 5 stappe

Video: Borgloop met C# en Arduino + RC-522: 5 stappe
Video: Death By Krab Borg 2024, November
Anonim
Borgloop met C# en Arduino + RC-522
Borgloop met C# en Arduino + RC-522

Borglopies is redelik algemeen. Dit is egter nie altyd 'n maklike taak om dit te bestuur nie; dit behels die registrasie van hoeveel rondtes elke span op 'n doeltreffende manier hardloop. Ek het besluit om RFID's te gebruik as teken om elke span te identifiseer. In kombinasie met die feit dat u 'n RC-522 RFID-leserkaart en 'n arduino redelik goedkoop kan haal, maak dit hierdie stelsel redelik maklik.

Stap 1: Lys van benodigde materiaal

  • Arduino -bord: enige bord sal dit doen. Ek gebruik Arduino Nano vir sy grootte
  • Arduino -ontwikkelingsomgewing
  • RC-522: kan plaaslik of in die buiteland gekoop/bestel word
  • MiFare 13,56 MHz -etikette. Normaalweg kom sommige monsters saam met u RC-522-bord. Die tipe etiket maak nie saak nie. Kyk net of dit die regte frekwensie is.
  • 'N PC met Windows en Visual Studio geïnstalleer as u die kode wil verander.

Stap 2: Voorbereiding van die Arduino + RC-522

Voorbereiding van die Arduino + RC-522
Voorbereiding van die Arduino + RC-522

Die foto hierbo toon die bedrading van die RC-522-module aan die Arduino. Enige Arduino sal doen. As u dus 'n Arduino Nano beskikbaar het, kan u dit oorweeg. Op dingiverse kan u 'n paar gevalle vind om alles saam te boks. Ek het een probeer, maar die marges om dit te druk was te klein, en eindig met 'n onbruikbare 3D-druk.

Ek werk nog steeds aan 'n goeie saak daarvoor.

Om van u RC-522-bord gebruik te maak, moet u 'n biblioteek by die Arduino-redakteur voeg. Ongelukkig is dit nie 'n biblioteek wat deur die Arduino -redakteur bestuur word nie, dus moet u die 'ou skool' -metode byvoeg om dit af te laai en na die gids biblioteke te kopieer. Moenie vergeet om die Arduino -redakteur weer te begin om dit toeganklik te maak nie.

Die biblioteek kan gevind word op

Teen hierdie tyd het u die redakteur gereed. Dit is tyd om die script na u Arduino op te laai. As u die kode ontleed, vind u dat daar 'n interval van 5000 millisekondes is waarin dit vermy word om dieselfde sleutel verskeie kere uit te druk. U kan die interval wissel, maar as u dit te klein stel, word dieselfde sleutel verskeie kere na mekaar vertoon.

Dit is dus nou tyd om te kyk of hierdie deel werk. Die RFID's wat ek gebruik, is standaard MiFare 1Kb fobs by 13.56 MHz, wat ook baie goedkoop beskikbaar is.

Maak die seriële monitor van die Arduino-redakteur oop en kyk hoe die sleutels verskyn terwyl u dit na die RC-522-module bring.

Stap 3: Die Windows -koppelvlak geskryf in C#

Die Windows -koppelvlak geskryf in C#
Die Windows -koppelvlak geskryf in C#

U vind 'n saamgeperste gids met die C# -projek. Laai dit af en pak dit uit. Die kode is geskryf in Visual Studio 2017 gerig op. Net raamwerk 4.6.1. Elke opgedateerde rekenaar moet dit hê en dit kan uitvoer. U hoef nie noodwendig Visual Studio te installeer nie. Die kode word verskaf vir diegene wat dit wil wysig of ondersoek. Sonder veranderinge aan die program, is die duur van die hardloop ingestel op 1 uur en 30 minute. Die normale rondetyd is ingestel op 50 sekondes, dit is vir 'n baan van 400 meter.

Die uitvoerbare lêer kan gevind word in die gids Ontfouting wat onder die gids SponsorRun / SponsorRun / bin geleë is.

In die gids is ook die tekslêers wat in hierdie projek gebruik word om die data te stoor.

Die tekslêers is:

  • rfidKeys.txt: bevat die sleutels vir die verskillende spanne. Die eerste sleutel is vir die eerste span, ensovoorts. U kan hierdie lêer verwyder en u eie sleutels byvoeg (kyk hieronder hoe die program werk)
  • teams.txt: bevat die name vir die verskillende spanne. Die eerste naam is vir die eerste span, ensovoorts. Wysig hierdie lêer met 'n gewone gewone teksredakteur (notaboek kan dit doen).
  • results.txt: 'n CSV-geformateerde lêer wat die uitslae van die verskillende rondtes van die spanne bevat (kan afwesig wees as daar nog geen rondtes geregistreer is nie)
  • fraude.txt: 'n CSV-geformateerde lêer met spanne wat probeer kul (kan afwesig wees as daar nog geen bedrog gevind is nie)

Die manier waarop die program funksioneer, is soos volg:

  • By die inisialisering ontdek die program die verskillende COM -poorte op u rekenaar. U moet die COM -poort kies wat aan u Arduino toegewys is om die kommunikasie moontlik te maak. Die COM -spoedkoers moet standaard 9600 bps wees, wat ooreenstem met die snelheid wat in die Arduino -kode gestel is.
  • Klik op die knoppie "Begin luister" om die kommunikasie te aktiveer
  • Vanaf hierdie punt kan u kies tussen twee funksies:

    • Lees RFID -sleutels: dit voeg nuwe sleutels by die rfidKeys.txt -lêer
    • Registreer rondte (standaard opsie): registreer 'n nuwe rondte in die result.txt -lêer. Elke keer as 'n geldige sleutel gelees word, verskyn 'n boodskap en 'n piepgeluid om die registrasie te bevestig. 'N Reël sal by result.txt gevoeg word. In die geval van 'n poging om te bedrieg, verskyn die boodskap in 'n aparte teksboks, 'n ander piep sal klink en die resultaat word na fraude.txt geskryf. In hierdie geval word die tyd vir die rondte ingestel op die oomblik dat die bedrog opgespoor is.

Stap 4: Moontlike verbeterings

Ek het hierdie projek geskep vir 'n spesifieke situasie in my skool. Dit is duidelik dat sommige van die parameters wat gebruik is, moontlik nie geskik is vir u projek nie. Vir eers moet u die parameters in die C# -kode aanpas en die program weer saamstel, wat Visual Studio ('n stewige installasie van 3,5 GB) moet installeer. As daar redelike reaksie is, kan ek dit oorweeg om hierdie parameters uit 'n eksterne lêer te lees.

Die 3D-kaste wat ek gevind het om die Arduino-projek te huisves, is nie bruikbaar nie. Ek het op een begin, maar het 'n paar terugslae gehad, en dit is die rede waarom ek dit nog nie bygevoeg het nie. Almal wat een wil deel, kan my kontak, sodat ek na u werk in hierdie instruksie kan verwys.

Stap 5: Gee duim vas !

Ek hoop dat u hierdie projek kan gebruik en ek sien uit daarna om van u te hoor.