Светодиодная лента и SD-карта

Моя проблема проста, но крайне сложна. По какой-то причине я не могу одновременно взаимодействовать с SD-картой и светодиодной лентой через Arduino. После нескольких часов тестирования различных скриптов я на 99,99% уверен, что проблема связана с библиотекой SPI.h. Я попробовал простейший код для светодиодной ленты, например, включение светодиода номер 5. Если я подключаю SPI.h, код не работает, светодиод данных Arduino даже не загорается, Arduino ничего не отправляет на линию данных ленты. Если я удаляю SPI.h, код работает. Это действительно странно, я читал о том, что SPI.h вмешивается в работу контактов, поэтому теперь я ищу решение, как использовать модуль SD-карты без библиотеки SPI, если это возможно. Вот пример кода, который не работает из-за использования библиотеки SPI.h.

Любая помощь будет высоко оценена. Это крайне странно и проблематично.

#include <Time.h>
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#include <SPI.h>
#include <SD.h>

Sd2Card card;
SdVolume volume;
SdFile root;

const int chipSelect = 4;

#define PIN            6
#define NUMPIXELS      400

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB +   NEO_KHZ800);

boolean stringComplete = false;  // является ли строка полной
boolean readarray=false;
String inString = "";
int c=0;
int cc=0;
int led=0;
int i=0;
int j=0;
int pixel_n=0;
unsigned long start;
unsigned long endd;

//char* ledd[]={"", "", ""};
int ledd[3]={0,0,0};

File myFile;

void setup()
{
  // Открываем последовательную связь и ждем открытия порта:
  Serial.begin(9600);
pixels.begin();
while (!Serial) {
  ; // дождаться подключения последовательного порта. Требуется только для Leonardo.
}


Serial.print("\nInitializing SD card...");

// Теперь попробуем открыть «том»/«раздел» — это должен быть FAT16 или FAT32
if (!volume.init(card)) {
  Serial.println("Could not find FAT16/FAT32 partition.\nMake sure you've formatted the card");
  return;
}


// вывести тип и размер первого тома типа FAT
uint32_t volumesize;
Serial.print("\nVolume type is FAT");
Serial.println(volume.fatType(), DEC);
Serial.println();


Serial.println("Ok we're done");
delay(2000);


pixels.setPixelColor(5, (200,200,200)); // ЭТО НЕ РАБОТАЕТ
pixels.show(); // ЭТО ИЛИ

  Serial.begin(9600);
}


void loop(void) {

}

, 👍2