Πίνακας περιεχομένων:

Sponsor Run With C# και Arduino + RC-522: 5 βήματα
Sponsor Run With C# και Arduino + RC-522: 5 βήματα

Βίντεο: Sponsor Run With C# και Arduino + RC-522: 5 βήματα

Βίντεο: Sponsor Run With C# και Arduino + RC-522: 5 βήματα
Βίντεο: Programming the Arduino OPTA 2024, Ιούλιος
Anonim
Χορηγός Εκτέλεση με C# και Arduino + RC-522
Χορηγός Εκτέλεση με C# και Arduino + RC-522

Οι χορηγίες είναι αρκετά συχνές. Ωστόσο, η διαχείρισή τους δεν είναι πάντα εύκολη υπόθεση. Περιλαμβάνει την καταχώριση πόσων γύρων που τρέχει κάθε ομάδα με αποτελεσματικό τρόπο. Αποφάσισα να χρησιμοποιήσω τα RFID για να χρησιμοποιήσω ως ένδειξη για τον προσδιορισμό κάθε ομάδας. Σε συνδυασμό με το γεγονός ότι μπορείτε να παραλάβετε μια κάρτα ανάγνωσης RC-522 RFID και ένα φθηνό arduino, καθιστά δυνατή την εύκολη κατασκευή αυτού του συστήματος.

Βήμα 1: Κατάλογος των απαραίτητων υλικών

  • Arduino board: οποιοσδήποτε πίνακας θα κάνει. Χρησιμοποιώ το Arduino Nano για το μέγεθός του
  • Περιβάλλον ανάπτυξης Arduino
  • RC-522: μπορεί να αγοραστεί/παραγγελθεί τοπικά ή στο εξωτερικό
  • Ετικέτες MiFare 13,56 MHz. Κανονικά ορισμένα δείγματα ενδέχεται να συνοδεύονται από την πλακέτα RC-522. Ο τύπος της ετικέτας δεν έχει σημασία. Απλώς ελέγξτε ότι είναι η σωστή συχνότητα.
  • Ένας υπολογιστής με Windows και εγκατεστημένο το Visual Studio, εάν θέλετε να τροποποιήσετε τον κώδικα.

Βήμα 2: Προετοιμασία του Arduino + RC-522

Προετοιμασία του Arduino + RC-522
Προετοιμασία του Arduino + RC-522

Η παραπάνω εικόνα δείχνει την καλωδίωση της μονάδας RC-522 στο Arduino. Οποιοδήποτε Arduino θα κάνει. Έτσι, εάν διαθέτετε ένα Arduino Nano, μπορείτε να το χρησιμοποιήσετε. Στο thingiverse μπορείτε να βρείτε μερικές θήκες για μποξ όλα μαζί. Δοκίμασα ένα, αλλά τα περιθώριά του για εκτύπωση ήταν πολύ μικρά, καταλήγοντας σε μια άχρηστη τρισδιάστατη εκτύπωση.

Εξακολουθώ να δουλεύω σε μια καλή περίπτωση για αυτό.

Για να χρησιμοποιήσετε τον πίνακα RC-522, θα πρέπει να προσθέσετε μια βιβλιοθήκη στον επεξεργαστή Arduino. Δυστυχώς, δεν είναι μια βιβλιοθήκη που διαχειρίζεται ο επεξεργαστής Arduino, οπότε θα πρέπει να την προσθέσετε με τη μέθοδο "old school" για να την κατεβάσετε και να την αντιγράψετε στο φάκελο βιβλιοθήκες. Μην ξεχάσετε να κάνετε επανεκκίνηση του προγράμματος επεξεργασίας Arduino για να είναι προσβάσιμο.

Μπορείτε να βρείτε τη βιβλιοθήκη στη διεύθυνση

Μέχρι τώρα, έχετε έτοιμο τον επεξεργαστή. It'sρθε η ώρα να ανεβάσετε το σενάριο στο Arduino σας. Αν αναλύσετε τον κώδικα, θα διαπιστώσετε ότι υπάρχει ένα διάστημα 5000 χιλιοστών του δευτερολέπτου στο οποίο αποφεύγεται η εκτύπωση του ίδιου κλειδιού πολλές φορές. Μπορείτε να αλλάξετε αυτό το διάστημα, αλλά αν το ορίσετε πολύ μικρό, το ίδιο πλήκτρο θα εμφανίζεται πολλές φορές το ένα μετά το άλλο.

Έτσι, τώρα ήρθε η ώρα να ελέγξετε αν αυτό το μέρος λειτουργεί. Τα RFID που χρησιμοποιώ είναι τυπικές βάσεις MiFare 1Kb στα 13,56 MHz, τα οποία είναι επίσης πολύ φθηνά διαθέσιμα.

Ανοίξτε τη Σειριακή οθόνη του προγράμματος επεξεργασίας Arduino και παρακολουθήστε τα κλειδιά να εμφανίζονται καθώς τα φέρνετε στη μονάδα RC-522.

Βήμα 3: Η διεπαφή των Windows γραμμένη σε C#

Η διασύνδεση των Windows γραμμένη σε C#
Η διασύνδεση των Windows γραμμένη σε C#

Βρίσκετε έναν συμπιεσμένο φάκελο που περιέχει το έργο C#. Κατεβάστε το και αποσυσκευάστε το. Ο κώδικας γράφτηκε στο Visual Studio 2017 targeting. Net framework 4.6.1. Οποιοσδήποτε ενημερωμένος υπολογιστής πρέπει να το διαθέτει και να είναι σε θέση να το εκτελέσει. Δεν χρειάζεται απαραίτητα να εγκαταστήσετε το Visual Studio. Ο κώδικας παρέχεται για όσους θέλουν να τον τροποποιήσουν ή να τον εξετάσουν. Χωρίς τροποποιήσεις στο πρόγραμμα, η διάρκεια της εκτέλεσης ορίζεται σε 1 ώρα και 30 λεπτά. Ο κανονικός χρόνος γύρου ορίζεται στα 50 δευτερόλεπτα που είναι για πίστα 400 μέτρων.

Το εκτελέσιμο αρχείο μπορεί να βρεθεί στο φάκελο εντοπισμού σφαλμάτων που βρίσκεται κάτω από το φάκελο SponsorRun / SponsorRun / bin.

Σε αυτόν τον φάκελο υπάρχουν επίσης τα αρχεία κειμένου που χρησιμοποιούνται σε αυτό το έργο για την αποθήκευση των δεδομένων.

Τα αρχεία κειμένου είναι:

  • rfidKeys.txt: περιέχει τα κλειδιά για τις διαφορετικές ομάδες. Το πρώτο κλειδί είναι για την πρώτη ομάδα και ούτω καθεξής. Μπορείτε να αφαιρέσετε αυτό το αρχείο και να προσθέσετε τα δικά σας κλειδιά (δείτε παρακάτω πώς λειτουργεί το πρόγραμμα)
  • team.txt: περιέχει τα ονόματα για τις διαφορετικές ομάδες. Το πρώτο όνομα είναι για την πρώτη ομάδα και ούτω καθεξής. Επεξεργαστείτε αυτό το αρχείο με έναν κοινό επεξεργαστή απλού κειμένου (μπορεί να κάνει το σημειωματάριο).
  • results.txt: αρχείο μορφοποιημένο σε CSV που περιέχει τα αποτελέσματα των διαφόρων γύρων των ομάδων (μπορεί να απουσιάζει, όταν δεν έχουν καταγραφεί γύροι μέχρι στιγμής)
  • fraude.txt: αρχείο μορφοποιημένο σε CSV που περιέχει ομάδες που προσπαθούν να εξαπατήσουν (μπορεί να απουσιάζει, όταν δεν έχει εντοπιστεί ακόμα απάτη)

Ο τρόπος λειτουργίας του προγράμματος είναι ο εξής:

  • Κατά την προετοιμασία, το πρόγραμμα εντοπίζει τις διάφορες θύρες COM στον υπολογιστή σας. Θα πρέπει να επιλέξετε τη θύρα COM που έχει εκχωρηθεί στο Arduino για να καταστεί δυνατή η επικοινωνία. Από προεπιλογή, ο ρυθμός ταχύτητας COM πρέπει να είναι 9600 bps, που αντιστοιχεί στην ταχύτητα που έχει οριστεί στον κώδικα Arduino.
  • Κάντε κλικ στο κουμπί "Έναρξη ακρόασης" για να ενεργοποιήσετε την επικοινωνία
  • Από εκείνο το σημείο και μετά, μπορείτε να επιλέξετε μεταξύ δύο λειτουργιών:

    • Διαβάστε τα κλειδιά RFID: αυτό προσθέτει νέα κλειδιά στο αρχείο rfidKeys.txt
    • Εγγραφή γύρου (προεπιλεγμένη επιλογή): καταχωρεί έναν νέο γύρο στο αρχείο results.txt. Κάθε φορά που διαβάζεται ένα έγκυρο κλειδί, εμφανίζεται ένα μήνυμα και ακούγεται ένας ήχος μπιπ για επιβεβαίωση της εγγραφής. Μια γραμμή θα προστεθεί στο results.txt. Σε περίπτωση απόπειρας εξαπάτησης, το μήνυμα θα εμφανιστεί σε ξεχωριστό πλαίσιο κειμένου, θα ακουστεί ένα άλλο μπιπ και το αποτέλεσμα θα γραφτεί στο fraude.txt. Σε αυτή την περίπτωση, ο χρόνος για τον γύρο θα οριστεί στη στιγμή που εντοπίστηκε η απάτη.

Βήμα 4: Πιθανές βελτιώσεις

Δημιούργησα αυτό το έργο για μια συγκεκριμένη κατάσταση στο σχολείο μου. Είναι προφανές ότι ορισμένες από τις παραμέτρους που χρησιμοποιούνται ενδέχεται να μην είναι κατάλληλες για το έργο σας. Προς το παρόν, θα πρέπει να προσαρμόσετε τις παραμέτρους στον κώδικα C# και να μεταγλωττίσετε ξανά το πρόγραμμα, το οποίο απαιτεί την εγκατάσταση του Visual Studio (μια βαριά εγκατάσταση 3,5 GB). Εάν υπάρχει μια λογική ποσότητα απόκρισης, μπορεί να εξετάσω την ανάγνωση αυτών των παραμέτρων από ένα εξωτερικό αρχείο.

Οι θήκες 3D που βρήκα για τη στέγαση του έργου Arduino δεν μπορούν να χρησιμοποιηθούν. Ξεκίνησα σε ένα, αλλά είχα κάποιες αποτυχίες, που είναι ο λόγος, δεν τα έχω προσθέσει ακόμα. Όποιος θέλει να μοιραστεί ένα μπορεί να επικοινωνήσει μαζί μου, ώστε να αναφερθώ στη δουλειά σας σε αυτό το Instructable.

Βήμα 5: Δώστε μπράβο !

Ελπίζω ότι μπορείτε να χρησιμοποιήσετε αυτό το έργο και ανυπομονώ να σας ακούσω.