Cómo controlar los LED mediante la aplicación MIT Inventor y Bluetooth

En un tutorial anterior analizamos MIT App Inventor, una popular plataforma en línea para crear aplicaciones móviles mediante programación visual. La plataforma es útil para crear rápidamente prototipos de aplicaciones de Internet de las cosas (IoT) y sistemas integrados simples que interactúan con dispositivos móviles.

Ya hemos revisado la arquitectura y la interfaz de usuario de la plataforma. Su plataforma de programación visual es ideal para crear aplicaciones móviles para principiantes e intermedios que interactúen a través de Wi-Fi o Bluetooth.

Ahora utilizaremos la APLICACIÓN MIT para el desarrollo de aplicaciones móviles, integrando nuestra nueva aplicación con la electrónica integrada. En este tutorial, controlaremos una luz LED usando Arduino y una aplicación móvil desarrollada con MIT App Inventor. La aplicación móvil se comunicará con Arduino a través de Bluetooth utilizando el módulo Bluetooth HC-05.

Para comenzar, crearemos una aplicación móvil y transmitiremos datos desde ella al Arduino mediante Bluetooth. A continuación, aprenderemos cómo se pueden utilizar los datos recibidos a través de Bluetooth para manipular el circuito Arduino.

Creación de aplicaciones electrónicas y de IoT controladas por dispositivos móviles
A la hora de diseñar el circuito y el firmware del dispositivo IoT, también debemos considerar la aplicación móvil. La aplicación es la interfaz o medio que utilizaremos para controlar un dispositivo IoT o acceder a sus recursos inalámbricos. Por lo tanto, es importante evaluar cómo interactuará el microcontrolador con nuestra aplicación.

Por ejemplo, ¿cómo se conectará el microcontrolador a la aplicación móvil? ¿Qué datos se intercambiarán? ¿A qué recursos de IoT se accederá? El desarrollo de aplicaciones móviles va de la mano con el desarrollo de firmware. Como resultado, el firmware del microcontrolador debe diseñarse de acuerdo con las interacciones previstas con la aplicación móvil.

Además, es fundamental descubrir la funcionalidad de la aplicación móvil. ¿Qué quiere que controle en términos del dispositivo IoT? ¿Y cómo se comportará su interfaz de usuario? Una vez que tenemos clara la funcionalidad de la aplicación y la interfaz de usuario, debemos determinar la lógica de la aplicación. El dispositivo IoT comunicará datos a la aplicación móvil, o la aplicación móvil transmitirá algunos datos al dispositivo. En cada escenario, es necesario determinar el tipo y el rango de datos y operaciones que se realizarán.

Al construir aplicaciones electrónicas o de IoT que serán controladas a través de una aplicación móvil, debemos:

1. Diseñar el circuito del dispositivo IoT.
2. Programe el firmware del dispositivo considerando su interacción con la aplicación móvil.
3. Cree la interfaz de la aplicación móvil.
4. Desarrollar una lógica de aplicaciones móviles basada en la interacción del dispositivo.
5. Pruebe el dispositivo y todas sus interacciones con la aplicación móvil.
Al utilizar MIT App Inventor, la interacción de la aplicación móvil con el microcontrolador se realizará a través de Bluetooth o Wi-Fi.

Componentes necesarios
Para construir el circuito para esta aplicación, necesitará los siguientes componentes.

  1. Arduino UNO/Arduino MEGA x1
  2. LEDx1
  3. Resistencia de 330Ω x1
  4. Módulo Bluetooth HC05 x1
  5. Placa de pruebas x1
  6. Cables de conexión o cables Dupont
  7. Un teléfono inteligente

Conectando el circuito
Primero, debemos ensamblar el circuito del dispositivo IoT. Empezaremos conectando un LED al Arduino para que pueda suministrar corriente a la luz. Para hacer esto, conecte el ánodo del LED al pin GPIO2 del Arduino y conecte el cátodo del LED a tierra a través de una resistencia en serie de 330 ohmios.

Como queremos controlar el LED, necesitaremos crear una forma para que Arduino se comunique con nuestra aplicación móvil. El Arduino puede comunicarse con la aplicación (que está en un teléfono inteligente) a través de Bluetooth o Wi-Fi. Nosotros usaremos Bluetooth.

También utilizamos Arduino UNO (o Arduino MEGA), que no tiene funciones Bluetooth o Wi-Fi integradas. Entonces, necesitamos conectar el módulo Bluetooth HC-05 con Arduino para que pueda comunicarse con nuestra aplicación. Para interconectar el módulo Bluetooth HC-05 con Arduino, conecte los pines RX y TX del módulo HC05 con el TX (GPIO1) y RX (GPIO0) del Arduino, respectivamente. Conecte los pines VCC y GND del módulo HC05 con los pines de salida de 5V y tierra del Arduino, respectivamente.

Diagrama de circuito

Programando el microcontrolador
A la hora de programar el microcontrolador debemos considerar la interacción de la aplicación móvil con el dispositivo IoT. La aplicación encenderá o apagará el LED en el Arduino.

La aplicación móvil debe enviar un valor de datos '1' a través de Bluetooth cada vez que un usuario enciende el LED y enviar un valor de datos '0' a través de Bluetooth cada vez que un usuario apaga el LED.

El firmware del microcontrolador “buscará” un valor de datos de entrada o un comando de la aplicación Bluetooth y configurará la salida digital en el pin dependiendo de si el LED está cableado en ALTO o BAJO (según el valor de entrada).

Tenga en cuenta que la lógica de la aplicación del firmware depende completamente del diseño del circuito. Dado que el LED está conectado de tal manera que el Arduino suministra corriente, debemos configurar el pin ALTO para encender el LED y el pin BAJO para apagar el LED.

el boceto

carácter de comando = 0;

configuración vacía {
Serie.begin(9600);
pinMode(2, SALIDA);
}

bucle vacío {
if(Serie.disponible > 0){
comando = Serie.leer;
Serial.print(“Comando recibido por Buetooth: “);
Serial.println(comando);
if(comando == '1'){digitalWrite(2, ALTO); Serial.println(“LED ENCENDIDO”);}
else if(comando == '0'){digitalWrite(2, ABAJO); Serial.println(“LED APAGADO”);}
}
}

Cargue este boceto antes de realizar las conexiones del circuito o retire las conexiones VCC y GND del Arduino con el HC05 mientras carga el boceto. De lo contrario, puede encontrar un error porque el mismo puerto UART se comparte entre la computadora y el módulo Bluetooth HC05.

Creación de una aplicación con MIT App Inventor
La aplicación móvil requiere dos funciones para controlar correctamente el LED del Arduino. Uno debe conectarse al Arduino vía Bluetooth y el otro debe encender y apagar el LED.

Para crear la aplicación, inicie sesión en la plataforma MIT App Inventor y cree un nuevo proyecto navegando a Proyectos->Iniciar nuevo proyecto.

Asigne al proyecto un nombre como 'LEDOnOff' o 'LEDControlBluetooth' y haga clic en Aceptar.

Al crear un nuevo proyecto, verá una pantalla en blanco. Seleccione la pantalla y cambie su título para indicar el propósito de la aplicación.

Ahora necesitaremos crear la interfaz de usuario de nuestra aplicación móvil. La interfaz de usuario permite a los usuarios conectarse a Arduino mediante Bluetooth para controlar el LED.

En primer lugar, debemos seleccionar un dispositivo Bluetooth para conectarnos. Esto se proporciona a través de un elemento ListPicker. Seleccione ListPicker en la pestaña 'Interfaz de usuario' y arrástrelo y suéltelo en Pantalla1.

Establezca el tamaño de fuente de ListPicker en 24 puntos, aumente el ancho para llenar el texto principal y cambie su texto a 'Seleccionar dispositivo Bluetooth'.

Se necesitan dos botones para controlar el LED: uno para encenderlo y otro para apagarlo. Estos botones se pueden configurar en disposición horizontal. Seleccione 'Disposición horizontal' en la pestaña 'Diseño'. Arrastra y suelta en la pantalla.

Arrastre y suelte dos botones en 'HorizontalArragement'.

Cambie el color de fondo del Botón1 a Verde, establezca el tamaño de fuente en 24 puntos, cambie el ancho al 50% del principal y cambie el texto a "ON".

Cambie el color de fondo de Button2 a Rojo, establezca el tamaño de fuente en 24 puntos, cambie el ancho al 50% del principal y cambie el texto a "DESACTIVADO".

Necesitaremos un Cliente Bluetooth en la pantalla para habilitar una conexión Bluetooth. Seleccione 'Cliente Bluetooth' en la pestaña 'Conectividad'. Arrastra y suelta en la pantalla.

El Cliente Bluetooth aparece como un elemento invisible en la interfaz de usuario. Esto completa la interfaz de usuario de nuestra aplicación móvil. Tiene un ListPicker para conectarse a un dispositivo Bluetooth (es decir, Arduino) y dos botones en disposición horizontal para encender y apagar el LED.

Ahora es el momento de diseñar la lógica de nuestra aplicación móvil a través de programación visual. Haga clic en el botón "Bloques" en la esquina superior derecha. Debemos implementar la siguiente lógica en la aplicación.

Ahora es el momento de diseñar la lógica de la aplicación móvil mediante programación visual. Haga clic en el botón "Bloques" en la esquina superior derecha. Debería seguir esta lógica:

  • Complete una lista de dispositivos Bluetooth disponibles en ListPicker para la selección del usuario.
  • Después de que un usuario selecciona un dispositivo Bluetooth, la aplicación debe conectarse inmediatamente a ese dispositivo Bluetooth seleccionado.
  • Cuando se hace clic en el Botón1, la aplicación transmite un comando para encender el LED (un valor de datos de '1' en nuestro caso).
  • Cuando se hace clic en el Botón2, la aplicación transmite el comando para apagar el LED (un valor de datos de '2' en nuestro caso).

Para completar ListPicker con dispositivos Bluetooth disponibles, haga clic en ListPicker en la pestaña "Bloques" y seleccione "Cuando ListPicker1 antes de elegir". Arrástrelo al Visor.

Seleccione 'Establecer ListPicker1.Elements en' en 'ListPicker' y arrástrelo al Visor en 'Cuando ListPicker1 antes de seleccionar'. Luego seleccione 'BleutoothClient1.AddressesandNames' en 'BluetoothClient1' y arrástrelo a 'Set ListPicker1.Elements To'.

Para conectarse al dispositivo Bluetooth seleccionado, arrastre y suelte 'When ListPicker1.AfterPicking' desde 'ListPicker1' en el Visor. Arrastre y suelte 'Establecer ListPicker1.selection como' desde 'ListPicker1' hasta 'Cuando ListPicker1.AfterPicking'. Arrastre y suelte 'Llamar a BluetoothClient1.Connect Address' en 'Establecer ListPicker1.selection como'.

Para cambiar la prueba ListPicker a 'Conectado', arrastre y suelte 'Establecer ListPicker1.Text To' en 'Cuando ListPicker1.AfterPicking'. Arrastre y suelte 'Texto' desde 'Texto' hasta 'Establecer ListPicker1.Text To' y establezca el texto en 'Conectado'.

Para encender el LED al hacer clic en el Botón1, arrastre y suelte 'Cuando el Botón1 haga clic' en el Visor. Luego, arrastre y suelte 'Llamar a BluetoothClient.1 Enviar texto de texto' en 'Cuando el botón 1.haga clic'. Finalmente, arrastre y suelte el texto desde 'Texto' y configúrelo en '1'.

Para apagar el LED haciendo clic en el Botón2, arrastre y suelte 'Cuando el Botón2 haga clic' en el Visor. Luego, arrastre y suelte 'Llamar a BluetoothClient.1 Enviar texto de texto' en 'Cuando haga clic en el botón 2'. Arrastre y suelte el texto desde 'Texto' y configúrelo en '0'.

Con esto concluye la programación de nuestra aplicación móvil.

Probando la aplicación
Construimos el circuito de nuestro dispositivo, programamos el Arduino para interactuar con la aplicación móvil y completamos nuestra aplicación usando MIT App Inventor. Ahora es el momento de probar nuestra aplicación.

Para hacer esto, instale MIT App Companion en su teléfono inteligente. En MIT App Inventor, navegue hasta Conectar->AI Companion. Aparecerá una ventana que le pedirá que escanee un código QR o ingrese un código para iniciar la aplicación en MIT App Companion.

Abra MIT App Companion en su teléfono inteligente y escanee el código QR o ingrese el código presentado para iniciar la aplicación.

¡Ahora puedes interactuar con tu aplicación! Primero seleccione el dispositivo Bluetooth. Después de conectarse al Arduino a través de Bluetooth, toque los botones 'ON' y 'OFF' para asegurarse de que funcionen y encienda y apague el LED.

La aplicación móvil que controla el LED se muestra en el siguiente vídeo.

Conclusión
Es bastante rápido y sencillo crear aplicaciones móviles con MIT App Inventor. Es una plataforma útil para crear aplicaciones que pueden interactuar con dispositivos electrónicos y de IoT. Comience siempre diseñando el circuito de su dispositivo según los requisitos de la aplicación. Luego, codiseña el firmware del microcontrolador y la aplicación móvil en función de la interacción prevista entre el dispositivo y la aplicación. ¡Divertirse!

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.