ADC en la placa FRDM-KL25Z
La placa FRDM-KL25Z cuanta con 5 pines que se pueden usar para tratar señales análogas, en el siguiente esquema se puede apreciar la ubicación de dichos pines.
Los Pines A0 - A5 nos pueden servir como ADC |
Como se puede apreciar en la figura superior, los pines A0, A1, A2, A3, A4 y A5 nos pueden servir para realizar la función de un ADC, por lo cual decimos soldar primeramente pines macho en ese área, a fin de poder hacer esta practica de manera mas sencilla.
Preparación de la Practica
Para poder realizar la practica hicimos uso de un potenciometro que nos brindara la señal análoga, para su uso también soldamos pines hembra al área de alimentación de la placa, a continuación se procedió a conectar el potenciometro a los pines correspondientes de la placa.
Pines correspondientes del lado de la placa |
Pines correspondientes del lado del Sensor |
Programación
La programación se realizo con ayuda del entorno de desarrollo mbed, a continuación se muestra el código escrito y se procede a su descripción.
#include "mbed.h"
AnalogIn POT(A1);
Serial pc(USBTX, USBRX);
int main() {
float voltaje;
pc.baud(115200);
while(1) {
voltage = POT.read() * 3.3;
pc.printf("Voltaje: %.3f volts. \r\n", voltaje);
wait(0.1);
}
}
Primero se hace el #include de la librería correspondiente para el manejo de mbed, se procede a declarar en puerto de entrada AnalogIn, en este caso se usamos el pin A1. Decidimos mostrar las lecturas obtenidas directamente a la computadora, por lo cual habilitamos una UART de la placa.
Dentro de la función principal primero se declaran nuestras variables globales, que son el Voltaje, variable que guardara la lectura y también declaramos el baud rate con el cual trabajaremos para enviar la información a la PC.
Finalmente hacemos un while, el cual tiene dentro la función de lectura y la función de envió de información, Se nombro POT a la entrada análoga, cuando queremos obtener la lectura hacemos uso de la función POT.read(), la cual da como resultado un float entre 0 y 1, por lo que debemos multiplicar por 3.3 para saber la lectura real de voltaje.
Cuando obtenemos finalmente el valor del voltaje procedemos a enviarlo dentro de una cadena, limitando el numero de decimales a 3. Finalmente hacemos una espera de 0.1 segundos, lo cual nos da un promedio de 10 lecturas por segundo.
Resultados
Para mostrar el resultado nos valimos de un monitor serial, el cual mostraba toda la cadena que enviamos, en el siguiente vídeo se puede apreciar el resultado final de la practica.
Muy buen trabajo, la practica se encuentra realmente muy bien explicada paso a paso por lo que seria fácil que alguien mas la replique sobre todo por el hecho de compartir el código.
ResponderEliminarEQUIPO 8
Hola,
ResponderEliminarComo siempre un buen trabajo. Sólo tengo una duda algo tonta...Veo que se programa como el Arduino; en caso de que yo quiera agregar una LCD, sería agregando la misma librería que utilizamos con el arduino uno, ¿cierto?
Saludos :)
Equipo 10
Hola,
ResponderEliminarComo siempre un buen trabajo. Sólo tengo una duda algo tonta...Veo que se programa como el Arduino; en caso de que yo quiera agregar una LCD, sería agregando la misma librería que utilizamos con el arduino uno, ¿cierto?
Saludos :)
Equipo 10
Una practica muy bien explicada, y me gusto el hecho que se hayan ahorrado el uso de la LCD habilitando la UART para realizar esto.
ResponderEliminarSaludos ;) Equipo 10
Es muy clara la manera de representar las conexiones de su tarjeta FRDM, con la ayuda de las imágenes. Gracias a la simpleza en que muestran la información de la programación, este post puede el primer contacto de un usuario a la FRDM y su entorno.
ResponderEliminar