Datalogger partida

Crear un registro de datos (datalogger) de los tiempos de partidas de los corredores leidos por un Arduino y grabados en una memoria SD. Una segunda parte de este proyecto consistira en estos tiempo sean almacenados en una BD en MySQL usando PUSH.

1. Circuito propuesto

Te recomiendo armar primero por separado cada modulo, asi te aseguras de que funcione y ya luego puedes intentar unir todo el código.

Modulo micro-SD Modulo RTC

2. Componentes

Lo primero que necesitaremos sera un modulo micro-SD, una memoria micro-SD, convertidor lógico de 3V3 a 5V y algún tipo se sensor de capture el evento físico. ALgunas sofisticaciones podrían ser un modulo RTC y una pantalla que valla mostrando las capturas o un modulo WiFi que las muestre en una servidor.

3. Código Arduino micro-SD

Primero probaremos la micro-SD con el siguiente código.

#include <SPI.h>  //Bus SPI
#include <SD.h>

const byte pinSS=10; //SD pin selector
File = log;

void setup(){
   Serial.begin(9600);
   pinMode(pinSS, OUTPUT);
	if (!SD.begin(pinSS)){
	   Serial.println("Fallo inicializacion de SD");
      return;  //Termina setup()
   }
   //Escritura
   log = SD.open('tiempos.txt', FILE_WRITE);
   if (log){
      log.println("Probando 1 2 3");    //SD
      log.close();
      Serial.println("Probando 1 2 3"); //Monitor
	}else{
	   Serial.println("Error en tiempo.txt"); //Monitor
   }
}

void loop(){
   //Nada
}

4. Código Arduino RTC

Ahora probaremos el modulo RTC con el siguiente código.

#include <WIRE.h>    //Bus I2C
#include <RTClib.h>

RTC_DS1307 rtc;
DateTime hoy;

void setup(){
   Serial.begin(9600);
   if (!rtc.begin()){
	   Serial.println("Fallo inicializacion de RTC");
      return;  //Termina setup()
   }
   rtc.adjust(DateTime(__DATE__, __TIME__));
   hoy = rtc.now();
   Serial.println(hoy.unixtime());
}
void loop(){
   //Nada
}

5. Código Arduino

Uniendo el código en uno solo.



Si puedes mejorar o simplificar mas aun este código de ejemplo dímelo aquí