Оглавление:
- Шаг 1: Список необходимых материалов
- Шаг 2: Подготовка Arduino + RC-522
- Шаг 3. Интерфейс Windows, написанный на C #
- Шаг 4: Возможные улучшения
- Шаг 5: Поднимите палец вверх !
Видео: Спонсорский запуск с C # и Arduino + RC-522: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Спонсорские забеги - обычное дело. Однако управлять ими не всегда легко: нужно регистрировать, сколько кругов эффективно пробегает каждая команда. Я решил использовать RFID в качестве токена для идентификации каждой команды. В сочетании с тем фактом, что вы можете подобрать карту считывателя RFID RC-522 и ардуино довольно дешево, это позволяет довольно легко построить эту систему.
Шаг 1: Список необходимых материалов
- Плата Arduino: подойдет любая плата. Я использую Arduino Nano из-за его размера
- Среда разработки Arduino
- RC-522: можно купить / заказать на месте или за границей
- Теги MiFare 13,56 МГц. Обычно некоторые образцы могут поставляться с вашей платой RC-522. Тип тега не имеет значения. Просто проверьте, что это правильная частота.
- ПК под управлением Windows и установленной Visual Studio, если вы хотите изменить код.
Шаг 2: Подготовка 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 #
Вы найдете включенную сжатую папку, содержащую проект 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: Поднимите палец вверх !
Я надеюсь, что вы сможете использовать этот проект, и я с нетерпением жду вашего ответа.