LECTURA
Y GUARDADO DE PARÁMETROS DE CORRIENTE ELÉCTRICA, USANDO EL
SENSOR/MÓDULO MAX471 EN microSD : VOLTAJE, AMPERAJE Y POTENCIA.
CÓDIGO:
========
#include //librería para la microSD (debe ser instalada
#define VT_PIN1 A0 //Conección del sensor 1 al pin analogico 0 (A0), para captura de voltaje
#define AT_PIN1 A1 //Conección del sensor 1 al pin analogico 1 (A1), para captura de corriente
#define VT_PIN2 A2
#define AT_PIN2 A3
#define VT_PIN3 A4
#define AT_PIN3 A5
File myFile; //CREAMOS EL ARCHIVO
void setup()
{
Serial.begin(9600);
Serial.print("Iniciando SD ..."); // mensaje de bienvenida
//el pin 4 que a continuacion se hace referencia, conecta a la tarjeta (hace inicializar la tarjeta).
if (!SD.begin(4)) {
Serial.println("No se pudo inicializar"); //si no se halla conectada el módulo arrojara este mensaje
return; }
Serial.println("inicializacion exitosa");
}
void loop()
{
int vt_read1 = analogRead(VT_PIN1);
int at_read1 = analogRead(AT_PIN1);
int vt_read2 = analogRead(VT_PIN2);
int at_read2 = analogRead(AT_PIN2);
int vt_read3 = analogRead(VT_PIN3);
int at_read3 = analogRead(AT_PIN3);
/////////////PARÁMETROS SENSOR1//////////////////
float V1 = vt_read1 * (5.0 / 1024.0) * 5.0;
float A1 = at_read1 * (5.0 / 1024.0);
float W1 = V1 * A1;
/////////////PARÁMETROS SENSOR2//////////////////
float V2 = vt_read2 * (5.0 / 1024.0) * 5.0;
float A2 = at_read2 * (5.0 / 1024.0);
float W2 = V2 * A2;
/////////////PARÁMETROS SENSOR3//////////////////
float V3 = vt_read3 * (5.0 / 1024.0) * 5.0;
float A3 = at_read3 * (5.0 / 1024.0);
float W3 = V3 * A3;
////////////////IMPRIMIR/////////////////////////
Serial.print("V1: ");
Serial.print(V1, 3);
Serial.print("\tA1: ");
Serial.print(A1,3);
Serial.print("\tW1: ");
Serial.println(W1,3);
///=======================///
Serial.print("V2: ");
Serial.print(V2, 3);
Serial.print("\tA2: ");
Serial.print(A2,3);
Serial.print("\tW2: ");
Serial.println(W2,3);
///=======================///
Serial.print("V3: ");
Serial.print(V3, 3);
Serial.print("\tA3: ");
Serial.print(A3,3);
Serial.print("\tW3: ");
Serial.println(W3,3);
Serial.println();
delay(2000); // tiempo de espera para la lectura en el monitor serie de la PC
////////////////////////////ESCRIBIR EN MICRO.SD///////////////////////////
myFile = SD.open("DATOS.txt", FILE_WRITE);//llama al archivo DATOS.txt (creado con el bloc de notas)
if (myFile) {
Serial.print("Escribiendo SD: ");
myFile.print(" V1:");
myFile.print(V1, 3);
myFile.print(" A1:");
myFile.print(A1, 3);
myFile.print(" W1:");
myFile.println(W1, 3);
///===========================///
myFile.print(" V2:");
myFile.print(V2, 3);
myFile.print(" A2:");
myFile.print(A2, 3);
myFile.print(" W2:");
myFile.println(W2, 3);
///===========================///
myFile.print(" V3:");
myFile.print(V3, 3);
myFile.print(" A3:");
myFile.print(A3, 3);
myFile.print(" W3:");
myFile.println(W3, 3);
myFile.println(" ");
delay(2000); //CAMBIAR EL VALOR DE 2000 POR EL VALOR EN MILISEGUNDOS QUE DESEEMOS QUE GUARDE LA SD
myFile.close(); //cerramos el archivo
}
else {
Serial.println("Error al abrir el archivo");
}
}
CÓDIGO:
========
#include
#define VT_PIN1 A0 //Conección del sensor 1 al pin analogico 0 (A0), para captura de voltaje
#define AT_PIN1 A1 //Conección del sensor 1 al pin analogico 1 (A1), para captura de corriente
#define VT_PIN2 A2
#define AT_PIN2 A3
#define VT_PIN3 A4
#define AT_PIN3 A5
File myFile; //CREAMOS EL ARCHIVO
void setup()
{
Serial.begin(9600);
Serial.print("Iniciando SD ..."); // mensaje de bienvenida
//el pin 4 que a continuacion se hace referencia, conecta a la tarjeta (hace inicializar la tarjeta).
if (!SD.begin(4)) {
Serial.println("No se pudo inicializar"); //si no se halla conectada el módulo arrojara este mensaje
return; }
Serial.println("inicializacion exitosa");
}
void loop()
{
int vt_read1 = analogRead(VT_PIN1);
int at_read1 = analogRead(AT_PIN1);
int vt_read2 = analogRead(VT_PIN2);
int at_read2 = analogRead(AT_PIN2);
int vt_read3 = analogRead(VT_PIN3);
int at_read3 = analogRead(AT_PIN3);
/////////////PARÁMETROS SENSOR1//////////////////
float V1 = vt_read1 * (5.0 / 1024.0) * 5.0;
float A1 = at_read1 * (5.0 / 1024.0);
float W1 = V1 * A1;
/////////////PARÁMETROS SENSOR2//////////////////
float V2 = vt_read2 * (5.0 / 1024.0) * 5.0;
float A2 = at_read2 * (5.0 / 1024.0);
float W2 = V2 * A2;
/////////////PARÁMETROS SENSOR3//////////////////
float V3 = vt_read3 * (5.0 / 1024.0) * 5.0;
float A3 = at_read3 * (5.0 / 1024.0);
float W3 = V3 * A3;
////////////////IMPRIMIR/////////////////////////
Serial.print("V1: ");
Serial.print(V1, 3);
Serial.print("\tA1: ");
Serial.print(A1,3);
Serial.print("\tW1: ");
Serial.println(W1,3);
///=======================///
Serial.print("V2: ");
Serial.print(V2, 3);
Serial.print("\tA2: ");
Serial.print(A2,3);
Serial.print("\tW2: ");
Serial.println(W2,3);
///=======================///
Serial.print("V3: ");
Serial.print(V3, 3);
Serial.print("\tA3: ");
Serial.print(A3,3);
Serial.print("\tW3: ");
Serial.println(W3,3);
Serial.println();
delay(2000); // tiempo de espera para la lectura en el monitor serie de la PC
////////////////////////////ESCRIBIR EN MICRO.SD///////////////////////////
myFile = SD.open("DATOS.txt", FILE_WRITE);//llama al archivo DATOS.txt (creado con el bloc de notas)
if (myFile) {
Serial.print("Escribiendo SD: ");
myFile.print(" V1:");
myFile.print(V1, 3);
myFile.print(" A1:");
myFile.print(A1, 3);
myFile.print(" W1:");
myFile.println(W1, 3);
///===========================///
myFile.print(" V2:");
myFile.print(V2, 3);
myFile.print(" A2:");
myFile.print(A2, 3);
myFile.print(" W2:");
myFile.println(W2, 3);
///===========================///
myFile.print(" V3:");
myFile.print(V3, 3);
myFile.print(" A3:");
myFile.print(A3, 3);
myFile.print(" W3:");
myFile.println(W3, 3);
myFile.println(" ");
delay(2000); //CAMBIAR EL VALOR DE 2000 POR EL VALOR EN MILISEGUNDOS QUE DESEEMOS QUE GUARDE LA SD
myFile.close(); //cerramos el archivo
}
else {
Serial.println("Error al abrir el archivo");
}
}