Tartalomjegyzék:
- Lépés: A szükséges anyagok listája
- 2. lépés: Az Arduino + RC-522 előkészítése
- 3. lépés: A Windows interfész C# nyelven írva
- 4. lépés: Lehetséges fejlesztések
- 5. lépés: Tedd fel a hüvelykujjaidat !
Videó: Szponzor futás C# és Arduino + RC-522 segítségével: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
A szponzor futások meglehetősen gyakoriak. Ezek kezelése azonban nem mindig könnyű feladat. Ez magában foglalja annak regisztrálását, hogy hány kört fut le hatékonyan az egyes csapatok. Úgy döntöttem, hogy RFID -ket használok jelképként az egyes csapatok azonosítására. Azzal a ténnyel együtt, hogy meglehetősen olcsón vehet fel egy RC-522 RFID olvasókártyát és egy arduinot, ez lehetővé teszi a rendszer egyszerű elkészítését.
Lépés: A szükséges anyagok listája
- Arduino tábla: bármelyik tábla megteszi. A méretéhez képest Arduino Nano -t használok
- Arduino fejlesztői környezet
- RC-522: vásárolható/rendelhető helyben vagy külföldön
- MiFare 13,56 MHz -es címkék. Általában néhány minta érkezhet az RC-522 kártyához. A címke típusa nem számít. Csak ellenőrizze, hogy megfelelő frekvenciájú -e.
- Ha a kódot módosítani szeretné, akkor Windows operációs rendszert futtató és Visual Studio telepített számítógéppel rendelkezik.
2. lépés: Az Arduino + RC-522 előkészítése
A fenti kép az RC-522 modul és az Arduino csatlakoztatását mutatja. Bármelyik Arduino megteszi. Tehát, ha rendelkezésre áll egy Arduino Nano, fontolja meg annak használatát. A thingiverse -n talál néhány esetet, hogy együtt bokszoljon. Kipróbáltam egyet, de a nyomtatáshoz szükséges margó túl kicsi volt, végül használhatatlan 3D-s nyomtatással.
Ennek érdekében még dolgozom egy jó ügyön.
Az RC-522 tábla használatához hozzá kell adnia egy könyvtárat az Arduino szerkesztőhöz. Sajnos nem egy könyvtárat kezeli az Arduino szerkesztője, ezért hozzá kell adnia a letöltéshez és a könyvtárak mappájába másoláshoz használt "old school" módszert. Ne felejtse el újraindítani az Arduino szerkesztőt, hogy hozzáférhető legyen.
A könyvtár a https://github.com/miguelbalboa/rfid címen található.
Mostanra készen áll a szerkesztő. Itt az ideje, hogy feltöltse a forgatókönyvet az Arduino készülékére. Ha elemezi a kódot, azt fogja találni, hogy 5000 ezredmásodperces intervallumban elkerülhető, hogy ugyanazt a kulcsot többször kinyomtassák. Ezt az intervallumot módosíthatja, de ha túl kicsi, akkor ugyanaz a kulcs többször jelenik meg egymás után.
Tehát most ideje ellenőrizni, hogy ez a rész működik -e. Az általam használt RFID -k szabványos MiFare 1Kb -os fobok 13,56 MHz -en, amelyek szintén nagyon olcsón kaphatók.
Nyissa meg az Arduino szerkesztő soros monitorát, és nézze meg, hogyan jelennek meg a billentyűk, amikor az RC-522 modulhoz viszi őket.
3. lépés: A Windows interfész C# nyelven írva
Egy tömörített mappát tartalmaz, amely tartalmazza a C# projektet. Töltse le és csomagolja ki. A kódot a Visual Studio 2017 célzási. Net keretrendszer 4.6.1. Minden frissített számítógépnek rendelkeznie kell ezzel, és képesnek kell lennie arra, hogy végrehajtsa. Nem feltétlenül szükséges a Visual Studio telepítése. A kód azoknak készült, akik módosítani vagy vizsgálni szeretnék. A program módosítása nélkül a futás időtartama 1 óra 30 perc. A normál köridő 50 másodperc, ami 400 méteres pálya.
A végrehajtható fájl a Debug mappában található, amely a SponsorRun / SponsorRun / bin mappa alatt található.
Ebben a mappában vannak azok a szövegfájlok is, amelyeket ebben a projektben használnak az adatok tárolására.
A szöveges fájlok a következők:
- rfidKeys.txt: tartalmazza a különböző csapatok kulcsait. Az első kulcs az első csapaté, stb. Eltávolíthatja ezt a fájlt, és hozzáadhatja saját kulcsait (lásd alább, hogyan működik a program)
- team.txt: tartalmazza a különböző csapatok nevét. A keresztnév az első csapaté, stb. Szerkessze ezt a fájlt egy közönséges szövegszerkesztővel (a jegyzettömb is megteszi).
- results.txt: CSV formátumú fájl, amely tartalmazza a csapatok különböző köreinek eredményeit (hiányozhat, ha eddig nem regisztráltak kört)
- fraude.txt: CSV formátumú fájl, amely csalni próbáló csapatokat tartalmaz (hiányozhat, ha még nem észleltek csalást)
A program működése a következő:
- Az inicializáláskor a program felismeri a számítógép különböző COM portjait. A kommunikáció lehetővé tétele érdekében válassza ki az Arduino -hoz rendelt COM -portot. Alapértelmezés szerint a COM sebességének 9600 bps -nek kell lennie, ami megfelel az Arduino kódban beállított sebességnek.
- A kommunikáció aktiválásához kattintson a "Hallgatás indítása" gombra
-
Ettől kezdve két funkció közül választhat:
- RFID -kulcsok olvasása: ez új kulcsokat ad hozzá az rfidKeys.txt fájlhoz
- Lap regisztrálása (alapbeállítás): új kört regisztrál a results.txt fájlba. Minden alkalommal, amikor érvényes kulcsot olvas, üzenet jelenik meg, és sípoló hang hallható a regisztráció megerősítésére. Egy sor kerül hozzáadásra a results.txt fájlhoz. Csalási kísérlet esetén az üzenet külön szövegdobozban jelenik meg, újabb hangjelzés hallható, és az eredmény a fraude.txt fájlba kerül. Ebben az esetben a köridőt a csalás észlelésének pillanatára kell beállítani.
4. lépés: Lehetséges fejlesztések
Ezt a projektet az iskolám konkrét helyzetére hoztam létre. Nyilvánvaló, hogy néhány használt paraméter nem felel meg a projektnek. Egyelőre módosítania kell a C# kód paramétereit, és újra kell fordítania a programot, ami szükségessé teszi a Visual Studio telepítését (egy bonyolult 3,5 GB -os telepítés). Ha ésszerű válasz érkezik, fontolóra vehetem, hogy ezeket a paramétereket külső fájlból olvassam.
Az Arduino projekt elhelyezésére talált 3D-tokok nem használhatók. Az egyiken kezdtem, de volt néhány kudarcom, ez az oka, még nem adtam hozzá. Bárki, aki megosztani szeretné, vegye fel velem a kapcsolatot, így hivatkozhatok a munkájára ebben az utasításban.
5. lépés: Tedd fel a hüvelykujjaidat !
Remélem, hogy tudja használni ezt a projektet, és várom a válaszát.