Добрый день! Уже сломал голову и никак не пойму что я делают не так. К меге к 48, 49, 50 пинам подключены RFID модуль RC522 и microSD модуль. SS от SD подключен к 47 пину. SDA от RFID подключен к 48, RST к 49 пинам. Прописал pinMode(53, OUTPUT) как рекомендуется для SD модулей. Проблема в том, что RFID Не хочет работать вместе с SD модулем. Отключаю SD - рфид всё видит и всё читает. Включаю обратно SD - работает только SD. Пните меня что я пропустил и не доглядел. Приведу части кода, задействованные для RFID и для SD: Код (Text): #include <SdFat.h> #include <SPI.h> #include <MFRC522.h> #define RST_PIN 49 // Configurable, see typical pin layout above #define SS_PIN 48 // Configurable, see typical pin layout above MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. MFRC522::MIFARE_Key rfid_key; SdFat sd; const int chipSelect = 47; const int ledStart = 13; const int btnRfid = 26; void setup() { // THIS RUNS ONCE pinMode(53, OUTPUT); pinMode(ledStart, OUTPUT); pinMode(btnRfid, INPUT_PULLUP); if (sd.begin(chipSelect, SPI_FULL_SPEED)) { // initialise card on SPI to 8MHz SPI bus speed for (int dloop = 0; dloop < 4; dloop++) { digitalWrite(ledStart, !digitalRead(ledStart)); delay(100); } } else { // if error, flash LED twice per second, until reset while (1) { digitalWrite(ledStart, !digitalRead(ledStart)); delay(500); } } SPI.begin(); // Init SPI bus Serial.println("CheckPoint 2.2"); mfrc522.PCD_Init(); // Init MFRC522 card void loop() { if (digitalRead(btnRfid) == LOW || boolRFID == true) { StartScanRfid(); // launch StopRec method Serial.println("Start RFID Btn"); } } void StartScanRfid() { // Look for new cards if ( ! mfrc522.PICC_IsNewCardPresent()) return; // Select one of the cards if ( ! mfrc522.PICC_ReadCardSerial()) return; // Show some details of the PICC (that is: the tag/card) for (byte i = 0; i < mfrc522.uid.size; i++) { char buf[2]; itoa (mfrc522.uid.uidByte[i], buf, 16); charFilename += buf; } if (charFilename == "") return; Serial.print(F("Card UID:")); Serial.println(charFilename); char buf[8]; charFilename.toCharArray(buf, 8); boolRFID = false; // Halt PICC mfrc522.PICC_HaltA(); for (int dloop = 0; dloop < 4; dloop++) { digitalWrite(ledStart, !digitalRead(ledStart)); delay(100); } }