alonso vallejo
/
lab6_UART_ADC
lab6 para curso mbed FIME
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.*/ } }