Хранить целочисленное значение денег на RFID-метке
Я работаю над созданием аркады на базе Arduino. Я хочу, чтобы у каждого пользователя аркады была RFID-карта, которая хранит количество кредитов (в основном денег), которые у них есть. Я знаю, что RFID-метки имеют 1028 байт памяти, но я не знаю, как записать в них целочисленное значение.
Количество кредитов, имеющихся у каждого пользователя, будет храниться на RFID-карте, а также его PIN.
ПИН-код будет состоять из 4 цифр, причем каждая цифра будет целым числом от 0 до 9, как это принято в стандарте с пин-кодами. Он будет храниться как одно целое число, между 0000 и 9999.
Кредит ТАКЖЕ будет храниться на каждой карте. Это будет от 0 до 99 (самое большее, что можно загрузить за один раз). Это тоже будет рассматриваться как одно целое число для удобства использования.
Оба целых числа будут иметь тип Arduino int
.
Я использую библиотеку MFRC522 с устройством чтения/записи RC522. У меня есть Arduino Uno, но я могу легко переключиться на Arduino Nano.
Кто-нибудь может сказать мне, как это сделать?:
A. Записать целочисленное значение (сохраненное как переменная в скетче или доступное из памяти RFID) на RFID - карту?
B. Получить доступ к этой информации и получить ее в виде целого числа, с которым я мог бы работать (+ , -,÷, × и т.д.
)?
Заранее спасибо!
@RMCodes, 👍1
1 ответ
Лучший ответ:
Вы можете считывать данные с помощью :
status = mfrc522.MIFARE_Read(blockNum, readBlockData, &bufferLen);
и записать данные с помощью:
status = mfrc522.MIFARE_Write(blockNum, blockData, 16);
Однако это еще не все, поэтому проверьте примеры библиотеки RFID или эти внешние статьи:
https://www.electronicshub.org/write-data-to-rfid-card-using-rc522-rfid/ https://playground.arduino.cc/Learning/MFRC522/
Когда вы читаете данные в блоке памяти, вы можете получить нужные вам байты и преобразовать их в int или наоборот для записи.
- Использование прерываний с RC522
- Проблема совместного использования MISO с несколькими RFID-считывателями RC522
- rfid_default_keys проверить с помощью RC522
- MFRC522: прошивка неизвестна
- MFRC522 не сканируется карта
- RFID-RC522 не работает, горит красный светодиод
- Считывание одновременно RFID-МЕТКИ с помощью нескольких RFID-считывателей [MFRC522]
- Arduino Uno - Как записать персональные данные в NTAG213 с помощью RFID-RC522
Таким образом, blockNum будет заменен номером блока цели, а blockData останется прежним?, @RMCodes
Я не уверен на 100%, что вы имеете в виду ... blockNum-это целое число (значение) целевого объекта, а block data-это буфер, содержащий содержимое этого блока (целевого объекта), который обычно представляет собой 8-битный массив (обычно байт без знака*)., @Michel Keijzers
Я не был уверен, что в приведенном выше коде было заполнителями и что должно было оставаться неизменным, когда я делаю скетч, @RMCodes
blockNum-это входной параметр (то есть он не меняется). readBlockData изменяется (вместе с считываемыми данными), а также bufferLen, который содержит количество прочитанных байтов (и не переполняет буфер чтения). blockData (для записи) не изменяет буфер (но изменяет фактическое содержимое RFID - метки)., @Michel Keijzers