fbpixel
Etiquetas: , , , , ,
4.5
(2)

Aprende cómo crear una aplicación para Android de manera muy simple usando App Inventor 2.

En los campos de la robótica y los objetos conectados, una de las características más interesantes de implementar es el control remoto de un proyecto electrónico. Ya sea para mostrar las mediciones desde tu casa o para conducir un dron, una posible solución es desarrollar una aplicación de teléfono inteligente y comunicarse con un microcontrolador mediante una conexión Bluetooth. Esta aplicación se puede crear rápidamente usando el software en línea de MIT, App Inventor 2 (AI2).

Material

  • Ordenador
  • Smartphone Android con una aplicación de lector de código QR
  • Arduino UNO
  • Bluetooth HC-06
  • Cable Dupont F/M

Creación de la aplicación AI2

En este ejemplo, creamos una aplicación para habilitar una función (ON / OFF) y recuperar una medición de sensor de una placa Arduino. Este tutorial se puede aplicar para muchas otras aplicaciones.
Registrate en el sitio web App Inventor 2.

Crear un nuevo proyecto myApp

Aparece la pantalla de diseño del proyecto.

Configuracion de la aplicación AI2

Para crear el diseño de nuestra aplicación, utilizamos los objetos disponibles en las pestañas en el menú desplegable a la izquierda de la pantalla y modificamos sus parámetros que aparecen a la derecha de la pantalla.

En la interfaz del usuario, agregue un objeto de etiqueta y cámbiele el nombre a titleLbl. Contendrá el título de la aplicación myApp.

En el diseño, agregue un objeto VerticalArrangement que alinee los objetos verticalmente.

En el objeto VerticalArrangement, coloque una etiqueta btStatusLbl y luego un ListPicker btBtn que se usará para administrar la conexión Bluetooth.

Luego, agregue una etiqueta sensorLbl que contendrá el valor recibido de la placa Arduino.

Agregue un arreglo horizontal que le permita organizar y alinear objetos horizontalmente y que contendrá los botones para activar la función Arduino.

En el arreglo horizontal, agregue dos botones onBtn y offBtn.

Finalmente, en Conectividad, agregue un objeto BluetoothClient que nos permita interactuar con el dispositivo Bluetooth.

Y en Sensor, agregue dos objetos Reloj, que recibirán y enviarán datos en un intervalo de tiempo regular.

Puede personalizar su aplicación a su gusto utilizando diferentes colores, fuentes o imágenes.

Programación de la Aplicación AI2

Para programar la aplicación, AI2 propone utilizar el Scratch lo que hace posible crear un programa en forma de diagrama de bloques. Muy fácil de usar pero requiere cierta lógica de programación.
Todas las funciones están disponibles haciendo clic en los objetos en el menú desplegable a la izquierda de la pantalla. Explore las funciones de los objetos que ha agregado a la aplicación, así como las de los objetos de Variables, Texto, Matemáticas y Control que usaremos.

Cree una lista de los módulos Bluetooth disponibles en el dispositivo.

Gestione el establecimiento de la conexión y cambie el estado según la conexión.

Se define una variable global “comando” para mantener en la memoria el valor dado por el último botón presionado (ON u OFF).

Enviamos el valor de la variable de comando a través de Bluetooth, si está conectado, con una frecuencia definida por el objeto Clock1.

Para recuperar el valor del sensor enviado desde Arduino, verificamos si los datos están disponibles en el búfer con una frecuencia definida por Clock2. Luego mostramos este valor en sensorLbl.

Código completo

Una vez colocados y configurados todos los bloques en la interfaz, el código debería tener el siguiente aspecto.

Compila y comparte tu aplicación

Una vez que este programa en Scratch esté configurado correctamente y no se muestren errores, consiga una aplicación de lector de código QR y compile el programa utilizando la función Build & gt; Aplicación (proporcionar código QR para .apk)

Una vez que se haya generado el código QR, puede descargar e instalar la aplicación en su teléfono inteligente.

Puede compartir el instalador .APK para que otros puedan instalar su aplicación en un teléfono Android. Además, puede compartir su proyecto como un archivo AIA para que otros puedan usar y modificar su aplicación.
Exportar para crear el archivo AIA correspondiente en su computadora

Importar para abrir un archivo AIA en la aplicación en línea y editar el proyecto

Código Arduino

Aquí está el código para cargar en la placa Arduino para recibir y enviar datos al puerto serie.

#include <SoftwareSerial.h>

SoftwareSerial hc06(2,3);

String cmd="";
float sensor_val=0;

void setup(){
  //Initialize Serial Monitor
  Serial.begin(9600);
  //Initialize Bluetooth Serial Port
  hc06.begin(9600);
}

void loop(){
  //Read data from HC06
  while(hc06.available()>0){
    cmd+=(char)hc06.read();
  }

  //Select function with cmd
  if(cmd!=""){
    Serial.print("Command recieved : ");
    Serial.println(cmd);
    // We expect ON or OFF from bluetooth
    if(cmd=="ON"){
        Serial.println("Function is on");
    }else if(cmd=="OFF"){
        Serial.println("Function is off");
    }else{
        Serial.println("Function is off by default");
    }
    cmd=""; //reset cmd
  }
  // Simulate sensor measurement
  sensor_val=(float)random(256); // random number between 0 and 255
    
  //Write sensor data to HC06
  hc06.print(sensor_val);
  delay(100);
}


Resultado

Podemos habilitar y deshabilitar la función del Arduino y recibir datos de un sensor en la aplicación

No dude en dejar un comentario o contactarnos Si necesita ayuda para crear su aplicación o si cree que falta información en este tutorial.

Applications

Sources

Encuentre otros tutoriales y ejemplos en el generador de código automático
Arquitecto de Código

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 4.5 / 5. Recuento de votos: 2

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?