lab6 para curso mbed FIME

Dependencies:   mbed

Committer:
Alonso
Date:
Sun May 24 04:17:50 2015 +0000
Revision:
0:b2f0c55d8176
lab6 para curso mbed FIME

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Alonso 0:b2f0c55d8176 1 #include "mbed.h"
Alonso 0:b2f0c55d8176 2
Alonso 0:b2f0c55d8176 3 /* En esta practica se da un repaso a lo que es comunicacion serial a travez del puerto UART
Alonso 0:b2f0c55d8176 4 y la lectura de un valor analogico utilizando el ADC, pero en este caso se utiliza una
Alonso 0:b2f0c55d8176 5 funcion para lectura de ADC secundaria, esta funcio entrega el valor real del adc en un
Alonso 0:b2f0c55d8176 6 rango de 16 bits (0 - 65535). La funcion de la practica consiste en leer el valor real del
Alonso 0:b2f0c55d8176 7 ADC de un potenciometro y calcular cual es el voltaje de entrada en el pin al que esta conectado
Alonso 0:b2f0c55d8176 8 el potenciomtro. Ambos valores son mostrado en en la terminal de la pc.
Alonso 0:b2f0c55d8176 9
Alonso 0:b2f0c55d8176 10 reto: Agregar al programa el codigo necesario para que se cumpla lo siguiente:
Alonso 0:b2f0c55d8176 11
Alonso 0:b2f0c55d8176 12 - 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"
Alonso 0:b2f0c55d8176 13 - 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"
Alonso 0:b2f0c55d8176 14 - 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 :( "*/
Alonso 0:b2f0c55d8176 15
Alonso 0:b2f0c55d8176 16 AnalogIn pot(PTB0); // inicializamos el valor pin de entrada analogico donde esta conectado el potenciometro
Alonso 0:b2f0c55d8176 17 Serial pc(USBTX,USBRX); // inicializamos el el puerto de comunicacion serial
Alonso 0:b2f0c55d8176 18
Alonso 0:b2f0c55d8176 19 unsigned int valor_adc_pot; // variable donde se guarda el valor real del adc del potenciometro
Alonso 0:b2f0c55d8176 20 float valor_voltaje; // variable que se calcula y donde se guarda el valor de voltaje
Alonso 0:b2f0c55d8176 21
Alonso 0:b2f0c55d8176 22 int main()
Alonso 0:b2f0c55d8176 23 {
Alonso 0:b2f0c55d8176 24 pc.baud(115200); // indicamos la cantidad de baudios *tambien debe ajustarse en la terminal.
Alonso 0:b2f0c55d8176 25 pc.printf("mi voltimetro\r\n"); // impresion principal
Alonso 0:b2f0c55d8176 26
Alonso 0:b2f0c55d8176 27 while(1) {
Alonso 0:b2f0c55d8176 28 valor_adc_pot = pot.read_u16();// se lee el valor del adc de 16 bits y se guarda en la variable
Alonso 0:b2f0c55d8176 29 valor_voltaje = valor_adc_pot * (3.3 / 65535.0); // se calcula el valor de voltaje de entrada usando el valor de lectura del adc
Alonso 0:b2f0c55d8176 30 valor_adc_pot = pot.read_u16();// se lee el valor del adc de 16 bits y se guarda en la variable
Alonso 0:b2f0c55d8176 31 valor_voltaje = valor_adc_pot * (3.3 / 65535.0); // se calcula el valor de voltaje de entrada usando el valor de lectura del adc
Alonso 0:b2f0c55d8176 32 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
Alonso 0:b2f0c55d8176 33 wait_ms(500); // se hace un retardo para poder apreciarlo en la terminal.*/
Alonso 0:b2f0c55d8176 34
Alonso 0:b2f0c55d8176 35 }
Alonso 0:b2f0c55d8176 36 }