Turinys:
- 1 žingsnis: reikalingų medžiagų sąrašas
- 2 žingsnis: „Arduino + RC-522“paruošimas
- 3 žingsnis: „Windows“sąsaja, parašyta C#
- 4 žingsnis: galimi patobulinimai
- 5 žingsnis: pakelkite nykščius !
Video: Rėmėjų bėgimas naudojant „C#“ir „Arduino + RC-522“: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Rėmėjų bėgimai yra gana įprasti. Tačiau jų valdymas ne visada yra lengva užduotis. Tai apima registravimą, kiek ratų kiekviena komanda veikia efektyviai. Aš nusprendžiau naudoti RFID, kad galėčiau identifikuoti kiekvieną komandą. Kartu su tuo, kad galite įsigyti RC-522 RFID skaitytuvo kortelę ir „arduino“gana pigiai, tai leidžia gana lengvai sukurti šią sistemą.
1 žingsnis: reikalingų medžiagų sąrašas
- „Arduino“lenta: tinka bet kuri lenta. Aš naudoju „Arduino Nano“dėl savo dydžio
- „Arduino“kūrimo aplinka
- RC-522: galima nusipirkti/užsisakyti vietoje arba užsienyje
- „MiFare“13,56 MHz žymės. Paprastai kai kurie pavyzdžiai gali būti pateikiami kartu su jūsų RC-522 plokšte. Žymos tipas nesvarbus. Tiesiog patikrinkite, ar dažnis yra tinkamas.
- Kompiuteris, kuriame veikia „Windows“ir kuriame įdiegta „Visual Studio“, jei norite pakeisti kodą.
2 žingsnis: „Arduino + RC-522“paruošimas
Aukščiau esančiame paveikslėlyje parodyta RC-522 modulio prijungimas prie „Arduino“. Bet kuris „Arduino“tai padarys. Taigi, jei turite „Arduino Nano“, galite apsvarstyti galimybę jį naudoti. „Thingsiverse“galite rasti keletą atvejų, kai visa tai supakuojama. Išbandžiau vieną, bet jo atsargos spausdinant buvo per mažos, ir galiausiai atsirado netinkamas 3D spausdinimas.
Aš vis dar dirbu dėl gero atvejo.
Kad galėtumėte naudotis savo RC-522 lenta, prie „Arduino“redaktoriaus turite pridėti biblioteką. Deja, tai nėra biblioteka, kurią tvarko „Arduino“redaktorius, todėl turėsite pridėti ją prie „senosios mokyklos“metodo, kaip ją atsisiųsti ir nukopijuoti į bibliotekų aplanką. Nepamirškite iš naujo paleisti „Arduino“redaktoriaus, kad jis būtų prieinamas.
Biblioteką rasite adresu
Šiuo metu redaktorius yra paruoštas. Atėjo laikas įkelti scenarijų į „Arduino“. Jei išanalizuosite kodą, pamatysite, kad yra 5000 milisekundžių intervalas, per kurį vengiama kelis kartus spausdinti tą patį raktą. Šį intervalą galite keisti, tačiau jei nustatysite jį per mažą, tas pats klavišas bus rodomas kelis kartus vienas po kito.
Taigi, dabar atėjo laikas patikrinti, ar ši dalis veikia. Naudojami RFID yra standartiniai „MiFare 1Kb“pultai 13,56 MHz dažniu, kurie taip pat yra labai pigiai prieinami.
Atidarykite „Arduino“redaktoriaus serijos monitorių ir stebėkite, kaip rodomi klavišai, kai juos perkeliate į RC-522 modulį.
3 žingsnis: „Windows“sąsaja, parašyta C#
Rasite suspaustą aplanką, kuriame yra C# projektas. Atsisiųskite ir išpakuokite. Kodas buvo parašytas „Visual Studio 2017“taikymo. Net Framework 4.6.1. Bet kuris atnaujintas kompiuteris turėtų tai turėti ir sugebėti jį vykdyti. Jums nebūtinai reikia įdiegti „Visual Studio“. Kodas yra skirtas tiems, kurie nori jį pakeisti ar ištirti. Be programos pakeitimų, bėgimo trukmė nustatoma į 1 valandą ir 30 minučių. Įprastas rato laikas yra 50 sekundžių, tai yra 400 metrų trasa.
Vykdomąjį failą galima rasti aplanke Debug, kuris yra aplanke SponsorRun / SponsorRun / bin.
Tame aplanke taip pat yra teksto failai, kurie naudojami šiame projekte duomenims saugoti.
Teksto failai yra šie:
- rfidKeys.txt: kuriame yra skirtingų komandų raktai. Pirmasis raktas skirtas pirmajai komandai ir pan. Galite pašalinti šį failą ir pridėti savo raktus (žiūrėkite žemiau, kaip programa veikia)
- team.txt: kuriame yra skirtingų komandų pavadinimai. Vardas skirtas pirmajai komandai ir pan. Redaguokite šį failą naudodami įprastą teksto rengyklę (užrašų knygelė gali tai padaryti).
- results.txt: CSV formato failas, kuriame pateikiami įvairių komandų ratų rezultatai (gali nebūti, kai iki šiol nebuvo užregistruotų ratų)
- fraude.txt: CSV formato failas, kuriame yra komandos, bandančios apgauti (gali nebūti, kai sukčiavimo dar nebuvo aptikta)
Programa veikia taip:
- Pradėjus programą, programa aptinka įvairius jūsų kompiuterio COM prievadus. Turėtumėte pasirinkti „Arduino“priskirtą COM prievadą, kad būtų galima bendrauti. Pagal numatytuosius nustatymus COM greičio greitis turėtų būti 9600 bps, o tai atitinka „Arduino“kode nustatytą greitį.
- Norėdami suaktyvinti ryšį, spustelėkite mygtuką „Pradėti klausytis“
-
Nuo tada galite pasirinkti vieną iš dviejų funkcijų:
- Skaityti RFID raktus: tai prideda naujų raktų prie failo rfidKeys.txt
- Registruoti ratą (numatytoji parinktis): užregistruoja naują ratą faile results.txt. Kiekvieną kartą skaitant galiojantį raktą, pasirodys pranešimas ir pasigirs pyptelėjimas, patvirtinantis registraciją. Prie rezultatų.txt bus pridėta eilutė. Jei bandoma apgauti, pranešimas bus rodomas atskirame teksto laukelyje, pasigirs dar vienas pyptelėjimas ir rezultatas bus įrašytas į fraude.txt. Tokiu atveju rato laikas bus nustatytas tuo momentu, kai buvo aptiktas sukčiavimas.
4 žingsnis: galimi patobulinimai
Šį projektą sukūriau konkrečiai situacijai mano mokykloje. Akivaizdu, kad kai kurie naudojami parametrai gali netikti jūsų projektui. Kol kas turėsite pakoreguoti C# kodo parametrus ir iš naujo sukompiliuoti programą, todėl reikia įdiegti „Visual Studio“(nemažas 3,5 GB diegimas). Jei atsakymas yra pagrįstas, galiu apsvarstyti galimybę perskaityti šiuos parametrus iš išorinio failo.
3D atvejai, kuriuos radau „Arduino“projektui apgyvendinti, nėra tinkami naudoti. Pradėjau nuo vieno, bet turėjau tam tikrų nesėkmių, todėl to dar nepridėjau. Kiekvienas, norintis pasidalinti ja, gali susisiekti su manimi, todėl galiu nurodyti jūsų darbą šioje instrukcijoje.
5 žingsnis: pakelkite nykščius !
Tikiuosi, kad galėsite pasinaudoti šiuo projektu ir laukiu jūsų žinių.