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.
Te recomiendo armar primero por separado cada modulo, asi te aseguras de que funcione y ya luego puedes intentar unir todo el código.
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.
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 }
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 }
Uniendo el código en uno solo.
Si puedes mejorar o simplificar mas aun este código de ejemplo dímelo aquí