Añadir nuevo comentario

Bluetooth & AppInventor (1)

Español

Hoy vamos a comentar como crear app con AppInventor para la comunicación con Arduino

En esta entrada conectaremos el módulo bluetooth de Arduino del articulo anterior con el bluetooth del telefono móvil a través de una app creada con AppInventor.

Para ello crearemos primero un pequeño programa para Arduino de tal manera que al enviar una orden a través de Bluetooth realice alguna acción la placa. En nuestro caso será encender un led , que sería la acción más sencilla .

El programa que usaremos será el siguiente:

 
#include 

#define txPin 3 // definimos txpin en que pin de arduino se encuentra
#define rxPin 2 // definimos rxpin en que pin de arduino se encuentra 

SoftwareSerial bluetooth(rxPin, txPin); // el puerto nuevo de comunicacion se llamar bluetooth

char NOMBRE[10]  = "TEST1";  // asignamos un nombre a nuestro modulo bluetooth para cuando lo veamos en linea 
char BPS         = '4';           // 1=1200 , 2=2400, 3=4800, 4=9600, 5=19200, 6=38400, 7=57600, 8=115200
char PASS[10]    = "1234";   // password para realizar la conexion. Sino funciona 0000
 
char INBYTE;
int  LED = 13; // LED on pin 13 // hacemos que el led 13 de Arduino integrado nos sirva de prueba

void setup() {
  Serial.begin(9600); // velocidad de la comunicacion entre arduino y ordenador 
 Serial.println("Estoy preparado"); //mensaje de comprobacion
   pinMode(LED, OUTPUT);
  bluetooth.flush();            // Borramos el buffer del serial para evitar errores
  pinMode(rxPin, INPUT);     // Configuramos los pines del bluetooth 
  pinMode(txPin, OUTPUT);
  bluetooth.begin(9600);  // marcamos la velocidad del puerto bluetooth 

}
 
void loop()
{
  while (!bluetooth.available());   // mientras el puerto este disponible ejecuta el programa
  INBYTE = bluetooth.read();        // lee la comunicacion bluetooth
  if( INBYTE == '2' ) 
    {
      digitalWrite(LED, LOW);  // si pulsas el numero 3 escribe en el led apagado

      bluetooth.println("Has presionado 2"); //muestra en el ordenador que tecla se ha pulsado
    }
  if( INBYTE == '1' ) 
  {
    digitalWrite(LED, HIGH); // si pulsas el numero 4 escribe led encendido
    bluetooth.println("Has presionado 1");
  }
  delay(50);
  
}
 

La líniea "if INBYTE ==…. then …" nos indica que pasará si se pulsa 1 o 2 , en nuestro caso si pulsamos el botón de la app ON o OFF enviamos ese caracter a través de Bluetooth. 

(Descarga del programa)

Una vez tenemos claro el programa vamos a crear la app. Accedemos a AppInventor nuevo proyecto y colocaremos dos botones, uno para la activación del LED (ON) y otro para la desactivación (OFF)

Seguidamente cambiaremos el nombre de los botones (opcional)

Colocamos los botones de alineados horizontalmente

Añadimos la "lista" del botón conexión, el cual cambiará de color al realizar la conexión bluetooth (es por ello que no es un simple botón)

Añadimos el Bluetooth (nos aparece como elemento externo a la pantalla en la parte inferior)

Después de esto accedemos al apartado de bloques (parte superior derecha) para poder "programar" nuestra app

Este es el bloque de programación del Bluetooth . En el podemos ver como comprobamos la conexión Bluetooth y si es correcta el "botón" de Bluetooth nos aparecerá en azul. 

Estos dos bloques inferiores son el envio del caracter "1" y el caracter "2" para la activación del LED de la placa Arduino. Como veis podemos enviar cualquier caracter, así que añadir mas funciones a la placa de Arduino nos resultará bastante sencillo.

Una vez seguidos estos pasos crearemos el codigo QR , o descargaremos la app como más nos convenga :

Al ejectutar la app en el telefono pulsaremos el botón "conexión" y veremos que aparece la MAC del bluetooth y realiza la conexión (previo código 1234 o 1111 normalmente) . El led rojo del módulo bluetooth dejará de parpadear indicando que ha realizado la conexión.

Probaremos los botones de ON y OFF y veremos como se enciende y se apaga el led de la placa Arduino.

Y ya está, ya tenemos nuestra primera app y el control ON/OFF de un led en Arduino.

 

Un saludo y hasta la próxima.

Plain text

  • No se permiten etiquetas HTML.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Saltos automáticos de líneas y de párrafos.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.