Termometro SD Excel y Reloj

Buenas tardes, antes que nada dar las gracias de antemano y que he buscado el tema en el foro y aunque hay proyectos similares, no me aclaro demasiado, es lo que tiene ser novato en el mundo arduino.

Vamos al ajo, tengo que crear un sistema que me permita almacenar los datos de temperatura y humedad cada 10 minutos y pasarlo a un archivo excel. Para ello me he comprado los siguientes elementos:

XCSOURCE® Módulo Sensor Digital Humedad DHT22
kwmobile SD card módulo
Pcf8563 Pcf8563t 8563 CII Módulo De Reloj En Tiempo Real RTC
Arduino

Adjunto una imagen donde tengo todos los elementos y otra con mi intento de montaje (fallido)

Mi primera pregunta es, ¿es todo válido? ¿puedo llegar a montarlo?

Gracias y un saludo

Todos los componentes que mencionas son correctos para lo que pretendes.
Pero cometes un gran error siendo como te confiesas como novato, y es montar todo a la vez.
Tienes que familiarizarte y dominar cada uno por separado y después ir juntandolos de uno en uno en el código.
Todo ello con tutoriales a la vista.

La imagen del montaje no es del todo clara, pero estaría correcto si...

VCC o +5 están con 5v
GND con GND
SDA con A4
SCL con A5
CS puede con 10 o con 4 dependiendo del pin indicado en SD.begin()
MOSI con 11
MISO con 12
SCK con 13
DAT no estoy seguro, sin embargo tiene que ir donde la librería OneWire dice. ¿Era en el 3?

Primero, antes que nada gracias a ambos por vuestras respuestas. Ya he conectado la SD y el DHT22. El DHT 22 funciona por separado, pero a la hora de conectar con la SD, me dice “error opening file”. El código que he usado es el siguiente,

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

#define DHTPIN 8
#define DHTTYPE DHT22

long seconds=00;
long minutes=00;
long hours=00;

int CS_pin = 10;

DHT dht(DHTPIN, DHTTYPE);
File sd_file;

void setup()  {
 Serial.begin(9600);
 pinMode(CS_pin, OUTPUT);
 dht.begin();
 // SD Card Initialization
 if (SD.begin())  {
   Serial.println("SD card is initialized. Ready to go");
 } 
 else  {
   Serial.println("Failed");
   return;
 }

 sd_file = SD.open("data.txt", FILE_WRITE);

 if (sd_file)  {
   Serial.print("Time");
   Serial.print(",");
   Serial.print("Humidity");
   Serial.print(",");
   Serial.print("Temperature_C");
   Serial.print(",");
   Serial.print("Temperature_F");
   Serial.print(",");
   Serial.println("Heat_index");

   sd_file.print("Time");
   sd_file.print(",");
   sd_file.print("Humidity");
   sd_file.print(",");
   sd_file.print("Temperature_C");
   sd_file.print(",");
   sd_file.print("Temperature_F");
   sd_file.print(",");
   sd_file.println("Heat_index");
 }
 sd_file.close(); //closing the file
} 

void loop()  {
 sd_file = SD.open("data.txt", FILE_WRITE);
 if (sd_file)  {
   senddata();
 }
 // if the file didn't open, print an error:
 else  {
   Serial.println("error opening file");
 }
 delay(1000);
}

void senddata()  {
 for(long seconds = 00; seconds < 60; seconds=seconds+2)  {
   float temp = dht.readTemperature(); //Reading the temperature as Celsius and storing in temp
   float hum = dht.readHumidity();     //Reading the humidity and storing in hum
   float fah = dht.readTemperature(true);
   float heat_index = dht.computeHeatIndex(fah, hum);

   sd_file.print(hours);
   sd_file.print(":");
   sd_file.print(minutes);
   sd_file.print(":");
   sd_file.print(seconds);
   sd_file.print(",  ");
   sd_file.print(hum);
   sd_file.print(",    ");
   sd_file.print(temp);
   sd_file.print(",      ");
   sd_file.print(fah);
   sd_file.print(",      ");
   sd_file.println(heat_index);

   Serial.print(hours);
   Serial.print(":");
   Serial.print(minutes);
   Serial.print(":");
   Serial.print(seconds);
   Serial.print(",  ");
   Serial.print(hum);
   Serial.print(",    ");
   Serial.print(temp);
   Serial.print(",       ");
   Serial.print(fah);
   Serial.print(",      ");
   Serial.println(heat_index);

   if(seconds>=58)  {
     minutes= minutes + 1;
   }

   if (minutes>59)  {
     hours = hours + 1;
     minutes = 0;
   }

   sd_file.flush(); //saving the file

   delay(2000);
 }
 sd_file.close();   //closing the file
}

La tarjeta que he usado, es de 2 Gb y en fat formateada. Muchas gracias por adelantado.

if (SD.begin())  {

Lucario448:
CS puede con 10 o con 4 dependiendo del pin indicado en SD.begin()

¿Qué está mal?

Pista: ¿Cuál pin va al CS?