anleitung:datenloggershield
Inhaltsverzeichnis
Anleitung: Datenlogger-Shield
mit SD-Karte und RTC auf dem Arduino UNO
Diese Anleitung beschreibt, wie man das Datenlogger-Shield mit SD-Karten-Slot und RTC von Christians Technikshop zusammen mit dem UNO R3 Entwicklerboard verwendet, um Zeitdaten zu erfassen und auf einer SD-Karte zu speichern.
Benötigte Komponenten
- SD-Karte (FAT32 formatiert)
- Knopfzelle CR1220 für die RTC
- Arduino IDE (ab Version 1.8.x)
Schritt 1: Shield aufstecken
- Stecke das Datenlogger-Shield auf das UNO R3 Entwicklerboard. Achte darauf, dass alle Pins korrekt verbunden sind.
- Setze eine passende Knopfzelle (CR1220 oder CR2032) in die RTC-Halterung auf dem Shield ein.
Schritt 2: SD-Karte vorbereiten
- Formatiere die SD-Karte mit dem Dateisystem FAT16 oder FAT32.
- Stecke die SD-Karte in den SD-Karten-Slot auf dem Shield.
Schritt 3: Benötigte Bibliotheken installieren
Öffne die Arduino IDE und installiere folgende Bibliotheken über den Bibliotheksverwalter:
SD(Standardmäßig in der Arduino IDE enthalten)RTClib(von Adafruit, zur Ansteuerung der RTC)
Schritt 4: Beispielcode hochladen
Beispiel: RTC-Zeit auslesen und auf SD-Karte speichern
#include <SPI.h>
#include <SD.h>
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 rtc;
const int chipSelect = 10;
void setup() {
Serial.begin(9600);
// RTC initialisieren
if (!rtc.begin()) {
Serial.println("RTC nicht gefunden!");
while (1);
}
if (!rtc.isrunning()) {
Serial.println("RTC läuft nicht. Setze aktuelle Zeit.");
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
// SD-Karte initialisieren
if (!SD.begin(chipSelect)) {
Serial.println("SD-Karte konnte nicht initialisiert werden!");
return;
}
Serial.println("SD-Karte erkannt.");
// Log-Datei öffnen und schreiben
File dataFile = SD.open("log.txt", FILE_WRITE);
if (dataFile) {
DateTime now = rtc.now();
dataFile.print(now.timestamp());
dataFile.println(" -> Logeintrag");
dataFile.close();
Serial.println("Logeintrag geschrieben.");
} else {
Serial.println("Fehler beim Öffnen der Datei.");
}
}
void loop() {
// Leerlauf
}
Hinweise
- Achte darauf, dass die SD-Karte eingesteckt ist, bevor du das Programm startest.
- Die RTC behält die Zeit auch bei Stromausfall, solange eine Batterie eingesetzt ist.
- Beim ersten Start wird die RTC automatisch auf die Kompilierungszeit des Sketches gesetzt.
Fehlerbehebung
- SD-Karte wird nicht erkannt: Überprüfe Formatierung (FAT16 oder FAT32), Steckverbindung und Chip-Select-Pin (normalerweise Pin 10).
- RTC funktioniert nicht: Stelle sicher, dass eine Batterie eingesetzt ist und dass die RTC im Code korrekt angesprochen wird.
Weiterführende Links
- [https://www.arduino.cc/en/Reference/SD | Arduino SD Bibliothek]
- [https://github.com/adafruit/RTClib | RTClib GitHub Repository]
anleitung/datenloggershield.txt · Zuletzt geändert: 2025/04/02 20:18 von cschepelmann
