Está en la página 1de 3

//micro sd

#include <SD.h>//por defecto ya esta instalada


#include <SPI.h>
File Archivo;
/*
GND
Vcc-5V
MISO-50
MOSI-51
SCK-52
CS-53
*/

//fin micro sd
//*****************************************************************
//------ MPU
#include<Wire.h>
const int MPU_addr=0x68; // I2C address of the MPU-6050
int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ;

//fin de la comunicacion i2c


//*******************************************************************
//---- valores del sensores de luz and exetnsiom�trico
const int val_luz = A9;//Sensor de Luz

const int val_exten1 = A12;//Sensor extensiom�trico


const int val_exten2 = A11;
const int val_exten3 = A10;

//*******************************************************************
//MPX5500DP

//Vout= Vs(0.0018*P+0.04)+/-Err
int Vs=5;
int err1=-0.0314;
int err2=-0.01672;
int err3=-0.01672;
int err4=-0.0118;
int err5=-0.01672;
int err6=-0.0069;

//*******************************************************************
//Secuenciador t=14seg
int s_relay=2;

//******************************************************************

void setup(){

Wire.begin();
//MPU
Wire.begin();
Wire.beginTransmission(MPU_addr);
Wire.write(0x6B); // PWR_MGMT_1 register
Wire.write(0); // set to zero (wakes up the MPU-6050)
Wire.endTransmission(true);
Wire.begin();
Wire.beginTransmission(MPU_addr);
Wire.write(0x1C); Wire.write(0x18);
Wire.endTransmission(true);
Serial.begin(9600);//->Iniciacion del serial
//Secuenciador
pinMode(s_relay,OUTPUT);
//pinMode(s_jack,INPUT);

// comunicacion sd
pinMode(53,OUTPUT);
Serial.print("Iniciando SD ...");
if (!SD.begin(53)) {
Serial.println("No se pudo inicializar");
return;
}
Serial.println("inicializacion exitosa");

void loop()
{

// INICIO EN LA MICRO SD
Archivo = SD.open("datalog.txt", FILE_WRITE);//abrimos el archivo

if (Archivo) {
Serial.print("Escribiendo SD: ");
//Calculamos los valores, opercaiones

//guardamos, basicamente cambiamos Archio.print por serial.print


//Leer los valores del MPU
Wire.beginTransmission(MPU_addr);
Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H)
Wire.endTransmission(false);
Wire.requestFrom(MPU_addr,14,true); // request a total of 14 registers
AcX=Wire.read()<<8|Wire.read(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)

AcY=Wire.read()<<8|Wire.read(); // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)


AcZ=Wire.read()<<8|Wire.read(); // 0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L)
Tmp=Wire.read()<<8|Wire.read(); // 0x41 (TEMP_OUT_H) & 0x42 (TEMP_OUT_L)
GyX=Wire.read()<<8|Wire.read(); // 0x43 (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L)
GyY=Wire.read()<<8|Wire.read(); // 0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L)
GyZ=Wire.read()<<8|Wire.read(); // 0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L)
Archivo.print("AcX = "); Archivo.print(AcX*(16*9.81/32000));
Archivo.print(" | AcY = "); Archivo.print(AcY*(16*9.81/32000));
Archivo.print(" | AcZ = "); Archivo.print(AcZ*(16*9.81/32000));
Archivo.print(" | Tmp = "); Archivo.print(Tmp/340.00+36.53); //equation for
temperature in degrees C from datasheet
Archivo.print(" | GyX = "); Archivo.print(GyX*(16*9.81/32000));
Archivo.print(" | GyY = "); Archivo.print(GyY*(16*9.81/32000));
Archivo.print(" | GyZ = "); Archivo.print(GyZ*(16*9.81/32000));
Archivo.print(" ");
delay(333);

//Extensiometricos y luz->analogicos
Archivo.print("Luz:");
Archivo.print(analogRead(val_luz));
Archivo.print(" ");
if(val_luz>500)
{
digitalWrite(s_relay,HIGH);
}
//Serial.print("valores de los sensores extensiom�tricos: ");
Archivo.print(" Ext1:");
Archivo.print(analogRead(val_exten1));
Archivo.print(" Ext2:");
Archivo.print(analogRead(val_exten2));
Archivo.print(" Ext3:");
Archivo.print(analogRead(val_exten3));
Archivo.print(" ");
//MPX5500DP

//Vout= Vs(0.0018*P+0.04)+/-Err
double P1=analogRead(A5);//Pres1
double P2=analogRead(A3);//Pres1
double P3=analogRead(A0);//Pres1
double P4=analogRead(A6);//Pres1
double P5=analogRead(A7);//Pres1
double P6=analogRead(A8);//Pres1

Archivo.print(" P1: ");


Archivo.print(A5);
Archivo.print(" P2: ");
Archivo.print(A3);
Archivo.print(" P3: ");
Archivo.print(A0);
Archivo.print(" P4: ");
Archivo.print(A6);
Archivo.print(" P5: ");
Archivo.print(A7);
Archivo.print(" P6: ");
Archivo.print(A8);
Archivo.println(" ");

Archivo.close(); //cerramos el archivo

} else {
Serial.println("Error al abrir el archivo");
}

delay(200);
}

También podría gustarte