Ich grüße euch!

Kurz und knapp: Wenn ich

#include "SD.h"
#include <SPI.h>
#include "DHT.h" 

oder gar nur

#include "SD.h"

in mein Projekt inkludieren will, findet es mein Display nicht mehr!

Ich möchte zwei Programme zusammenfassen: Temperatur + Data Logger und Display. Einzeln funktioniert es, doch wenn ich beim Display "Programm" die Library von der SD-Karte hinzufügen möchte, findet er kein Display mehr (SSD1306 allocation failed).

Ich bin am Ende meines Wissensschatzes und hoffe, ihr könnt helfen.

Programm vom Temperatur Datalogger
https://microcontrollerslab.com/dht22-data-logger-arduino-micro-sd-card/?fbclid=IwAR3eXzNh_y7-6tNhh7Qoh_wpzHY-_6lM7BwR1HcT2MaBO7rzwuswTJzs34A

Programm vom Display

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define SCREEN_ADDRESS 0x3C

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

#define NUMFLAKES   10 // Number of snowflakes in the animation example
#define LOGO_HEIGHT  16
#define LOGO_WIDTH  16

static const unsigned char PROGMEM logo_bmp[] =
{
  0b00000000, 0b11000000,
  0b00000001, 0b11000000,
  0b00000001, 0b11000000,
  0b00000011, 0b11100000,
  0b11110011, 0b11100000,
  0b11111110, 0b11111000,
  0b01111110, 0b11111111,
  0b00110011, 0b10011111,
  0b00011111, 0b11111100,
  0b00001101, 0b01110000,
  0b00011011, 0b10100000,
  0b00111111, 0b11100000,
  0b00111111, 0b11110000,
  0b01111100, 0b11110000,
  0b01110000, 0b01110000,
  0b00000000, 0b00110000
};

void setup()
{
  Serial.begin(9600);
  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  
  if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
    Serial.println(F("SSD1306 allocation failed"));

    for(;;); // Don't proceed, loop forever
  }

  // Show initial display buffer contents on the screen --
  // the library initializes this with an Adafruit splash screen.
  display.display();
  delay(2000); // Pause for 2 seconds
  // Clear the buffer
  display.clearDisplay();
  // Draw a single pixel in white
  display.drawPixel(10, 10, SSD1306_WHITE);
  delay(20000);
  display.clearDisplay();
  // Show the display buffer on the screen. You MUST call display() after
  // drawing commands to make them visible on screen!
  display.display();
  delay(2000);
}

void loop()
{
}