jueves, 29 de mayo de 2014

MSP430: XBee + Sensor Temperatura Interna

Este capítulo tiene el propósito de mostrar como configurar, trabajar y establecer mediante una comunicación inalámbrica nuestra placa de desarrollo MSP430 LaunchPad con un ordenador mediante los módulos XBee de la empresa Digi.

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 interno de temperatura del microcontrolador cada dos segundos, y una vez obtenida, de manera inalámbrica al ordenador.

Además, en dicho software de PC, se podrá cambiar los estados de los LEDS incorporados en la placa MSP430 Launchpad.

Para orientarse u saber como se han configurado los módulos XBee, se recomienda ver y descargar el archivo de la breve guía o manual de los módulos XBee, en el siguiente capítulo: XBee.

 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ódulos XBee: Un par de ellos para establecer una comunicación inalámbrica.
· Leds: Ambos leds (LED1 y LED2) incorporados en la placa MSP430 Launchpad. 
· 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 código del programa principal, es el siguiente:

/*----------------------------------------------------------------------
   AqueronteBlog@gmail.com            
                                                      
Este archivo es propiedad intelectual del blog Aqueronte,  
cuya dirección web, es la siguiente:                       
                                                       
  http://unbarquero.blogspot.com/           
                                                       
Se permite cualquier modificación del archivo siempre y cuando
se mantenga la autoría del autor.                          
                                                      
----------------------------------------------------------------------
                                                       
Filename:       main.c                              
Date:           21-May-14                                
File Version:   vs0.0                                     
Compiler:       IAR 5.60.2 [Kickstart]   

Author:         Manuel Caballero                           
Company:        Hades                          
                       
----------------------------------------------------------------------
                                                      
Notes:   Este programa tiene el propósito de enviar mediante el módulo
         externo XBee el dato recogido por el sensor interno de 
         temperatura.

         Así mismo, se podrán cambiar los estados de los LEDS de la placa
         MSP430 Launchpad por medio de una interfaz gráfica PC.

         El microcontrolador estará en modo bajo consumo LPM1 hasta
         que reciba una orden desde el ordenador.
*/


#include "io430.h"
#include "variables.h"
#include "funciones.c"
#include "interrupciones.c"


void main( void )
{  
   conf_WDT    ();           // Configura WDT del sistema
   conf_CLK    ();           // Configura CLK del sistema                                              
   conf_IO     ();           // Configura Entradas/Salidas
   conf_ADC10  ();           // Configura ADC10 (Sensor Interno Temperatura)
   conf_UART   ();           // Configura UART
   conf_TimerA ();           // Configura Timer A 
  
   __enable_interrupt();     // Interrupciones ON.
  
  
   while(1)
   {     
     TA0CTL   |= TAIE;       // Interrupción TimerA ON
    
     LPM1;                   // Modo bajo consumo: LPM1
    
     if (datoUART == '0')
       P1OUT ^= BIT0;        // Cambia estado LED1
     else
       P1OUT ^= BIT6;        // Cambia estado LED2
   }
}

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: XBEE + Sensor Temperatura Interna
Compilador IARCompilador MSPGCC
CC
MSP430: XBEE + Sensor Temp Int
MSP430: XBEE + Sensor Temp Int
MSP430: XBEE + Sensor Temp Int
MSP430: XBEE + Sensor Temp Int

Quien siga este blog con asiduidad, en concreto el apartado a la familia del microcontrolador MSP430, puede apreciar que este programa es idéntico a uno que tenemos ya expuesto, con la diferencia de que en vez de enviar los datos por el conversor RS232-USB, lo hacemos de forma inalámbrica mediante los módulos XBee.

Así, se puede apreciar la facilidad a la hora de trabajar con dichos módulos XBee ya que por parte de la programación del microcontrolador, no hay que hacer ni adaptar nada, solo es necesario configurar los módulos XBee mediante el software gratuito XCTU.

0 comentarios: