lab6 para curso mbed FIME

Dependencies:   mbed

Revision:
0:b2f0c55d8176
--- /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.*/
+
+    }
+}