Nano RTC3231 und SD Verständnis fehlt

Hallo ein gutes neues Jahr an alle
Ich habe einen Nano eine RTC und das SDmodul mit den Beispielen aus der IDE bekomme ich die RTC und das SDmodul ans laufen.
Gemeinsam hängt es wenn ich im Setup den Teil für das SDmodul nutze ????


```cpp
#include <RTClib.h>
#include <SPI.h>
#include <SD.h>
#include <Wire.h>

// ================== Hardware ==================

constexpr uint8_t BRENNER_PIN = 2;
constexpr uint8_t BZ_PIN = 3;
constexpr uint8_t VENTIL_WW_PIN = 4;
constexpr uint8_t RESET_PIN = 5;

constexpr uint8_t LED_PIN = 9;
constexpr uint8_t SD_CS_PIN = 10;

RTC_DS3231 rtc;

// ================== Globale Variablen ==================

DateTime currentTime;


void setup() {
  Serial.begin(9600);
  Serial.println("Setup gestartet");

  Wire.begin();

  if (!rtc.begin()) {
    Serial.println("RTC nicht gefunden!");
  } else {
    Serial.println("RTC OK");
    if (rtc.lostPower()) {
      rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    }
  }
  // if (SD.begin(SD_CS_PIN)) {
  //   Serial.println("SD-Karte OK");
  // } else {
  //   Serial.println("SD-Karte nicht gefunden");
  // }
}

// ================== Loop ==================

void loop() {

  currentTime = rtc.now();
  // Test: Ausgabe jede Sekunde
  // läuft 
  Serial.print("Loop läuft: ");
  Serial.print(currentTime.hour());
  Serial.print(":");
  Serial.print(currentTime.minute());
  Serial.print(":");
  Serial.println(currentTime.second());

  delay(1000);
}

Gruß Walter

wo? Hast du Meldungen?

Es gibt keine Ausgaben im Serialmonitor.

Und beim Hochladen?

Keine Fehler beim Hochladen.Kein Abbruch.

Dann machst du einen Fehler, den wir nicht sehen können.
Der Serielle sollte etwas anzeigen, wenn deine Einstellungen stimmen.


Bis zum Hochladen 14:14:42 ging es Ja
Dann den sketch nochmal übertragen das Ergebnis sieht man ja ???

Dein Code ist anderer wie in post 1 gezeigt

Nur um Dir einen Spiegel vorzuhalten:

grafik

Da gibt es ganz offensichtlich doch Ausgaben auf dem seriellen Monitor.

Ergänze mal am Ende von setup() Serial.println("Setup beendet");

Wird diese Zeile angezeigt?

Wenn nicht stellt sich die Frage, ob Dein SD-Modul einschließlich SD-Karte geeignet ist. Eventuell wird die Spannung runtergezogen, weil es nur für 3,3 V geeignet ist. Irgendwas in der Richtung. Laß mal ein ausführliches Testprogramm laufen.

Der aktuelle Code `

#include <RTClib.h>
#include <SPI.h>
#include <SD.h>
#include <Wire.h>

// ================== Hardware ==================

constexpr uint8_t BRENNER_PIN = 2;
constexpr uint8_t BZ_PIN = 3;
constexpr uint8_t VENTIL_WW_PIN = 4;
constexpr uint8_t RESET_PIN = 5;

constexpr uint8_t LED_PIN = 9;
constexpr uint8_t SD_CS_PIN = 10;

RTC_DS3231 rtc;

// ================== Globale Variablen ==================

DateTime currentTime;


void setup() {
  Serial.begin(9600);
  Serial.println("Setup gestartet");

  Wire.begin();

  if (!rtc.begin()) {
    Serial.println("RTC nicht gefunden!");
  } else {
    Serial.println("RTC OK");
    if (rtc.lostPower()) {
      rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    }
  }
  Serial.print("Initializing SD card...");
  pinMode(SD_CS_PIN, OUTPUT);
  delay(100);
 
  if (SD.begin(SD_CS_PIN)) {
    Serial.println("SD-Karte OK");
  } else {
    Serial.println("SD-Karte nicht gefunden");
    return;
  }
  Serial.println (" weiter ");
      
}


// ================== Loop ==================

void loop() {
  Serial.println (" weiter 1 ");
  currentTime = rtc.now();
  Serial.println (" weiter 2");
  // Test: Ausgabe jede Sekunde
  // läuft
  Serial.print("Loop läuft: ");
  Serial.print(currentTime.hour());
  Serial.print(":");
  Serial.print(currentTime.minute());
  Serial.print(":");
  Serial.println(currentTime.second());

  delay(1000);
}

und das Foto danach bin ich im Loop


Habe die Ausgaben weiter weiter1 weiter2 genannt .
`

Dann hängt er sich in dieser Zeile auf
currentTime = rtc.now();

Drückst Du danach Reset oder startet die Endlosschleife alleine?

Das Problem war schon mall vor ein paar Jahren. Versuch das:

#include <SPI.h>
#include <SD.h>
#include <Wire.h>
#include <RTClib.h>
RTC_DS3231 rtc;
// ================== Hardware ==================

constexpr uint8_t BRENNER_PIN = 2;
constexpr uint8_t BZ_PIN = 3;
constexpr uint8_t VENTIL_WW_PIN = 4;
constexpr uint8_t RESET_PIN = 5;

constexpr uint8_t LED_PIN = 9;
constexpr uint8_t SD_CS_PIN = 10;

 

// ================== Globale Variablen ==================

DateTime currentTime;


void setup() {
  Serial.begin(9600);
  Serial.println("Setup gestartet");

  if (SD.begin(SD_CS_PIN)) {
    Serial.println("SD-Karte OK");
  } else {
    Serial.println("SD-Karte nicht gefunden");
  }

  Wire.begin();
  rtc.begin();
  if (rtc.lostPower()) {
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  }
}
 
 

// ================== Loop ==================

void loop() {

  currentTime = rtc.now();
  // Test: Ausgabe jede Sekunde
  // läuft
  Serial.print("Loop läuft: ");
  Serial.print(currentTime.hour());
  Serial.print(":");
  Serial.print(currentTime.minute());
  Serial.print(":");
  Serial.println(currentTime.second());

  delay(1000);
}

Habe den Reset am Nano gedrückt.
Dann aus den Beispielen Cardinfo aufgesetzt.


Sieht gut aus sehe die Dateien wie bei Ubuntu 24.04

Das ist nicht die Ausgabe vom deinem gezeigtem Sketch! Oder was für SD Lib wird genutzt ?

Ändere mal die Initialisierungsreihenfolge -> #12

Stimmt, das ist die vom Beispiel, um das ich gebeten hatte, steht drüber.

Reihenfolge geändert,dann gehts nur bis zur Ausgabe "weiter"
Die Ausgabe "weiter1"steht ja im Loop.

Das hab ich aus dem Ausgabefenster kopiert.

Mehrere Bibliotheken wurden für "SD.h" gefunden
Benutzt: /home/walter/Arduino/libraries/SD
Nicht benutzt: /home/walter/.arduino15/libraries/SD
Bibliothek RTClib in Version 2.1.4 im Ordner: /home/walter/Arduino/libraries/RTClib wird verwendet
Bibliothek Adafruit BusIO in Version 1.17.4 im Ordner: /home/walter/Arduino/libraries/Adafruit_BusIO wird verwendet
Bibliothek Wire in Version 1.0 im Ordner: /home/walter/.arduino15/packages/arduino/hardware/avr/1.8.6/libraries/Wire wird verwendet
Bibliothek SPI in Version 1.0 im Ordner: /home/walter/.arduino15/packages/arduino/hardware/avr/1.8.6/libraries/SPI wird verwendet
Bibliothek SD in Version 1.3.0 im Ordner: /home/walter/Arduino/libraries/SD wird verwendet

In dem Ordner habe ich dann dies herauskopiert ich hoffe das mach es eindeutig

  SD - a slightly more friendly wrapper for sdfatlib

  This library aims to expose a subset of SD card functionality
  in the form of a higher level "wrapper" object.

  License: GNU General Public License V3
          (Because sdfatlib is licensed with this.)

  (C) Copyright 2010 SparkFun Electronics


Also wenn es funktioniert dann ist es ok.

Das bedeutet doch nur das alles korrekt angeschlossen ist und das Modul okay ist.
Mein sketch läuft trotzdem nicht.

Hast mein getestet ?