lab6 para curso mbed FIME

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 /* En esta practica se da un repaso a lo que es comunicacion serial a travez del puerto UART
00004    y la lectura de un valor analogico utilizando el ADC, pero en este caso se utiliza una
00005    funcion para lectura de ADC secundaria, esta funcio entrega el valor real del adc en un
00006    rango de 16 bits (0 - 65535). La funcion de la practica consiste en leer el valor real del
00007    ADC de un potenciometro y calcular cual es el voltaje de entrada en el pin al que esta conectado
00008    el potenciomtro. Ambos valores son mostrado en en la terminal de la pc.
00009 
00010    reto: Agregar al programa el codigo necesario para que se cumpla lo siguiente:
00011 
00012    - 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"
00013    - 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"
00014    - 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 :( "*/
00015 
00016 AnalogIn pot(PTB0); // inicializamos el valor pin de entrada analogico donde esta conectado el potenciometro
00017 Serial pc(USBTX,USBRX); // inicializamos el el puerto de comunicacion serial
00018 
00019 unsigned int valor_adc_pot;  // variable donde se guarda el valor real del adc del potenciometro
00020 float valor_voltaje; // variable que se calcula y donde se guarda el valor de voltaje
00021 
00022 int main()
00023 {
00024     pc.baud(115200); // indicamos la cantidad de baudios *tambien debe ajustarse en la terminal.
00025     pc.printf("mi voltimetro\r\n"); // impresion principal
00026 
00027     while(1) {
00028         valor_adc_pot = pot.read_u16();// se lee el valor del adc de 16 bits y se guarda en la variable
00029         valor_voltaje = valor_adc_pot * (3.3 / 65535.0); // se calcula el valor de voltaje de entrada usando el valor de lectura del adc
00030         valor_adc_pot = pot.read_u16();// se lee el valor del adc de 16 bits y se guarda en la variable
00031         valor_voltaje = valor_adc_pot * (3.3 / 65535.0); // se calcula el valor de voltaje de entrada usando el valor de lectura del adc
00032         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
00033         wait_ms(500); // se hace un retardo para poder apreciarlo en la terminal.*/
00034 
00035     }
00036 }