Оглавление:

Спонсорский запуск с C # и Arduino + RC-522: 5 шагов
Спонсорский запуск с C # и Arduino + RC-522: 5 шагов

Видео: Спонсорский запуск с C # и Arduino + RC-522: 5 шагов

Видео: Спонсорский запуск с C # и Arduino + RC-522: 5 шагов
Видео: #001 - Разработка блоков ArduBlock - Серво SG90, новый блок без библиотек 2024, Июль
Anonim
Спонсорский запуск с C # и Arduino + RC-522
Спонсорский запуск с C # и Arduino + RC-522

Спонсорские забеги - обычное дело. Однако управлять ими не всегда легко: нужно регистрировать, сколько кругов эффективно пробегает каждая команда. Я решил использовать RFID в качестве токена для идентификации каждой команды. В сочетании с тем фактом, что вы можете подобрать карту считывателя RFID RC-522 и ардуино довольно дешево, это позволяет довольно легко построить эту систему.

Шаг 1: Список необходимых материалов

  • Плата Arduino: подойдет любая плата. Я использую Arduino Nano из-за его размера
  • Среда разработки Arduino
  • RC-522: можно купить / заказать на месте или за границей
  • Теги MiFare 13,56 МГц. Обычно некоторые образцы могут поставляться с вашей платой RC-522. Тип тега не имеет значения. Просто проверьте, что это правильная частота.
  • ПК под управлением Windows и установленной Visual Studio, если вы хотите изменить код.

Шаг 2: Подготовка Arduino + RC-522

Подготовка Arduino + RC-522
Подготовка Arduino + RC-522

На картинке выше показано подключение модуля RC-522 к Arduino. Подойдет любая Ардуино. Итак, если у вас есть доступная Arduino Nano, вы можете подумать об ее использовании. На сайте thingiverse можно найти несколько кейсов для бокса вместе. Я попробовал один, но его поля для печати были слишком малы, что привело к непригодной для использования 3D-печати.

Я все еще работаю над хорошим случаем для этого.

Чтобы использовать плату RC-522, вам нужно добавить библиотеку в редактор Arduino. К сожалению, это не библиотека, управляемая редактором Arduino, поэтому вам придется добавить ее "старомодным" методом загрузки и копирования в папку библиотек. Не забудьте перезапустить редактор Arduino, чтобы он стал доступным.

Библиотеку можно найти по адресу

Теперь у вас готов редактор. Пришло время загрузить скрипт на ваш Arduino. Если вы проанализируете код, вы обнаружите, что существует интервал в 5000 миллисекунд, в течение которого можно избежать многократной печати одного и того же ключа. Вы можете изменить этот интервал, но если вы установите его слишком маленьким, один и тот же ключ будет отображаться несколько раз друг за другом.

Итак, теперь пора проверить, работает ли эта часть. RFID-метки, которые я использую, представляют собой стандартные брелоки MiFare 1Kb на 13,56 МГц, которые также очень дешевы.

Откройте последовательный монитор редактора Arduino и посмотрите, как появляются клавиши, когда вы подносите их к модулю RC-522.

Шаг 3. Интерфейс Windows, написанный на C #

Интерфейс Windows, написанный на C #
Интерфейс Windows, написанный на C #

Вы найдете включенную сжатую папку, содержащую проект C #. Скачайте и распакуйте. Код был написан в Visual Studio 2017 с таргетингом на. Net framework 4.6.1. Любой обновленный компьютер должен иметь это и уметь его запускать. Вам не обязательно устанавливать Visual Studio. Код предназначен для тех, кто хочет его изменить или изучить. Без изменений в программе продолжительность пробега установлена на 1 час 30 минут. Нормальное время круга установлено на 50 секунд, что соответствует треку длиной 400 метров.

Исполняемый файл находится в папке Debug, которая находится в папке SponsorRun / SponsorRun / bin.

В этой папке также находятся текстовые файлы, которые используются в этом проекте для хранения данных.

Текстовые файлы:

  • rfidKeys.txt: содержит ключи для разных команд. Первый ключ предназначен для первой команды и так далее. Вы можете удалить этот файл и добавить свои собственные ключи (смотрите ниже, как работает программа)
  • team.txt: содержит названия разных команд. Имя для первой команды и так далее. Отредактируйте этот файл с помощью обычного текстового редактора (может подойти блокнот).
  • results.txt: файл в формате CSV, содержащий результаты различных кругов команд (может отсутствовать, если до сих пор не было зарегистрировано ни одного круга)
  • fraude.txt: файл в формате CSV, содержащий команды, пытающиеся обмануть (может отсутствовать, если читерство еще не обнаружено)

Программа работает следующим образом:

  • При инициализации программа обнаруживает различные COM-порты на вашем компьютере. Вы должны выбрать COM-порт, назначенный вашему Arduino, чтобы сделать связь возможной. По умолчанию скорость COM должна быть 9600 бит / с, что соответствует скорости, установленной в коде Arduino.
  • Нажмите кнопку «Начать прослушивание», чтобы активировать общение.
  • С этого момента вы можете выбирать между двумя функциями:

    • Чтение ключей RFID: это добавляет новые ключи в файл rfidKeys.txt
    • Зарегистрировать круг (опция по умолчанию): регистрирует новый круг в файле results.txt. Каждый раз, когда считывается действительный ключ, появляется сообщение и раздается звуковой сигнал, подтверждающий регистрацию. В results.txt будет добавлена строка. В случае попытки мошенничества сообщение появится в отдельном текстовом поле, прозвучит еще один звуковой сигнал и результат будет записан в fraude.txt. В этом случае время круга будет установлено на момент обнаружения читерства.

Шаг 4: Возможные улучшения

Я создал этот проект для конкретной ситуации в моей школе. Очевидно, что некоторые из используемых параметров могут не подходить для вашего проекта. На данный момент вам придется настроить параметры в коде C # и перекомпилировать программу, что потребует установки Visual Studio (объемная установка 3,5 ГБ). Если есть разумный ответ, я могу рассмотреть возможность чтения этих параметров из внешнего файла.

3D-корпуса, которые я нашел для размещения проекта Arduino, непригодны. Я начал с одного, но у меня были некоторые неудачи, поэтому я их еще не добавил. Любой, кто хочет поделиться одним из них, может связаться со мной, чтобы я мог сослаться на вашу работу в этом Руководстве.

Шаг 5: Поднимите палец вверх !

Я надеюсь, что вы сможете использовать этот проект, и я с нетерпением жду вашего ответа.