Práctica 3

Dependencies:   TextLCD mbed

Fork of PR3 by MII1SistElec

Revision:
3:30f1e2f8308c
Parent:
2:0ef1b1712e64
Child:
4:71a955ddc240
--- a/main.cpp	Fri Nov 10 12:10:53 2017 +0000
+++ b/main.cpp	Fri Nov 10 12:54:55 2017 +0000
@@ -1,43 +1,45 @@
 #include "mbed.h"
-// librería LCD
+#include "TextLCD.h"
 
+#define constante (3,3^2)/((2^16)-1)*100) // valor constante para el cálculo de Vrms
 #define vector 100      // valor para definir el tamaño de los búfferes de muestreo
+
 //TextLCD (6 puertos, TextLCD::LCD16x2); rs,e,d4-d7
-
-InterruptIn Sw (); //pulsador en el puerto
-AnalogIn leer (); // leer del puerto
+InterruptIn Sw ();      //pulsador en el puerto
+AnalogIn leer ();       // leer del puerto
 Ticker muestreo;
 Ticker visualizar;
 int contt=0;
 int contm=0;
 int contvpp=0;
-int dato=0,
+int dato=0,             // variable para seleccionar el dato a mostrar
 int bufferlleno=0;      // variable de estado
 int flag1;              // variable para indicar cuando se tiene que cambiar de buffer
 int flag2;              // variable para indicar cuando se tiene que
 int flag3;              // variable para indicar cuando se tiene que calcular Vpp
-int Vpmax=0;
-int Vpmin=0;
+int Vpmax=0;            // variable para guardar el valor del pico superior
+int Vpmin=0;            // variable para guardar el valor del pico inferior 
 int Vpp=0;
 float buffer1 [vector]; // buffer de muestreo 1 de tamaño 100
 float buffer2 [vector]; // buffer de muestreo 2 de tamaño 100
 float Vrms;             // variabla para guardar el valor de RMS
-float suma;             // variable que es la suma de los valores de la muestra
+float valor;
+float sumatorio;        // variable que es la suma de los valores de la muestra
 float muestra;          // variabla para hacer las operaciones
 
 
-void temporizador
-{
-    if (flag2) {
-
-    }
-    contt++;
-    if (contt==100) {
-        contt =0;
-        flag2 =!flag2;
-        bufferlleno=0;
-    }
-}
+//void temporizador ()
+//{
+//    if (flag2) {
+//
+//    }
+//    contt++;
+//    if (contt==100) {
+//        contt =0;
+//        flag2 =!flag2;
+//        bufferlleno=0;
+//    }
+//}
 
 void boton()
 {
@@ -52,10 +54,10 @@
     lcd.cls();
     switch (dato) {
         case 0;
-            lcdprintf(); //Vrms :\n%3.3f V,Vrms
+            lcdprintf("Vrms: %n V",Vrms); //Vrms :\n%3.3f V,Vrms
             break;
         case 1;
-            lcdprintf(); //
+            lcdprintf("Vpp: %n V",Vpp); //
             break;
     }
 }
@@ -75,9 +77,16 @@
                 }
             }
         }
-
 }
 
+void calculovrms ()
+{
+for (contvrms=0; contvrms=99; contvrms++)
+{valor = muestra(contvrms);
+valor = valor*valor;
+sumatorio = sumatorio + valor;}
+Vrms = (constante*sumatorio)^(0.5);
+    }
 
 int main()
 {