Здравствуйте много уважаемые пользователи форума и программисты.
Пытаюсь разобраться с кодом для модуля RFI, вот исходный код, который работает:
#include “SPI.h”
#include “MFRC522.h”
#define RST_PIN 9 // RES pin
#define SS_PIN 10 // SDA (SS) pin
byte readCard[4];
String cardID = “967D86”; // замените на ID своей метки
String tagID = “”;
MFRC522 mfrc522(SS_PIN, RST_PIN); // создание объекта mfrc522
void setup() {
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
pinMode(6, OUTPUT);
}
void loop() {
while (getID()) {
if (tagID == cardID) {
Serial.println(“Access Granted!”);
digitalWrite(6, LOW);
}
else {
Serial.println(“Access Denied!”);
}
Serial.print("ID: ");
Serial.println(tagID);
delay(2000);
digitalWrite(6, HIGH);
}
}
boolean getID() {
if (! mfrc522.PICC_IsNewCardPresent()) {
return false;
}
if (! mfrc522.PICC_ReadCardSerial()) {
return false;
}
tagID = “”;
for (uint8_t i = 0; i < 4; i++) {
tagID.concat(String(mfrc522.uid.uidByte[i], HEX));
}
tagID.toUpperCase();
mfrc522.PICC_HaltA();
return true;
}
В данном коде используется один ID ключа, когда я пытаюсь использовать два кода, согласно коментария: Чтобы добавить несколько меток закомментируйте строку:
//String cardID = «20C3935E»; // замените на ID своей метки
В блоке loop скетча измените строку:
if (tagID == cardID) следующим образом:
if(tagID == «20C3935E» || tagID == «FD24565Y» || tagID == «12DF45GJE») // сколько угодно меток
то мне выдаёт следующую ошибку:
Компиляция скетча…
“C:\Users\Анатолий\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR “-IC:\Users\Анатолий\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.7\cores\arduino” “-IC:\Users\Анатолий\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.7\variants\eightanaloginputs” “-IC:\Users\Анатолий\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.7\libraries\SPI\src” “-Ic:\Users\Анатолий\Documents\Arduino\libraries\MFRC522\src” “C:\Users\Анатолий\AppData\Local\arduino\sketches\FA822A98C72DD9925BDB2C0C60F91894\sketch\Keypad.ino.cpp” -o “C:\Users\Анатолий\AppData\Local\arduino\sketches\FA822A98C72DD9925BDB2C0C60F91894\sketch\Keypad.ino.cpp.o”
C:\Users\Анатолий\AppData\Local\Temp\Rar$DIa10320.11407\Keypad\Keypad.ino:23:17: error: stray ‘\302’ in program
C:\Users\Анатолий\AppData\Local\Temp\Rar$DIa10320.11407\Keypad\Keypad.ino:23:18: error: stray ‘\253’ in program
C:\Users\Анатолий\AppData\Local\Temp\Rar$DIa10320.11407\Keypad\Keypad.ino:23:26: error: stray ‘\302’ in program
C:\Users\Анатолий\AppData\Local\Temp\Rar$DIa10320.11407\Keypad\Keypad.ino:23:27: error: stray ‘\273’ in program
C:\Users\Анатолий\AppData\Local\Temp\Rar$DIa10320.11407\Keypad\Keypad.ino:23:41: error: stray ‘\302’ in program
C:\Users\Анатолий\AppData\Local\Temp\Rar$DIa10320.11407\Keypad\Keypad.ino:23:42: error: stray ‘\253’ in program
C:\Users\Анатолий\AppData\Local\Temp\Rar$DIa10320.11407\Keypad\Keypad.ino:23:50: error: stray ‘\302’ in program
C:\Users\Анатолий\AppData\Local\Temp\Rar$DIa10320.11407\Keypad\Keypad.ino:23:51: error: stray ‘\273’ in program
C:\Users\Анатолий\AppData\Local\Temp\Rar$DIa10320.11407\Keypad\Keypad.ino: In function ‘void loop()’:
C:\Users\Анатолий\AppData\Local\Temp\Rar$DIa10320.11407\Keypad\Keypad.ino:23:8: error: ‘tagID’ was not declared in this scope
C:\Users\Анатолий\AppData\Local\Temp\Rar$DIa10320.11407\Keypad\Keypad.ino:23:43: error: ‘F365BD2’ was not declared in this scope
C:\Users\Анатолий\AppData\Local\Temp\Rar$DIa10320.11407\Keypad\Keypad.ino:31:20: error: ‘tagID’ was not declared in this scope
C:\Users\Анатолий\AppData\Local\Temp\Rar$DIa10320.11407\Keypad\Keypad.ino: In function ‘boolean getID()’:
C:\Users\Анатолий\AppData\Local\Temp\Rar$DIa10320.11407\Keypad\Keypad.ino:46:3: error: ‘tagID’ was not declared in this scope
Используем библиотеку SPI версии 1.0 из папки: C:\Users\Анатолий\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.7\libraries\SPI
Используем библиотеку MFRC522 версии 1.4.12 из папки: C:\Users\Анатолий\Documents\Arduino\libraries\MFRC522
exit status 1
Compilation error: stray ‘\302’ in program
Так же , когда я данную строчку: String cardID = “967D86”; использую второй раз (копирую её ниже), меняя cardID на cardID1 и добовляя в соответствующих местах tagID, то у меня читаються все карты, в не зависимости от то, добавлен ли ID карты или нет.
Помогите пожалуйста разобраться с данной проблемой.
Когда у меня встречается такая ошибка, то я исправляю её так. Становлюсь перед самой первой строкой скетча. Нажимаю . Весь текст скетча смещается вниз. Затем . после этого закрыть скетч с сохранением. И открыть его заново.
А у меня огород не копан. Сыро ещё. И что?
Или ты не заметил, что проблема решена была без всяких «сдвигов вниз»? И именно заменой символов. Или не читал? Ну тогда понятно.