Primer cambio codigo 20/01/2020

Dependencies:   mbed TextLCD

Files at this revision

API Documentation at this revision

Comitter:
javicas95
Date:
Thu Jan 30 14:12:47 2020 +0000
Parent:
0:0a17318c9c22
Commit message:
final final

Changed in this revision

TextLCD.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TextLCD.lib	Thu Jan 30 14:12:47 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/simon/code/TextLCD/#308d188a2d3a
--- a/main.cpp	Mon Jan 20 14:46:34 2020 +0000
+++ b/main.cpp	Thu Jan 30 14:12:47 2020 +0000
@@ -7,17 +7,18 @@
 Ticker tVisualizar;
 #include "TextLCD.h"
 
-//PARA LA PLACA LCD
+
 InterruptIn button(PC_13); 
-//Inicializas el interruptor
+
 TextLCD lcd(D8, D9, D2, D3, D4, D5, TextLCD::LCD16x2); // rs, e, d4-d7
-Serial pc(USBTX, USBRX); 
-// tx, rx esto es para que vaya más rápido, para que procese más rápido
-Serial bluetooth(PC_0, PC_1); //ESTA SE QUITA
-// tx, rx esto es para inicializar los pines para conectar el bluetooth
-AnalogIn adc_in(A0); //datos de tensión
-AnalogIn adc_in_in(A2); //datos de intensidad
-AnalogIn adc_in_dos(A1); //datos de continua (la salida del LM 358)
+Serial pc(USBTX, USBRX); // tx, rx 
+
+Serial bluetooth(PC_0, PC_1); 
+
+AnalogIn adc_in(A0); 
+AnalogIn adc_in_in(A2); 
+AnalogIn adc_in_dos(A1);
+
 void muestrear();
 void visualizar();
 int flag=0;
@@ -42,31 +43,28 @@
     float fact_potencia;
 };
 estr_medidas medidas;
-void proces(int16_t *datosV, int16_t *datosI, int longi, estr_medidas *medidas)
+void procesado(int16_t *datosV, int16_t *datosI, int longi, estr_medidas *medidas)
 {
     int64_t b=0.0;
     int64_t c=0;
     int64_t d=0;
  for(int j=0;j<longi;j++)
  {
-    b = b + datosV[j]*datosV[j]; //calcula el sumatorio de v^2
-    c = c + datosI[j]*datosI[j]; //calcula el sumatorio de i^2
-    d = d + datosV[j]*datosI[j]; //calcula el sumatorio de v*i
+    b = b + datosV[j]*datosV[j]; 
+    c = c + datosI[j]*datosI[j]; 
+    d = d + datosV[j]*datosI[j]; 
  }
- //el puntero *medidas apunta la dirección de los distitntos vectores de la estructura
- //guardamos los resultados en la dirección de memoria que apunta *medidas para cada uno de los resultados
- medidas->vrms=0.011812328729925*sqrt(((float)b)/longi);
- medidas->irms=0.000842270393376366*sqrt(((float)c)/longi);
- medidas->pot_activa=(9.949174801697868320688107085e-6*d)/longi;
+
+
+ medidas->vrms=0.01275509675*sqrt(((float)b)/longi);
+ medidas->irms=0.0004536585089*sqrt(((float)c)/longi);
+ medidas->pot_activa=(5.786458173e-6*d)/longi;
  medidas->pot_aparente=medidas->vrms*medidas->irms;
  medidas->pot_reactiva=sqrt((medidas->pot_aparente*medidas->pot_aparente)-(medidas->pot_activa*medidas->pot_activa));
  medidas->fact_potencia=((float)medidas->pot_activa)/medidas->pot_aparente;
  medidas->en_consumida+=0.001*medidas->pot_activa*longi;
 
-// Se lleva la cuenta,mediante un contador, del número de veces que se ha 
-//pulsado el pulsador para saber qué dato se deberá visualizar. Una vez que el 
-//contador llegue al número máximo de datos, éste vuelve a cero y comienza de 
-//nuevo la cuenta.
+
 }
 void flip() {
  contador_boton++;
@@ -78,13 +76,13 @@
 int main()
 {
     pc.baud(115200);
-    bluetooth.baud(9600); //ESTA SE QUITA
+    bluetooth.baud(9600); 
     tMuestrear.attach_us(&muestrear, 200);
     tVisualizar.attach(&visualizar, 1);
-    button.rise(&flip); // attach the address of the flip function to the rising edge
+    button.rise(&flip); 
     while(1) {
         if(flag==1) {
- // pc.printf("1");
+
             flag=0;
 
             if(buffer_activo) {
@@ -98,7 +96,7 @@
 
 
  }
- //wait_us(1);
+
  }
  }
 void muestrear()
@@ -106,7 +104,7 @@
     int16_t datov=(int16_t)(adc_in.read_u16()^0x8000);
     int16_t datoi=(int16_t)(adc_in_in.read_u16()^0x8000);
     int16_t continua=(int16_t)(adc_in_dos.read_u16()^0x8000);
-    if (bufferActivo==0) {
+    if (buffer_activo==0) {
         buffers.vA[contador]=datov-continua;
         buffers.iA[contador]=datoi-continua;
 
@@ -125,7 +123,7 @@
 }
 void visualizar(){
 
- //printf("**** Datos calculados en %d us ****\n",timer.read_us());
+
     pc.printf("**** El valor Vrms es %f ****\n",medidas.vrms);
     pc.printf("**** El valor Irms es %f ****\n",medidas.irms);
     pc.printf("**** La potencia activa es %f ****\n",medidas.pot_activa);
@@ -152,6 +150,7 @@
             lcd.cls();
             lcd.printf("Pot activa\n%3.2f W\n", medidas.pot_activa);
         break;
+        
         case 4:
 
             lcd.cls();
@@ -163,22 +162,23 @@
             lcd.cls();
             lcd.printf("Pot aparente\n%3.2f VA\n", medidas.pot_aparente);
         break;
+        
         case 6:
 
             lcd.cls();
-            lcd.printf("E. consumida\n%3.2f kW\n", medidas.en_consumida);
+            lcd.printf("En consumida\n%3.2f kW\n", medidas.en_consumida);
         break;
+        
         case 7:
 
             lcd.cls();
-            lcd.printf("Factor potencia\n%3.2f\n", medidas.fact_potencia);
+            lcd.printf("Fact potencia\n%3.2f\n", medidas.fact_potencia);
         break;
         default:
             lcd.cls();
-            lcd.printf("Pulsa el boton");
+            lcd.printf("Pulsar boton");
     }
     bluetooth.printf("%3.2f|%3.2f|%3.2f|%3.2f|%3.2f|%3.2f|%3.2f|\n",medidas.vrms,
- medidas.irms,medidas.potenciaActiva,medidas.potenciaReactiva,
- medidas.potenciaAparente,medidas.energiaConsumida,medidas.factorDePotencia);
+ medidas.irms,medidas.pot_activa,medidas.pot_reactiva,
+ medidas.pot_aparente,medidas.en_consumida,medidas.fact_potencia);
 }
-// TODO ESTO SE QUITA
\ No newline at end of file