Sommario:

Sponsor eseguito con C# e Arduino + RC-522: 5 passaggi
Sponsor eseguito con C# e Arduino + RC-522: 5 passaggi

Video: Sponsor eseguito con C# e Arduino + RC-522: 5 passaggi

Video: Sponsor eseguito con C# e Arduino + RC-522: 5 passaggi
Video: how to make attendance scanner machine using iot at your home 2024, Luglio
Anonim
Sponsor eseguito con C# e Arduino + RC-522
Sponsor eseguito con C# e Arduino + RC-522

Le corse degli sponsor sono abbastanza comuni. Tuttavia, gestirli non è sempre un compito facile. Si tratta di registrare quanti giri ogni squadra percorre in modo efficiente. Ho deciso di utilizzare gli RFID da utilizzare come token per identificare ogni squadra. In combinazione con il fatto che puoi prendere una scheda lettore RFID RC-522 e un arduino abbastanza economico, rende possibile costruire questo sistema abbastanza facilmente.

Passaggio 1: elenco dei materiali necessari

  • Scheda Arduino: qualsiasi scheda andrà bene. Uso Arduino Nano per le sue dimensioni
  • Ambiente di sviluppo Arduino
  • RC-522: può essere acquistato/ordinato localmente o all'estero
  • Tag MiFare 13,56 MHz. Normalmente alcuni campioni possono essere forniti con la scheda RC-522. Il tipo di tag non ha importanza. Basta controllare che siano la frequenza giusta.
  • Un PC con Windows e con installato Visual Studio, se si desidera modificare il codice.

Passaggio 2: preparazione di Arduino + RC-522

Preparazione dell'Arduino + RC-522
Preparazione dell'Arduino + RC-522

L'immagine sopra mostra il cablaggio del modulo RC-522 ad Arduino. Qualsiasi Arduino andrà bene. Quindi, se hai a disposizione un Arduino Nano, potresti considerare di usarlo. Su thingiverse puoi trovare alcune custodie per boxare tutto insieme. Ne ho provato uno, ma i suoi margini per la stampa erano troppo piccoli, finendo con una stampa 3D inutilizzabile.

Sto ancora lavorando su un buon caso per quello.

Per utilizzare la tua scheda RC-522, dovrai aggiungere una libreria all'editor Arduino. Sfortunatamente, non è una libreria gestita dall'editor di Arduino, quindi dovrai aggiungerla con il metodo "vecchia scuola" per scaricarla e copiarla nella cartella delle librerie. Non dimenticare di riavviare l'editor Arduino per renderlo accessibile.

La libreria può essere trovata su

A questo punto hai l'editor pronto. È ora di caricare lo script sul tuo Arduino. Se analizzi il codice, scoprirai che c'è un intervallo di 5000 millisecondi in cui si evita di stampare più volte la stessa chiave. Puoi variare tale intervallo, ma se lo imposti su un valore troppo piccolo, la stessa chiave verrà mostrata più volte l'una dopo l'altra.

Quindi, ora è il momento di verificare se questa parte funziona. Gli RFID che uso sono telecomandi MiFare 1Kb standard a 13,56 MHz, anch'essi molto economici.

Apri il monitor seriale dell'editor Arduino e guarda i tasti apparire mentre li porti al modulo RC-522.

Passaggio 3: l'interfaccia di Windows scritta in C#

L'interfaccia di Windows scritta in C#
L'interfaccia di Windows scritta in C#

Trovi inclusa una cartella compressa contenente il progetto C#. Scaricalo e scompattalo. Il codice è stato scritto in Visual Studio 2017 per il framework. Net 4.6.1. Qualsiasi computer aggiornato dovrebbe avere questo ed essere in grado di eseguirlo. Non devi necessariamente installare Visual Studio. Il codice è fornito per chi volesse modificarlo o esaminarlo. Senza modifiche al programma, la durata della corsa è fissata a 1 ora e 30 minuti. Il tempo sul giro normale è impostato su 50 secondi, che è per una pista di 400 metri.

L'eseguibile si trova nella cartella Debug che si trova nella cartella SponsorRun\SponsorRun\bin.

In quella cartella ci sono anche i file di testo che vengono utilizzati in questo progetto per memorizzare i dati.

I file di testo sono:

  • rfidKeys.txt: contenente le chiavi delle diverse squadre. La prima chiave è per la prima squadra, e così via. Puoi rimuovere questo file e aggiungere le tue chiavi (guarda sotto come funziona il programma)
  • teams.txt: contenente i nomi delle diverse squadre. Il nome è per la prima squadra, e così via. Modifica questo file con un comune editor di testo normale (potrebbe bastare il blocco note).
  • risultati.txt: un file in formato CSV contenente i risultati dei vari giri delle squadre (può essere assente, quando non sono stati registrati giri fino ad ora)
  • fraude.txt: un file in formato CSV contenente squadre che cercano di imbrogliare (potrebbe essere assente, quando non è stato ancora rilevato alcun imbroglio)

Il funzionamento del programma è il seguente:

  • All'inizializzazione il programma rileva le varie porte COM del computer. Dovresti selezionare la porta COM assegnata al tuo Arduino per rendere possibile la comunicazione. Per impostazione predefinita, la velocità COM dovrebbe essere 9600 bps, che corrisponde alla velocità impostata nel codice Arduino.
  • Fare clic sul pulsante "Inizia ad ascoltare" per attivare la comunicazione
  • Da quel momento in poi potrai scegliere tra due funzioni:

    • Leggi chiavi RFID: aggiunge nuove chiavi al file rfidKeys.txt
    • Registra giro (opzione predefinita): registra un nuovo giro nel file results.txt. Ogni volta che viene letta una chiave valida, apparirà un messaggio e verrà emesso un segnale acustico per confermare la registrazione. Verrà aggiunta una riga a results.txt. In caso di tentativo di imbrogliare, il messaggio apparirà in una casella di testo separata, verrà emesso un altro segnale acustico e il risultato verrà scritto su fraude.txt. In tal caso, il tempo per il giro sarà impostato al momento in cui è stato rilevato l'imbroglio.

Passaggio 4: possibili miglioramenti

Ho creato questo progetto per una situazione specifica nella mia scuola. È ovvio che alcuni dei parametri utilizzati potrebbero non essere adatti al tuo progetto. Per ora, dovrai regolare i parametri nel codice C# e ricompilare il programma, il che richiede l'installazione di Visual Studio (un'installazione pesante da 3,5 GB). Se c'è una quantità ragionevole di risposta, posso prendere in considerazione la lettura di questi parametri da un file esterno.

Le custodie 3D che ho trovato per ospitare il progetto Arduino non sono utilizzabili. Ho iniziato con uno, ma ho avuto alcune battute d'arresto, motivo per cui non li ho ancora aggiunti. Chiunque desideri condividerne uno può contattarmi, così posso fare riferimento al tuo lavoro in questo Instructable.

Passaggio 5: Pollice in su!

Spero che tu possa utilizzare questo progetto e non vedo l'ora di sentirti.