MII1SistElec
/
Proyecto
¡Qué majo es Ander Ibabe!
Diff: main.cpp
- Revision:
- 4:515ede6e2e14
- Parent:
- 3:250e95e6485b
- Child:
- 5:f364983627e5
--- a/main.cpp Fri Jan 12 07:16:16 2018 +0000 +++ b/main.cpp Fri Jan 12 15:31:01 2018 +0000 @@ -1,5 +1,11 @@ #include "mbed.h" #include "TextLCD.h" +#define periodo 0.0002 //1/5000 +#define tamvector 100 +#define dato_v 6.2357e+03 +#define dato_i 9.7128 //((3,3*2000/(2^16*Rburn))^2)*(1/100) +#define dato_p 202.6327 +#define dato_e 20e-3/3600 Serial bluetooth (D10,D2); Serial pc(SERIAL_TX,SERIAL_RX); @@ -37,11 +43,11 @@ void temporizador () { if(nbuffer) { - muestrasA[contador]=(tension.read()-Vcont)*219.626*3.3; - muestrasC[contador]=(intensidad.read()-Icont)*9.525*3.3; + muestrasA[contador]=(tension.read()-Vcont); + muestrasC[contador]=(intensidad.read()-Icont); } else { - muestrasB[contador]=(tension.read()-Vcont)*219.626*3.3; - muestrasD[contador]=(intensidad.read()-Icont)*9.725*3.3; + muestrasB[contador]=(tension.read()-Vcont); + muestrasD[contador]=(intensidad.read()-Icont); } contador++; if(contador==100) { @@ -54,7 +60,7 @@ void boton() { mostrardato++; - if (mostrardato>8) + if (mostrardato>7) mostrardato=0; } @@ -63,39 +69,44 @@ lcd.cls(); switch(mostrardato) { case 0: - lcd.printf("Vrms:\n3.3 V",Vrms); - pc.printf("Vrms:\n3.3 V",Vrms); + lcd.printf("Vrms:\n %f V",Vrms); + pc.printf("Vrms:\n %f V",Vrms); break; case 1: - lcd.printf("Irms:\n3.3 I",Irms); - pc.printf("Irms:\n3.3 I",Irms); + lcd.printf("Irms:\n %f A",Irms); + pc.printf("Irms:\n %f A",Irms); break; case 2: - lcd.printf("F.pot:\n3.3 ",FactorPotencia); - pc.printf("F.pot:\n3.3 ",FactorPotencia); + lcd.printf("F.pot:\n %f ",FactorPotencia); + pc.printf("F.pot:\n %f ",FactorPotencia); break; case 3: - lcd.printf("P.Apa:\n3.3 VA",PotenciaAparente); - pc.printf("P.Apa:\n3.3 VA",PotenciaAparente); + + lcd.printf("P.Act:\n %f W",PotenciaActiva); + pc.printf("P.Act:\n %f W",PotenciaActiva); break; case 4: - lcd.printf("P.React:\n3.3 VAr",PotenciaReactiva); - pc.printf("P.React:\n3.3 VAr",PotenciaReactiva); + lcd.printf("P.React:\n %f VAr",PotenciaReactiva); + pc.printf("P.React:\n %f VAr",PotenciaReactiva); break; case 5: - lcd.printf("P.Act:\n3.3 W",PotenciaActiva); - pc.printf("P.Act:\n3.3 W",PotenciaActiva); + lcd.printf("P.Apa:\n %f VA",PotenciaAparente); + pc.printf("P.Apa:\n %f VA",PotenciaAparente); break; case 6: - lcd.printf("E.Act:\n3.3 kWh",EnergiaActiva); - pc.printf("E.Act:\n3.3 kWh",EnergiaActiva); + lcd.printf("E.Act:\n %f Wh",EnergiaActiva); + pc.printf("E.Act:\n %f Wh",EnergiaActiva); break; case 7: - lcd.printf("E.React:\n3.3 kWh",EnergiaReactiva); - pc.printf("E.React:\n3.3 kWh",EnergiaReactiva); + lcd.printf("E.React:\n %f Wh",EnergiaReactiva); + pc.printf("E.React:\n %f Wh",EnergiaReactiva); + break; + case 8: + lcd.printf("Precio:\n %f €",precio); + pc.printf("Precio:\n %f €",precio); break; } - bluetooth.printf("%3.3| %3.3| %3.3| %3.3\n",Vrms,Irms,PotenciaActiva,precio); + bluetooth.printf("%Vrms| %Irms | %PotenciaActiva| %precio\n",Vrms,Irms,PotenciaActiva,precio); } int main () @@ -136,15 +147,15 @@ sumaIntensidad=sumaIntensidad+datoIntensidad*datoIntensidad; sumapotenciaactiva=sumapotenciaactiva+dato*datoIntensidad; } - Vrms=(sqrt(suma/100.0)*1.01449275362); - Irms=(sqrt(sumaIntensidad/100.0)*0.9869); - PotenciaActiva=(sumapotenciaactiva/100.0)/10.00139; - EnergiaActiva=EnergiaActiva+(PotenciaActiva/180000000.0); + Vrms=(sqrt(suma*dato_v)); + Irms=(sqrt(sumaIntensidad*dato_i)); + PotenciaActiva=dato_p*sumapotenciaactiva; PotenciaAparente=Vrms*Irms; - PotenciaReactiva=(sqrt((PotenciaActiva-PotenciaAparente)-(PotenciaActiva*PotenciaActiva))); - EnergiaActiva=EnergiaReactiva+(PotenciaReactiva/180000000.0); - FactorPotencia=(PotenciaActiva/PotenciaAparente); - precio=EnergiaActiva*0.121; + PotenciaReactiva=(sqrt((PotenciaAparente*PotenciaAparente)-(PotenciaActiva*PotenciaActiva))); + EnergiaActiva=EnergiaActiva+PotenciaActiva*dato_e; + EnergiaReactiva=EnergiaReactiva+PotenciaReactiva*dato_e; + FactorPotencia=PotenciaActiva/PotenciaAparente; + precio=EnergiaActiva*dato_p; } } -} \ No newline at end of file +} \ No newline at end of file