Innehållsförteckning:
- Steg 1: Lista över material som behövs
- Steg 2: Förbereda Arduino + RC-522
- Steg 3: Windows -gränssnittet skrivet i C#
- Steg 4: Möjliga förbättringar
- Steg 5: Ge tummen upp !!
Video: Sponsor Kör med C# och Arduino + RC-522: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Sponsorkörningar är ganska vanliga. Att hantera dem är dock inte alltid en lätt uppgift, det handlar om att registrera hur många varv varje lag kör på ett effektivt sätt. Jag bestämde mig för att använda RFID: er för att identifiera varje lag. Kombinerat med det faktum att du kan hämta ett RC-522 RFID-läsarkort och en arduino ganska billigt, gör det möjligt att konstruera detta system ganska enkelt.
Steg 1: Lista över material som behövs
- Arduino board: vilken styrelse som helst. Jag använder Arduino Nano för sin storlek
- Arduino utvecklingsmiljö
- RC-522: kan köpas/beställas lokalt eller utomlands
- MiFare 13,56 MHz -taggar. Normalt kan vissa prover följa med ditt RC-522-kort. Typen av tag spelar ingen roll. Kontrollera bara att de har rätt frekvens.
- En dator som kör Windows och har Visual Studio installerat om du vill ändra koden.
Steg 2: Förbereda Arduino + RC-522
Bilden ovan visar kablarna för RC-522-modulen till Arduino. Vilken Arduino som helst kommer att göra. Så om du har en Arduino Nano tillgänglig kan du överväga att använda den. På thingiverse kan du hitta några fall för att boxa allt tillsammans. Jag provade en, men marginalerna för att skriva ut den var för små och slutade med ett oanvändbart 3D-tryck.
Jag arbetar fortfarande på ett bra fall för det.
För att kunna använda ditt RC-522-kort måste du lägga till ett bibliotek i Arduino-redigeraren. Tyvärr är det inte ett bibliotek som hanteras av Arduino -redigeraren, så du måste lägga till det "old school" -metoden för att ladda ner det och kopiera det till bibliotekets mapp. Glöm inte att starta om Arduino -redigeraren för att göra den tillgänglig.
Biblioteket finns på
Nu har du redigeraren redo. Det är dags att ladda upp manuset till din Arduino. Om du analyserar koden hittar du att det finns ett intervall på 5000 millisekunder där det undviks att skriva ut samma nyckel flera gånger. Du kan variera det intervallet, men om du ställer in det för litet kommer samma tangent att visas flera gånger efter varandra.
Så nu är det dags att kontrollera om den här delen fungerar. RFID: erna jag använder är standard MiFare 1Kb fobs vid 13,56 MHz, som också är mycket billigt tillgängliga.
Öppna seriemonitorn för Arduino-redigeraren och se nycklarna visas när du tar dem till RC-522-modulen.
Steg 3: Windows -gränssnittet skrivet i C#
Du hittar en komprimerad mapp som innehåller C# -projektet. Ladda ner den och packa upp den. Koden skrevs i Visual Studio 2017 inriktning. Net framework 4.6.1. Varje uppdaterad dator bör ha detta och kunna köra det. Du behöver inte nödvändigtvis installera Visual Studio. Koden tillhandahålls för dem som vill ändra eller granska den. Utan ändringar av programmet är körningens längd inställd på 1 timme och 30 minuter. Den normala varvtiden är inställd på 50 sekunder vilket är för ett 400 meter spår.
Den körbara filen finns i mappen Debug som finns under mappen SponsorRun / SponsorRun / bin.
I den mappen finns också textfilerna som används i detta projekt för att lagra data.
Textfilerna är:
- rfidKeys.txt: innehåller nycklarna för de olika lagen. Den första nyckeln är för första laget, och så vidare. Du kan ta bort den här filen och lägga till dina egna nycklar (se nedan hur programmet fungerar)
- teams.txt: innehåller namnen på de olika lagen. Förnamnet är för första laget, och så vidare. Redigera den här filen med en vanlig textredigerare (anteckningsblock kan göra det).
- results.txt: en CSV-formaterad fil som innehåller resultaten från lagens olika varv (kan vara frånvarande när inga varv har registrerats hittills)
- fraude.txt: en CSV-formaterad fil som innehåller lag som försöker fuska (kan vara frånvarande när inget fusk har upptäckts ännu)
Så här fungerar programmet:
- Vid initialisering upptäcker programmet de olika COM -portarna på din dator. Du bör välja COM -porten som är tilldelad din Arduino för att göra kommunikationen möjlig. Som standard bör COM -hastigheten vara 9600 bps, vilket motsvarar den hastighet som anges i Arduino -koden.
- Klicka på knappen "Börja lyssna" för att aktivera kommunikationen
-
Från och med den tiden kan du välja mellan två funktioner:
- Läs RFID -nycklar: detta lägger till nya nycklar till filen rfidKeys.txt
- Registrera varv (standardalternativ): registrerar ett nytt varv i filen results.txt. Varje gång en giltig nyckel läses kommer ett meddelande att visas och en ljudsignal hörs för att bekräfta registreringen. En rad kommer att läggas till results.txt. Vid ett försök att fuska kommer meddelandet att visas i en separat textruta, en annan pip kommer att höras och resultatet kommer att skrivas till fraude.txt. I så fall kommer tiden för varvet att ställas in till det ögonblick fusk upptäcktes.
Steg 4: Möjliga förbättringar
Jag skapade det här projektet för en specifik situation i min skola. Det är uppenbart att några av de parametrar som används kanske inte är lämpliga för ditt projekt. För tillfället måste du justera parametrarna i C# -koden och kompilera om programmet, vilket kräver installation av Visual Studio (en rejäl 3,5 GB installation). Om det finns en rimlig mängd svar kan jag överväga att läsa dessa parametrar från en extern fil.
3D-fodralen jag hittade för att hysa Arduino-projektet är inte användbara. Jag började på en, men hade några motgångar, vilket är anledningen, jag har inte lagt till dem ännu. Alla som vill dela en kan kontakta mig, så jag kan hänvisa till ditt arbete i denna instruktionsbok.
Steg 5: Ge tummen upp !!
Jag hoppas att du kan använda detta projekt och jag ser fram emot att höra från dig.