Mục lục:

Nhà tài trợ Chạy với C # và Arduino + RC-522: 5 bước
Nhà tài trợ Chạy với C # và Arduino + RC-522: 5 bước

Video: Nhà tài trợ Chạy với C # và Arduino + RC-522: 5 bước

Video: Nhà tài trợ Chạy với C # và Arduino + RC-522: 5 bước
Video: Lập trình và sử dụng Module RFID RC522 2024, Tháng mười một
Anonim
Nhà tài trợ Chạy với C # và Arduino + RC-522
Nhà tài trợ Chạy với C # và Arduino + RC-522

Các cuộc chạy của nhà tài trợ là khá phổ biến. Tuy nhiên, quản lý chúng không phải lúc nào cũng là một việc dễ dàng, nó liên quan đến việc đăng ký số vòng chạy của mỗi đội một cách hiệu quả. Tôi quyết định sử dụng RFID để sử dụng như một mã thông báo để xác định từng nhóm. Kết hợp với thực tế là bạn có thể mua một thẻ đọc RFID RC-522 và một arduino khá rẻ, điều đó khiến bạn có thể xây dựng hệ thống này khá dễ dàng.

Bước 1: Danh sách vật liệu cần thiết

  • Bảng Arduino: bất kỳ bảng nào cũng được. Tôi sử dụng Arduino Nano cho kích thước của nó
  • Môi trường phát triển Arduino
  • RC-522: có thể mua / đặt hàng trong nước hoặc nước ngoài
  • Thẻ MiFare 13,56 MHz. Thông thường một số mẫu có thể đi kèm với bo mạch RC-522 của bạn. Loại thẻ không quan trọng. Chỉ cần kiểm tra xem chúng có đúng tần số không.
  • Một PC chạy Windows và đã cài đặt Visual Studio, nếu bạn muốn sửa đổi mã.

Bước 2: Chuẩn bị Arduino + RC-522

Chuẩn bị Arduino + RC-522
Chuẩn bị Arduino + RC-522

Hình trên cho thấy cách đấu dây của mô-đun RC-522 đến Arduino. Bất kỳ Arduino nào cũng vậy. Vì vậy, nếu bạn có sẵn Arduino Nano, bạn có thể cân nhắc sử dụng nó. Trên điều ngược lại, bạn có thể tìm thấy một số trường hợp để đấm bốc tất cả cùng nhau. Tôi đã thử một cái, nhưng lợi nhuận của nó để in nó quá nhỏ, kết thúc là bản in 3D không thể sử dụng được.

Tôi vẫn đang nghiên cứu một trường hợp tốt cho điều đó.

Để sử dụng bo mạch RC-522, bạn sẽ phải thêm thư viện vào trình chỉnh sửa Arduino. Thật không may, nó không phải là một thư viện được quản lý bởi trình chỉnh sửa Arduino, vì vậy bạn sẽ phải thêm nó theo phương pháp "trường học cũ" để tải xuống và sao chép nó vào thư mục thư viện. Đừng quên khởi động lại trình chỉnh sửa Arduino để làm cho nó có thể truy cập được.

Thư viện có thể được tìm thấy tại

Bây giờ, bạn đã có trình chỉnh sửa sẵn sàng. Đã đến lúc tải tập lệnh lên Arduino của bạn. Nếu bạn phân tích mã, bạn sẽ thấy có một khoảng thời gian là 5000 mili giây mà nó tránh được việc in ra cùng một khóa nhiều lần. Bạn có thể thay đổi khoảng thời gian đó, nhưng nếu bạn đặt nó quá nhỏ, cùng một khóa sẽ được hiển thị nhiều lần sau nhau.

Vì vậy, bây giờ là lúc để kiểm tra xem phần này có hoạt động hay không. RFID mà tôi sử dụng là MiFare 1Kb fobs tiêu chuẩn ở 13,56 MHz, cũng có sẵn rất rẻ.

Mở màn hình nối tiếp của trình chỉnh sửa Arduino và xem các phím xuất hiện khi bạn đưa chúng vào mô-đun RC-522.

Bước 3: Giao diện Windows được viết bằng C #

Giao diện Windows được viết bằng C #
Giao diện Windows được viết bằng C #

Bạn thấy có một thư mục nén chứa dự án C #. Tải xuống và giải nén. Mã được viết trong Visual Studio 2017 nhắm mục tiêu. Net framework 4.6.1. Bất kỳ máy tính cập nhật nào cũng phải có điều này và có thể thực thi nó. Bạn không nhất thiết phải cài đặt Visual Studio. Mã được cung cấp cho những người muốn sửa đổi hoặc kiểm tra nó. Không có sửa đổi đối với chương trình, thời lượng chạy được đặt thành 1 giờ 30 phút. Thời gian vòng chạy bình thường được đặt thành 50 giây dành cho đường đua 400 mét.

Có thể tìm thấy tệp thực thi trong thư mục Gỡ lỗi nằm trong thư mục SponsorRun / SponsorRun / bin.

Trong thư mục đó cũng là các tệp văn bản được sử dụng trong dự án này để lưu trữ dữ liệu.

Các tệp văn bản là:

  • rfidKeys.txt: chứa các khóa cho các đội khác nhau. Chìa khóa đầu tiên dành cho đội đầu tiên, v.v. Bạn có thể xóa tệp này và thêm các khóa của riêng mình (xem bên dưới để biết cách hoạt động của chương trình)
  • team.txt: chứa tên của các đội khác nhau. Tên đầu tiên dành cho đội đầu tiên, v.v. Chỉnh sửa tệp này bằng một trình soạn thảo văn bản thuần túy phổ biến (notepad có thể làm được).
  • results.txt: tệp có định dạng CSV chứa kết quả của các vòng khác nhau của các đội (có thể vắng mặt, khi chưa có vòng nào được đăng ký cho đến nay)
  • fraude.txt: tệp có định dạng CSV chứa các nhóm cố gắng gian lận (có thể vắng mặt, khi chưa phát hiện hành vi gian lận nào)

Cách hoạt động của chương trình như sau:

  • Khi khởi tạo, chương trình sẽ phát hiện các cổng COM khác nhau trên máy tính của bạn. Bạn nên chọn cổng COM được gán cho Arduino của mình để có thể giao tiếp. Theo mặc định, tốc độ COM phải là 9600 bps, tương ứng với tốc độ được đặt trong mã Arduino.
  • Nhấp vào nút "Bắt đầu nghe" để kích hoạt giao tiếp
  • Từ thời điểm đó, bạn có thể chọn giữa hai chức năng:

    • Đọc khóa RFID: điều này thêm các khóa mới vào tệp rfidKeys.txt
    • Đăng ký vòng (tùy chọn mặc định): đăng ký một vòng mới vào tệp results.txt. Mỗi khi khóa hợp lệ được đọc, một thông báo sẽ xuất hiện và âm báo bíp sẽ được phát ra để xác nhận việc đăng ký. Một dòng sẽ được thêm vào results.txt. Trong trường hợp cố gắng gian lận, thông báo sẽ xuất hiện trong một hộp văn bản riêng biệt, một tiếng bíp khác sẽ phát ra và kết quả sẽ được ghi vào fraude.txt. Trong trường hợp đó, thời gian cho vòng đua sẽ được đặt thành thời điểm gian lận được phát hiện.

Bước 4: Cải tiến có thể

Tôi đã tạo dự án này cho một tình huống cụ thể trong trường học của tôi. Rõ ràng là một số tham số được sử dụng có thể không phù hợp với dự án của bạn. Hiện tại, bạn sẽ phải điều chỉnh các thông số trong mã C # và biên dịch lại chương trình, điều này đòi hỏi phải cài đặt Visual Studio (bản cài đặt 3,5 GB khổng lồ). Nếu có một lượng phản hồi hợp lý, tôi có thể xem xét việc đọc các thông số này từ một tệp bên ngoài.

Các trường hợp 3D mà tôi tìm thấy để chứa dự án Arduino không thể sử dụng được. Tôi đã bắt đầu vào một, nhưng có một số thất bại, đó là lý do, tôi chưa thêm chúng. Bất cứ ai muốn chia sẻ một cái có thể liên hệ với tôi, để tôi có thể tham khảo công việc của bạn trong Tài liệu hướng dẫn này.

Bước 5: Không thích !!

Tôi hy vọng bạn có thể sử dụng dự án này và tôi mong muốn nhận được phản hồi từ bạn.