alonso vallejo
/
lab6_UART_ADC
lab6 para curso mbed FIME
Revision 0:b2f0c55d8176, committed 2015-05-24
- Comitter:
- Alonso
- Date:
- Sun May 24 04:17:50 2015 +0000
- Commit message:
- lab6 para curso mbed FIME
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r b2f0c55d8176 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sun May 24 04:17:50 2015 +0000 @@ -0,0 +1,36 @@ +#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.*/ + + } +}
diff -r 000000000000 -r b2f0c55d8176 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sun May 24 04:17:50 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/dbbf35b96557 \ No newline at end of file