lab6 para curso mbed FIME

Dependencies:   mbed

main.cpp

Committer:
Alonso
Date:
2015-05-24
Revision:
0:b2f0c55d8176

File content as of revision 0:b2f0c55d8176:

#include "mbed.h"

/* En esta practica se da un repaso a lo que es comunicacion serial a travez del puerto UART
   y la lectura de un valor analogico utilizando el ADC, pero en este caso se utiliza una
   funcion para lectura de ADC secundaria, esta funcio entrega el valor real del adc en un
   rango de 16 bits (0 - 65535). La funcion de la practica consiste en leer el valor real del
   ADC de un potenciometro y calcular cual es el voltaje de entrada en el pin al que esta conectado
   el potenciomtro. Ambos valores son mostrado en en la terminal de la pc.

   reto: Agregar al programa el codigo necesario para que se cumpla lo siguiente:

   - cuando el valor de voltaje este entre (0 - 1.5) solo se encienda el led verde, imprimir en terminal, valor de voltaje y "la papa se quema"
   - cuando el valor de voltaje este entre (1.6 - 2.5) solo se encienda el led azul, imprimir en terminal,valor de voltaje y "la papa se esta quemando"
   - cuando el valor de voltaje este entre (2.6 - 3.3) solo se encienda el led rojo, imprimir en terminal,valor de voltaje y "se papa se quemo :( "*/

AnalogIn pot(PTB0); // inicializamos el valor pin de entrada analogico donde esta conectado el potenciometro
Serial pc(USBTX,USBRX); // inicializamos el el puerto de comunicacion serial

unsigned int valor_adc_pot;  // variable donde se guarda el valor real del adc del potenciometro
float valor_voltaje; // variable que se calcula y donde se guarda el valor de voltaje

int main()
{
    pc.baud(115200); // indicamos la cantidad de baudios *tambien debe ajustarse en la terminal.
    pc.printf("mi voltimetro\r\n"); // impresion principal

    while(1) {
        valor_adc_pot = pot.read_u16();// se lee el valor del adc de 16 bits y se guarda en la variable
        valor_voltaje = valor_adc_pot * (3.3 / 65535.0); // se calcula el valor de voltaje de entrada usando el valor de lectura del adc
        valor_adc_pot = pot.read_u16();// se lee el valor del adc de 16 bits y se guarda en la variable
        valor_voltaje = valor_adc_pot * (3.3 / 65535.0); // se calcula el valor de voltaje de entrada usando el valor de lectura del adc
        pc.printf(" el valor del adc es: %d, el valor del voltaje es: %.2f volts \r\n",valor_adc_pot, valor_voltaje);// se imprime en la terminal los valores de adc y voltaje respectivamente
        wait_ms(500); // se hace un retardo para poder apreciarlo en la terminal.*/

    }
}