Arduino data logging met SD-kaart & DS3231 RTC: stap-voor-stap tutorial
Hoe het werkt
De SD-kaartmodule werkt met standaard MicroSD-kaarten (3,3 V) en heeft een onboard spanningsregelaar en level shifter voor 5 V Arduino's. Communicatie loopt via SPI (4 draden + voeding). Let op: SPI-pinnen verschillen per Arduino-board (UNO: 11,12,13,10; MEGA: 51,50,52,53).
SD-kaart module code
Standaard SD.h en SPI.h bibliotheken. Alle code in setup() voor eenmalige uitvoering.
#include <SD.h>
#include <SPI.h>
File myFile;
int pinCS = 53; // Pin 10 op Uno
void setup() {
Serial.begin(9600);
pinMode(pinCS, OUTPUT);
if (SD.begin()) {
Serial.println("SD card is ready to use.");
} else {
Serial.println("SD card initialization failed");
return;
}
// Schrijven
myFile = SD.open("test.txt", FILE_WRITE);
if (myFile) {
myFile.println("Testing text 1, 2 ,3...");
myFile.close();
}
// Lezen
myFile = SD.open("test.txt");
if (myFile) {
while (myFile.available()) Serial.write(myFile.read());
myFile.close();
}
}
void loop() {}
Na upload: initialisatie, schrijven en lezen worden bevestigd op Serial Monitor. Op PC is "test.txt" zichtbaar met de geschreven tekst.
Data logging: temperatuur met DS3231
De DS3231 RTC heeft een ingebouwde temperatuursensor. Code logt tijd en temperatuur elke 3 seconden naar SD-kaart in CSV-formaat (komma-gescheiden) voor makkelijke Excel-import.
#include <SD.h>
#include <SPI.h>
#include <DS3231.h>
File myFile;
DS3231 rtc(SDA, SCL);
int pinCS = 53;
void setup() {
Serial.begin(9600);
pinMode(pinCS, OUTPUT);
SD.begin();
rtc.begin();
}
void loop() {
Serial.print(rtc.getTimeStr()); Serial.print(","); Serial.println(int(rtc.getTemp()));
myFile = SD.open("test.txt", FILE_WRITE);
if (myFile) {
myFile.print(rtc.getTimeStr()); myFile.print(","); myFile.println(int(rtc.getTemp()));
myFile.close();
}
delay(3000);
}
Grafiek maken in Excel
- Data → Get Data From Text → selecteer test.txt
- Kies "Delimited" → Next → vink "Comma" aan → Finish
- Tijd en temperatuur komen in aparte kolommen
- Selecteer beide kolommen → Insert → Line Chart
Resultaat: grafiek met temperatuurverloop per 3 seconden. Ideaal voor langdurige monitoring van omgevingsomstandigheden, koelkasten, serverkamers, etc.
Productieproces
- Maak een Veilige Arduino RFID Slot – Stapsgewijze Handleiding
- Bouw een Betrouwbare Arduino Energiemonitor & Datalogger – Stapsgewijze Handleiding
- Bouw Boeiende LCD Animaties & Games met Arduino UNO
- Arduino temperatuur- en vochtigheidslogger met DHT11 en Ethernet Shield
- Python 3 naar Arduino UNO: Eenvoudige Commando Besturing en LED Demo
- Bouw een compacte FM-radio met Arduino Nano en RDA5807M
- Arduino Nano Vingerafdruksensor Project – Stapsgewijze Tutorial
- Bouw een Mini Piano met Arduino UNO – Stap-voor-Stap Handleiding
- Bouw een Raspberry Pi 3 & Arduino Laptop: Stap-voor-Stap Handleiding
- Arduino Beginner Tutorial 01: Start met Je Eerste Project
- IXON Cloud: Machinedata Logging & Dashboards In Minuten Beheersen