anleitung:datenloggershield
Dies ist eine alte Version des Dokuments!
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 oder CR2032 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.1743025530.txt.gz · Zuletzt geändert: 2025/03/26 22:45 von cschepelmann