• No se han encontrado resultados

Descripción Del Programa Realizado Para El Microcontrolador MSP430

CAPÍTULO 3 | ESTRUCTURA DEL PROGRAMA EN EL MICROCONTROLADOR

3.4 Descripción Del Programa Realizado Para El Microcontrolador MSP430

Para hacer que los dos dispositivos que se ocupan en esta Tesis (microcontrolador y un teléfono inteligente) interactúen, se necesita que los dispositivos involucrados se comuniquen entre sí utilizando un lenguaje o protocolo común entre ambos dispositivos. La forma más común de establecer dicha comunicación es utilizando la comunicación serie, la comunicación serie consiste en la transmisión y recepción de pulsos digitales, a una misma velocidad. El transmisor envía pulsos que representan el dato enviado a una velocidad determinada, y el receptor escucha dichos pulsos a esa misma velocidad. Esta técnica es conocida como comunicación serie asíncrona.

Para nuestro caso, la tarjeta MSP430 cuenta con un puerto serial, al cual se puede acceder mediante dos pines digitales Rx (de recepción) y Tx (de transmisión). Energía facilita la manipulación del proceso de envió de datos, esta velocidad es conocida como “baud rate” o baudaje. La velocidad es determinada por el programador a través de la interfaz en pantalla con una velocidad variable de 300, 1200, 2400, 4800, 9600, 14900 pulsos por segundo. El medio utilizado es el UART (Receptor Asíncrono Universal) encargado de llevar acabo la comunicación serial con el microcontrolador.

Una vez que tenemos los dos dispositivos conectados y que intercambian datos a una velocidad de 9600 bits por segundo (también llamados baudios), el receptor capturará el voltaje que le está enviando el transmisor, y 1/9600 bits por segundo, interpretará dicho voltaje como un nuevo bit de datos.

Si el voltaje tiene valor HIGH (+5 volts en la comunicación con el MSP430), interpretará el dato como 1, y si tiene valor LOW (0 volts), interpretará el dato como 0. De esta forma, interpretando una secuencia de bits de datos, el receptor puede obtener el mensaje transmitido.

Los dispositivos electrónicos usan números para representar en bytes caracteres alfanuméricos (letras y números). Para ello se utiliza el código estándar llamado ASCII (enlace), el cual asigna a cada número o letra el valor de un byte comprendido entre el rango de 0 a 127.

El código ASCII es utilizado en la mayoría de los dispositivos como parte de su protocolo de comunicaciones serie RS-232. Si el dispositivo transmitiría el número 90 la secuencia de pulsos será como en la Figura 3.4.

Otro punto importante, es determinar el orden de envío de los bits. La transmisión de cada byte se envía en forma independiente, se transmiten 8 bits de datos de uno a uno comenzando con el menos significativo y van precedidos con un bit de inicio (START) y detrás de ellos se coloca un bit de alto (STOP). De acuerdo con las normas del formato estándar NRZ; en el otro extremo el receptor del sistema de comunicación reconoce los caracteres por su bit de inicio y bit de parada.

Entonces para que sea posible la comunicación serie, ambos dispositivos deben concordar en los niveles de voltaje (HIGH y LOW), en la velocidad de transmisión, y en la interpretación de los bits transmitidos.

Es decir, que deben de tener el mismo protocolo de comunicación serie (conjunto de reglas que controlan la secuencia de mensajes que ocurren durante una comunicación entre dispositivos). Generalmente se usa el protocolo serie llamado RS-232 tanto conectores y puertos serie que utilizan dicha norma.

Los diferentes procesos que intervienen en el programa que controla elementos presentes en una casa habitación, como lo son:

 Encendido/Apagado de las luces de una habitación

 Abrir/Cerrar las cerraduras de una habitación

 Leer el valor de temperatura en una habitación

 Detectar la presencia de algún intruso en un determinado lugar

Los comandos a recibir para el control de estos procesos son: 1 Encender/Apagar la iluminación

2 Abrir/Cerrar las cerraduras

3 Leer el valor de temperatura en una habitación

4 Detectar la presencia de algún intruso en un determinado lugar 5 Leer el nivel de gas LP

Nota: Para el envío de datos por bluetooth entre el microcontrolador y el teléfono inteligente se utiliza la App para Android Sistema Usuario.

Una vez establecida la conexión entre la AppSistema Usuario y el programa Sistema Versión 1

previamente cargado en el MSP430, los caracteres enviados vía Bluetooth entrarán en la estructura del programa Sistema Versión 1 correspondiente, como se muestra en la Figura 3.5, mostrando los valores censados mediante un Display LCD (mediante la sentencia lcd.print) conectado al microcontrolador y a través de un Text View (Texto en Pantalla) incluido en la aplicación Sistema Usuario.

Figura 3.5 Lectura de caracteres a través del puerto serial.

Para el caso del carácter “1” el programa interpretará el siguiente código (Figura 3.6), el cual controla el estado de las luces de una habitación; enviando dicho estado a la interfaz serial que se comunica con la App Sistema Usuario tanto como la interfaz LCD.

Figura 3.6 Proceso Luces.

Recibiendo el carácter “2”, el programa interpretará el siguiente código (Figura 3.7), el cual controla el estado de las cerraduras de una habitación; enviando dicho estado a la interfaz serial que se comunica con la App Sistema Usuario tanto como la interfaz LCD.

Figura 3.7 Proceso Cerraduras.

La modalidad de temperatura se emplea cuando se recibe el carácter “3”; el pin A0 ha sido definido como entrada analógica. Se lee el valor de voltaje que proporciona el circuito integrado LM35 que actúa como un sensor de temperatura y nos entrega una salida de voltaje directamente proporcional a la temperatura en grados Celsius enviando la variable Temp a la

interfaz serial que se comunica con la App Sistema Usuario tanto como la interfaz LCD (Figura 3.8).

Figura 3.8 Proceso Temperatura.

Si el valor de temperatura es mayor a 37 grados Celsius, el microcontrolador enviara una señal de control que activara un led a través del P1_3 previamente programado como salida digital como se muestra en la Figura 3.9.

Figura 3.9 Condición para el funcionamiento del led.

El proceso de Proximidad se realiza al interpretar el carácter “4” recibido por la interfaz serial del microcontrolador, el sensor funciona mediante la transmisión de una ráfaga de ultrasonido en una frecuencia muy por encima del rango auditivo humano y provee un pulso de salida, el cual corresponde con el tiempo requerido por el eco (rebote) para retornar hasta el sensor.

Al medir la duración de este pulso se puede calcular fácilmente la distancia de un objeto enviando la variable distance a la interfaz serial que se comunica con la App Sistema Usuario

tanto como la interfaz LCD (Figura 3.10).

Figura 3.10 Proceso Ultrasónico.

En la modalidad final se recibe el carácter “5” que activa un detector de gas, el pin A6 ha sido definido como entrada analógica, por el cual leemos la pureza del gas en una determinada área como se muestra en la Figura 3.11

Cuando las concentraciones de gas superan un cierto nivel se da la indicación de un estado de alarma (alto nivel de gas); el microcontrolador emite una señal de activación para un led (Figura 3.12).

Figura 3.12 Condición para activar el led de alarma.

En este capítulo se describieron tanto la tarjeta de desarrollo como el software que permite el desarrollo de las aplicaciones y la aplicación desarrollada. De la aplicación se describieron los módulos que permiten la comunicación vía Bluetooth con el teléfono inteligente y aquellos que permiten la lectura de los sensores. En el siguiente capítulo se describen a detalle los sensores utilizados así como las aplicaciones que permiten la comunicación.

Para mas información acerca del código fuente para los procesos de lectura y escritura, revisar

C

APÍTULO 4

|

IMPLEMENTACIÓN Y

Documento similar