Cuprins:
- Pasul 1: Lista materialelor necesare
- Pasul 2: Pregătirea Arduino + RC-522
- Pasul 3: interfața Windows scrisă în C #
- Pasul 4: Posibile îmbunătățiri
- Pasul 5: Dă degetul mare !
Video: Sponsor Run With C # și Arduino + RC-522: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Rularele sponsorului sunt destul de frecvente. Cu toate acestea, gestionarea lor nu este întotdeauna o sarcină ușoară, ci implică înregistrarea câte ture rulează fiecare echipă într-un mod eficient. Am decis să folosesc RFID pentru a le folosi ca simbol pentru identificarea fiecărei echipe. Combinat cu faptul că puteți ridica un card de citire RFID RC-522 și un arduino destul de ieftin, face posibilă construirea acestui sistem destul de ușor.
Pasul 1: Lista materialelor necesare
- Placă Arduino: orice placă va funcționa. Folosesc Arduino Nano pentru dimensiunea sa
- Mediul de dezvoltare Arduino
- RC-522: poate fi cumpărat / comandat local sau în străinătate
- Etichete MiFare 13,56 MHz. În mod normal, unele probe pot veni cu placa RC-522. Tipul de etichetă nu contează. Verificați doar dacă sunt frecvența potrivită.
- Un computer care rulează Windows și care are instalat Visual Studio, dacă doriți să modificați codul.
Pasul 2: Pregătirea Arduino + RC-522
Imaginea de mai sus arată cablarea modulului RC-522 la Arduino. Orice Arduino va face. Deci, dacă aveți un Arduino Nano disponibil, ați putea lua în considerare utilizarea acestuia. Pe thingiverse puteți găsi câteva cazuri pentru a le boxa împreună. Am încercat una, dar marginile sale de imprimare au fost prea mici, ajungând la o imprimare 3D inutilizabilă.
Încă lucrez la un caz bun pentru asta.
Pentru a utiliza placa RC-522, va trebui să adăugați o bibliotecă la editorul Arduino. Din păcate, nu este o bibliotecă care este administrată de editorul Arduino, așa că va trebui să o adăugați metoda „vechii școli” de descărcare și copiere în dosarul bibliotecilor. Nu uitați să reporniți editorul Arduino pentru a-l face accesibil.
Biblioteca poate fi găsită la
Până acum, aveți editorul pregătit. Este timpul să încărcați scriptul pe Arduino. Dacă analizați codul, veți găsi că există un interval de 5000 de milisecunde în care se evită imprimarea de mai multe ori a aceleiași chei. Puteți varia intervalul respectiv, dar dacă îl setați prea mic, aceeași cheie va fi afișată de mai multe ori una după alta.
Deci, acum este timpul să verificăm dacă această parte funcționează. RFID-urile pe care le folosesc sunt fob-uri standard MiFare 1Kb la 13,56 MHz, care sunt, de asemenea, disponibile foarte ieftin.
Deschideți monitorul serial al editorului Arduino și urmăriți apariția tastelor în timp ce le aduceți la modulul RC-522.
Pasul 3: interfața Windows scrisă în C #
Găsiți un folder comprimat care conține proiectul C #. Descărcați-l și despachetați-l. Codul a fost scris în Visual Studio 2017 care vizează. Net Framework 4.6.1. Orice computer actualizat ar trebui să aibă acest lucru și să îl poată executa. Nu este necesar să instalați Visual Studio. Codul este furnizat pentru cei care doresc să îl modifice sau să îl examineze. Fără modificări ale programului, durata rulării este setată la 1 oră și 30 de minute. Timpul normal al turului este setat la 50 de secunde, adică pentru o pistă de 400 de metri.
Executabilul poate fi găsit în folderul Debug care se află sub folderul SponsorRun / SponsorRun / bin.
În acel folder sunt și fișierele text care sunt utilizate în acest proiect pentru a stoca datele.
Fișierele text sunt:
- rfidKeys.txt: conține cheile pentru diferitele echipe. Prima cheie este pentru prima echipă și așa mai departe. Puteți elimina acest fișier și puteți adăuga propriile chei (căutați mai jos modul în care funcționează programul)
- teams.txt: conține numele diferitelor echipe. Primul nume este pentru prima echipă și așa mai departe. Editați acest fișier cu un editor de text simplu comun (s-ar putea ca blocnotesul să o facă).
- results.txt: un fișier formatat în CSV care conține rezultatele diferitelor ture ale echipelor (poate fi absent, când nu au fost înregistrate ture până acum)
- fraude.txt: un fișier formatat în CSV care conține echipe care încearcă să trișeze (poate fi absent, când nu a fost detectat încă nici o trișare)
Modul în care funcționează programul este după cum urmează:
- La inițializare, programul detectează diferitele porturi COM de pe computer. Ar trebui să selectați portul COM atribuit Arduino-ului dvs. pentru a face posibilă comunicarea. În mod implicit, viteza COM trebuie să fie de 9600 bps, care corespunde vitezei setate în codul Arduino.
- Faceți clic pe butonul „Începeți ascultarea” pentru a activa comunicarea
-
Din acel moment, puteți alege între două funcții:
- Citiți cheile RFID: aceasta adaugă chei noi în fișierul rfidKeys.txt
- Înregistrare tur (opțiune implicită): înregistrează o nouă tură în fișierul results.txt. De fiecare dată când se citește o tastă validă, va apărea un mesaj și se va auzi un ton sonor pentru a confirma înregistrarea. O linie va fi adăugată la results.txt. În cazul unei încercări de a trișa, mesajul va apărea într-o casetă de text separată, va apărea un alt semnal sonor și rezultatul va fi scris pe fraude.txt. În acest caz, timpul pentru tur va fi setat în momentul în care a fost detectată înșelăciunea.
Pasul 4: Posibile îmbunătățiri
Am creat acest proiect pentru o situație specifică din școala mea. Este evident că unii dintre parametrii utilizați ar putea să nu se potrivească proiectului dumneavoastră. Pentru moment, va trebui să ajustați parametrii din codul C # și să recompilați programul, ceea ce necesită instalarea Visual Studio (o instalare puternică de 3,5 GB). Dacă există un răspuns rezonabil, aș putea lua în considerare citirea acestor parametri dintr-un fișier extern.
Cazurile 3D pe care le-am găsit pentru adăpostirea proiectului Arduino nu sunt utilizabile. Am început pe unul, dar am avut câteva eșecuri, motiv pentru care nu le-am adăugat încă. Oricine dorește să împărtășească unul poate să mă contacteze, așa că mă pot referi la munca dvs. în acest instructabil.
Pasul 5: Dă degetul mare !
Sper că puteți folosi acest proiect și aștept cu nerăbdare să primesc de la dvs.