Jorge Rodolfo Muñoz / Mbed 2 deprecated Medidor_voltaje_resistencia

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /*Laboratorio 3: Codigo para un medidor de voltaje de 0 V a 28 V, y de resistencias, utilizando el microcontrolador 
00002 Freedom KL25Z, para la materia de informatica industrial    TECNOLOGICO DE MONTERREY CAMPUS GUADALAJARA
00003 realizada por: Jorge Rodolfo Muñoz Zuñiga A01227893  -     Ismael Davila Martin A01227911   */
00004 
00005 
00006 #include "mbed.h"
00007 //DECLARACION DE VARIABLES
00008 DigitalOut myled(LED1);
00009 
00010 AnalogIn vout(PTB0);//entrada analogico que lee el voltaje 
00011 AnalogIn res_analogic(PTB1);//entrada analogica que lee el voltaje para el calculo de resistencias
00012 float res[10];
00013 float voltaje[10];  
00014 
00015 DigitalIn boton1 (PTD4); //boton para cambiar el modo
00016 int botonA;
00017 DigitalIn boton2 (PTA12);  //boton para promedio
00018 int botonB;
00019 
00020 Serial pc(USBTX, USBRX);
00021 
00022 int tiempo; // para el uso del timer 
00023 Timer timer;  
00024 
00025 float promedio1; //promedios
00026 float promedio2; 
00027 
00028 int i;  //variables para el cambio de modo y el for
00029 int modo;
00030 
00031 float corriente;
00032 //CODIGO                
00033 int main() 
00034 {
00035      myled = 1;
00036      wait(1);
00037      myled = 0;
00038      wait(1);
00039      modo = 0;
00040 // comienzo del codigo para medidor de voltaje
00041     
00042     timer.start();
00043       
00044 while(true)                        
00045 { 
00046     
00047     while(modo==0) //modo voltaje
00048        {
00049             tiempo=timer.read_ms();
00050             if((tiempo%500==0)&&(tiempo<=5000))
00051                 {
00052                 voltaje[(tiempo/500)-1]=(vout*28);//agregando los valores leidos al arreglo voltaje
00053                 }
00054                 
00055             if(tiempo>5000)
00056                 {
00057                 timer.reset();
00058                 }
00059             botonB=boton2;
00060             if(botonB==1)//calculo de promedio de valores leidos
00061                 {
00062                 for(i=0;i<=9;i++)
00063                     {    
00064                     promedio1=promedio1+voltaje[i];
00065                     }
00066                 pc.printf("valor del promedio del voltaje es: %f, \n ", promedio1/10);
00067                 pc.printf("valor de la suma de voltaje es: %f, \n \n ", promedio1);
00068                 timer.reset();  
00069                 promedio1 =0;
00070                 }
00071                     
00072             botonA = boton1;//condicion para cambiar de modo
00073             if (botonA==1) 
00074             {
00075                 modo = 1;
00076             }
00077             
00078         }
00079         
00080             //fin del cofigo de medidor de voltaje
00081             //inicio de codigo de medidor de resistencia
00082     while (modo ==1) 
00083         {
00084             corriente = 0.003; 
00085             tiempo=timer.read_ms();
00086             if((tiempo%500==0)&&(tiempo<=5000))
00087                 {
00088                 res[(tiempo/500)-1]=(3.3-(res_analogic*3.3))/.003;//arreglo de resistencias
00089                 }
00090             if(tiempo>5000)
00091                 {
00092                 timer.reset();
00093                 }
00094             botonB=boton2;//calculo del promedio de las resistencias
00095             if(botonB==1)
00096                 {
00097                 for(i=0;i<=9;i++)
00098                     {    
00099                     promedio2=promedio2+res[i];
00100                     }
00101                 pc.printf("valor del promedio de resistencia es: %f, \n ", promedio2/10);
00102                 pc.printf("valor de la suma de resistencia es: %f, \n \n ", promedio2);
00103                 timer.reset();  
00104                 promedio2 =0;
00105                 }
00106             botonA = boton2;//condicion para cambiar de modo
00107             if (botonA==1) 
00108                 {
00109                 modo = 0;
00110                 }
00111         }
00112                    
00113             
00114 }
00115         
00116 }
00117