miércoles, 4 de febrero de 2015

MSP430: DHT11 + UART

Este capítulo tiene el propósito de mostrar como trabajar con el dispositivo digital DHT11 mediante la librería que hemos creado y explicado en el siguiente capítulo: MSP430: DHT11.

Vamos a trabajar sobre la placa MSP430 Launchpad y en este caso, usaremos el microcontrolador MSP430G2553.

El programa que vamos a emplear para tal propósito, consistirá en obtener una lectura del sensor externo DHT11 cada tres segundos, y una vez obtenida, enviarla por la UART para que se muestre por pantalla en un software PC.

El conversor USB <---> RS-232 que vamos a usar, es uno externo, concretamente el CP2102 (enlace del fabricante).

 El material que vamos a necesitar y su función, es la que se muestra a continuación:

· MSP430 Launchpad: Evidentemente, nuestra placa de desarrollo con el microcontrolador MSP430G2553.
· Módulo B75937: Conversor USB <---> RS-232 externo basado en el dispositivo CP2102.
· DHT11: Dispositivo digital de temperatura/humedad relativa.
· Interfaz Gráfica: Software que se ejecuta en un ordenador con sistema operativo Windows con al menos, la versión .NET Framework 4.0. Dicha interfaz gráfica se puede descargar más adelante junto al Firmware.

El módulo B75937, es un conversor USB <---> RS-232 que actuará de puente entre el módulo interno UART del microcontrolador y el puerto USB del ordenador (creando un puerto COM virtual en el ordenador).

Pero antes de presentar el código, debemos tener en cuenta algunas consideraciones:

· Preparación placa MSP430 Launchpad: La placa MSP430 Launchpad dispone de un conversor incorporado, para no causar conflictos, se recomienda desconectar las patitas TXD y RXD del conector J3.


El código del programa principal, es el siguiente:

/**
* @file     main.c
* @author   Manuel Caballero
* @date     2/2/2015
* @brief    Archivo principal.
* \copyright
*
*         AqueronteBlog@gmail.com
*
* Este archivo es propiedad intelectual del blog Aqueronte,
* cuya direccion web, es la siguiente:
*
*  http://unbarquero.blogspot.com/
*
* Se permite cualquier modificacion del archivo siempre y cuando
* se mantenga la autoria del autor.
*/

#include < msp430.h >
#include "variables.h"
#include "funciones.h"
#include "interrupciones.h"
#include "DHT11.h"



/**
 *  \brief     void main( void )
 *  \details   Este programa consiste en realizar una lectura de datos del sensor externo
 *             DHT11 cada, aproximadamente 3 segundos.
 *
 *             Una vez obtenidos los datos, se envían al ordenador por medio del puerto serie
 *             usando la UART. El resto del tiempo, el MCU permanecerá en estado bajo consumo.
 *
 *  \author    Manuel Caballero
 *  \version   0.0
 *  \date      2/2/2015
 *  \pre       Asegurarse de que el dispositivo DHT11 está conectado en el pin P1.5.
 *  \pre       Se utilizará el módulo conversor B75937 USB <---> RS-232 basado
 *             en el dispositivo CP2102 a 9600 Baudios.
 *  \pre       El software de ordenador utilizado es el llamado UART1_SW, proporcionado con
 *             todos los archivos necesarios del éste proyecto.
 *  \pre       Code Composer Studio, Version: 6.0.1.00040.
 *  \pre       C Compiler, MSP430 GCC GNU v4.9.1.
 */
void main( void )
{
  conf_WDT      ();                // Configura WDT del sistema
  conf_CLK      ();                // Configura CLK del sistema
  conf_IO       ();                // Configura Entradas/Salidas
  conf_UART     ();                // Configura UART
  conf_TA0      ();                // Configura TimerA TA0


  __enable_interrupt();            // Interrupciones ON.


  while(1)
  {
    LPM3;                          // Modo bajo consumo: LPM3

    DHT11_ini ();                  // Lectura datos del sensor externo DHT11
    // __nop();                    // Solo para DEBUG
    IE2     |=  UCA0TXIE;          // Interrupción Tx ON (Transmite datos)
  }
}

Como vemos, el ejemplo es bastante simple, se recomienda bajar los archivos disponibles más abajo para indagar entre sus librerías y leer sus funciones de manera más detallada.

Un vídeo que demuestra lo explicado anteriormente se presenta a continuación:



Os pongo a vuestra disposición el programa en lenguaje C (IAR y MSPGCC) para que lo podáis descargar y probar:

MSP430: DHT11
Compilador IARCompilador MSPGCC
CC
MSP430: DHT11
MSP430: DHT11
MSP430: DHT11
MSP430: DHT11

Ahora, en el archivo a descargar, a parte del programa con todas las librerías necesarias empleadas para este programa, se han añadido toda la documentación en formato doxygen.

1 comentarios:

Anónimo dijo...

Muy bueno! Sobre todo las descargas.

Hace meses que tengo las protoboards cogiendo polvo y no hago anda divertido desde que estudiaba electrónica :P

Saludos

Albert

bristolenos.com