"¿De qué serviría hablar de aquello? Nadie me creería". Napoleón Bonaparte.

Mostrando las entradas con la etiqueta Android. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Android. Mostrar todas las entradas

viernes, 22 de febrero de 2013

Control de LEDs del MSP430 Launchpad mediante bluetooth y Android

Aún recuerdo los dolores de cabeza, que me causó el aprender a usar la comunicación serial en los microcontroladores PIC, pero ahora, no digo que soy un experto en ello, pero algo me defiendo :-D. 

En la entrada anterior se dió una breve introducción a la tarjeta de desarrollo MSP430 Launchpad de Texas Instruments. En esta ocasión, se explicará el cómo controlar los LEDs (pines P1.0 y P1.6) que trae dicha tarjeta, usando el módulo serial bluetooth HC-05 montado en una base y un teléfono con Android (Para este caso se usará el Motorola MB511 o FlipOut).

Primero identificamos las terminales RX y TX del microcontrolador a utilizar, para este caso es el MSP430G2553, que de acuerdo con las hojas de datos son los pines 3 y 4:

Y en la tarjeta MSP430 son los pines P1.1(RX) y P1.2(TX), Nota: en Fritzing los pines vienen etiquetados con las terminales del dispositivo a conectar.


Después hacemos las siguientes conexiones (no es necesario mover los jumpers del MSP430):


Clic en la imagen para expandir.

Aquí se muestra una imagen del circuito físico:

Clic en la imagen para expandir.

A continuación dejo el código fuente, que deberán cargar a la tarjeta MSP430 Launchpad usando el software Energia (como se muestra en la publicación anterior):

//////////////////////////////////////
//  Creado por: ALFA                //
//  País: México                    //
//  Página WEB: galfama.blogspot.mx //
//  Fecha: 19/02/2013               //
//////////////////////////////////////

/*  Descripción

Programa que controla el encendido/apagado de los LEDs 
(verde, rojo) usando el módulo serial bluetooth modelo HC-05, 
implementado en el MSP430 Launchpad de Texas Instruments, con el
microcontrolador MSP430G2553 a una frecuencia de reloj de de 16MHz.

Los comandos a recibir son: El 1 -enciende LED rojo, 2 -apaga LED rojo,
3 -enciende LED verde, 4 apaga -LED verde, otro caracter apaga ambos LEDs.

Nota: Para el envío de datos por bluetooth entre el dispositivo
y la tarjeta se utiliza el programa para Android BlueTerm.

*/

// Se inicializa el puerto serie a 9600 bauds
// Y la variable "valor" de tipo caracter.
// Así como los pines de los LEDs (verde, rojo), se definen como salidas.

char valor=0;

void setup()
{
  Serial.begin(9600);
  pinMode (RED_LED, OUTPUT);
  pinMode (GREEN_LED, OUTPUT);
  digitalWrite(RED_LED, LOW);//Inicialmente se apagan los LEDs.
  digitalWrite(GREEN_LED, LOW);
}

void loop()  //Bucle infinito
{
  if (Serial.available())//Si hay una caracter en el buffer serial
                         //el programa entra aquí.
 { 
  valor = Serial.read();// Se lee el valor numérico en el puerto serie.
  
  if (valor == '1')//Si el valor es 1.
  {
    digitalWrite(RED_LED, HIGH);  //Se enciende el led rojo.
    Serial.print("Led rojo encendido\r\n");//Se envía el mensaje por el puerto serie,
  }                                        //un retorno y salto de línea.
  
  else if (valor == '2')
  {
    digitalWrite(RED_LED, LOW);  //Se apaga el led rojo.
    Serial.print("Led rojo apagado\r\n");
  }
 
  else if (valor == '3')
  {
    digitalWrite(GREEN_LED, HIGH);  //Se enciende el led verde.
    Serial.print("Led verde encendido\r\n");
  }
  
  else if (valor == '4')
  {
    digitalWrite(GREEN_LED, LOW);  //Se apaga el led verde.
    Serial.print("Led verde apagado\r\n");
  }
  
  else// Si se envía un caracter distinto de 1 - 4, los leds se apagan.
  {
    digitalWrite(RED_LED, LOW);  //Se apaga el led rojo.
    digitalWrite(GREEN_LED, LOW);//Se apaga el led verde.
    Serial.print("Ambos leds apagados\r\n");
  }  
 }
}

Ahora lo que sigue es la instalación del software en el teléfono móvil con Android, para ello descargamos el BlueTerm de la tienda Google Play del siguiente enlace:

https://play.google.com/store/apps/details?id=es.pymasde.blueterm&feature=search_result#?t=W251bGwsMSwyLDEsImVzLnB5bWFzZGUuYmx1ZXRlcm0iXQ..

O usando el siguiente código QR (puedes usar el QRDroid para decodificarlo):

Después de haber instalado el BlueTerm (no lo abran aún), primero tenemos que vincular el módulo bluetooth HC-05 con el teléfono celular; para ello primero habilitamos el bluetooth y luego vamos a Configuración --> Redes inalámbricas y redes --> Configuración de Bluetooth.

Una vez allí seleccionamos la opción 1. Buscar dispositivos, una vez que aparezca el módulo HC-05 en la lista de dispositivos, 2. Lo seleccionamos y escogemos la opción "vincular", posteriormente cuando aparezca el recuadro que pide la contraseña, introducimos 1234 (que es la contraseña por defecto, que traen la mayoría de los módulos de este tipo).


¡Listo!, una vez que hemos vinculado el módulo con el teléfono ahora sí ejecutamos el BlueTerm. Y en las Preferencias podemos cambiar el color de fondo, el tamaño de la letra, etc. (Por defecto viene fondo azul, letras blancas, tamaño 8).

Texto blaco - fondo negro, tamaño de letra 20.

Ahora para enviar caracteres al módulo buetooth, seleccionamos la opción Conectarse a un dispositivo, una vez allí seleccionamos en HC-05 y listo, ya podremos enviar los caracteres 1,2,3,4 para encender/apagar los LEDs de la tarjeta MSP430 Launchpad.

A continuación dejo un video del funcionamiento del circuito:


Por último, dejo una aportación de código al blog, hecha por mi paisano Ángel Jacinto (muchas gracias). El siguiente código (el cuál está publicado, tal cual fue recibido) es un poco menos extenso que el original publicado en esta entrada, y permite encender/apagar de manera independiente los LED's  de la tarjeta MSP430 Launchpad, enviando 1 o 2 desde el teléfono celular:

//////////////////////////
// Autor: Ángel Jacinto //
// País: México         //
// Fecha: 24/05/2013    //
//////////////////////////

char valor=0;
boolean estado1, estado2; //Estado que ocuparemos, estan en boleano para poner falso o verdadero

void setup()
{
  Serial.begin(9600);
  pinMode (P1_0, OUTPUT); //LED ROJO de igual manera puede quedarse con LED_GREEN Y RED
  pinMode (P1_6, OUTPUT); //LED VERDE
  digitalWrite(P1_0, LOW);//Inicialmente se apagan los LEDs.
  digitalWrite(P1_6, LOW);
  estado1 = true; // Se inicializan como verdadero o encendido
  estado2 = true;
}

void loop()  //Bucle infinito
{
  if (Serial.available())//Si hay una caracter en el buffer serial
                         //el programa entra aquí.
 { 
  valor = Serial.read();// Se lee el valor numérico en el puerto serie.
  
  if (valor == '1')//Si el valor es 1.
  {
    digitalWrite(P1_0, estado1);  //Se enciende el led rojo.
    Serial.print("Led rojo encendido\r\n");//Se envía el mensaje por el puerto serie,
    estado1 = !estado1; //Aqui se cambia el valor del estado 1
  }                                        //un retorno de carro y salto de línea.
  
  else if (valor == '2')
  {
    digitalWrite(P1_6, estado2);  //Se enciende el led verde.
    Serial.print("Led verde encendido\r\n");
    estado2 = !estado2;
  }
  
  else// Si se envía un caracter distinto de 1 - 4, los leds se apagan.
  {
    digitalWrite(P1_0, LOW);  //Se apaga el led rojo.
    digitalWrite(P1_6, LOW);//Se apaga el led verde.
    Serial.print("Ambos leds apagados\r\n");
  }  
 }
}

¡Muchas gracias por leer esta nueva entrada!
ALF



jueves, 8 de noviembre de 2012

ElectroDroid: Recopilación de herramientas de electrónica, para teléfonos con Android.

En la actualidad, el uso de dispositivos móviles es más que evidente en la sociedad. Yo en lo personal, recomiendo el uso de dispositivos con el S.O Android, ya que hay una basta variedad de aplicaciones para este sistema en la página de Google Play.

ElectroDroid es un software desarrollado por IERO D; que le permite a los estudiantes, aficionados y profesionales en el mundo de la electrónica, tener algunas herramientas y datos técnicos a la mano cuando no se dispone de Internet pero sí de un teléfono celular con S.O. Android.





Su servidor ha probado sin problemas esta aplicación en su teléfono Motoroloa MB511 o Motoblur, del cuál dejo unas imágenes a continuación (sin presumir X-D) y una captura de la pantalla principal (realizada con el aScreenshot, es necesario tener el teléfono en modo ROOT).

Teléfono abierto.

Vista frontal.

Vista Trasera (Sin lo stickers X-D).


Pantalla principal.


Existen dos versiones de ElectroDroid, la versión Free y la versión Pro. La ventaja de la versión Pro, es que no les muestra publicidad y desbloquea algunas otras funciones especiales (las cuales no he probado). 



ElectroDroid clasifica por pestañas las herramientas que contiene, en la versión 3.1, se encuentran en la primera pestaña denominada Calculadoras:


- Código de colores de resistencias.
- Código de resistencias SMD.
- Código de color de inductores.
- Ley de Ohm.
- Calculadora de Reactancia/Resonancia.
- Filtros.
- Simulador de circuitos (Hay que instalarlo a parte)
- Divisor resistivo.
- Ratio de Resistencias.
- Valores de resistencias serie/paralelo.
- Carga de un capacitor.
- Amplificadores Operacionales.
- Resistencias para LED.
- Calculadora LM317.
- Calculadora NE555.
- Disipación de energía.
- Cálculo de vida de baterías.
- Herramienta de diseño de inductores.
- Calculadora de caída de Voltaje.
- Calculadora del ancho de pista del PCB.
- Conversor de Decibelios.
- Conversor de Frecuencias.
- Conversor Analógico - Digital.

En la segunda pestaña denominada Pin - Out, podemos encontrar los diagramas y algunas especificaciones de los siguientes conectores:


- Pin - Out del puerto USB.
- Pin - Out del puerto serie.
- Pin - Out  del puerto paralelo.
- Puerto Ethernet.
- Pin - Out Jack Registrado.
- Conector SCART
- Conector DVI
- Conector HDMI.
- Pin - out Display Port
- Pin - out del conector VGA.
- Pin - out del conector S - Video.
- Pin - out conector VESA.
- Pin - out del conector Jack.
- Pin - out del conector Firewire.
- Pin - out del conector RCA.
- Pin - out del conector XLR.
- Pin - out de conectores de alimentación ATX.
- Pin - out de conectores PC Molex.
- Pin - out de EIDE / ATA - SATA.
- Pin - out de conectores PS/2 - AT
- Código de colores de 25 pares.
- Código de colores para cables de fibra óptica.
- Pin - out MIDI.
- Pin - out MIDI / Puerto Joystick.
- Pin - out Conector Dock de 30 pines (Apple iPhone, iPod).
- Pin - out PDMI.
- Pin - out  Conector de auto OBD-II.




En la tercera pestaña, denominada Recursos, podemos encontrar lo siguiente:


- Base de datos de microcontroladores PIC.
- ICSP PIC / ISP AVR.
- ChipDB (Pin - outs de CI ).
- Tabla de resistividad.
- Calibre de alambres AWG y SWG.
- Tabla de ampacidad.
- Tabla estándar de resistencias.
- Tabla estándar de capacitores.
- Código de los condensadores.
- Símbolos esquemáticos de circuitos.
- Tamaño de empaquetados SMD.
- Simbología y abreviaciones.
- Prefijos de Unidades del SI.
- Tabla ASCII.
- Compuertas Lógicas.
- CI serie 7400.
- Información de interruptores.
- CI 78XX.
- Baterías.
- Tabla de decibelios.
- Frecuencias.

Y por último la pestaña llamada Plugins, podemos descargar complementos como: Base de Datos de Microcontroladores PIC y un Simulador de Circuitos:



Pueden bajar esta aplicación a su teléfono en el siguiente link:


O escaneando el siguiente código QR (pueden usar el QRDroid):
¡Muchas gracias por leer esta nueva entrada!

ALF

Resistencias o resistores (Conceptos básicos)

  H an pasado casi 4 años desde que publiqué la última entrada en este blog (diciembre 2014); cuando comencé con este blog en el 2011, lo h...