- Componentes requeridos
- Diagrama de circuito
- Comunicación Bluetooth mediante la ventana de comandos de MATLAB
- Comunicación Bluetooth mediante MATLAB GUI
Bluetooth es el protocolo más simple y popular para la comunicación inalámbrica de corto alcance en sistemas integrados. Bluetooth no solo se usa para transferir datos de un dispositivo a otro, sino que también se usa para controlar los dispositivos de forma inalámbrica. Casi todos los dispositivos electrónicos tienen soporte para Bluetooth en la actualidad, por lo que es una buena elección tener la opción de control de Bluetooth en su aplicación integrada.
Aquí, en este tutorial, aprenderemos cómo usar Bluetooth en MATLAB para comunicarnos de forma inalámbrica. Usaremos el Bluetooth integrado de la computadora con MATLAB en un lado y HC-05 con Arduino en el otro lado. Hay dos formas de configurar la comunicación entre MATLAB y Arduino a través de Bluetooth, una usando la ventana de comandos y la otra usando MATLAB GUI. El código Arduino para ambos métodos seguirá siendo el mismo. Si es nuevo en MATLAB, se recomienda comenzar con un programa simple de parpadeo de LED con MATLAB y aprender la terminología básica utilizada en MATLAB. Puede explorar más proyectos de MATLAB:
- Comunicación en serie entre MATLAB y Arduino
- Control de motores de CC mediante MATLAB y Arduino
- Control de motor paso a paso usando MATLAB y Arduino
- Introducción al procesamiento de imágenes con MATLAB
Componentes requeridos
- Laptop instalada en MATLAB (preferencia: R2016a o versiones superiores)
- Arduino UNO
- Módulo Bluetooth (HC-05)
- LED (cualquier color)
- Resistencia (330 ohmios)
- Cables de puente
Para obtener más información sobre HC-05 y su interfaz con Arduino, consulte los siguientes artículos.
- Servomotor controlado por Bluetooth usando Arduino
- LEDs controlados por voz usando Arduino y Bluetooth
- CA controlada por teléfono celular usando Arduino y Bluetooth
Diagrama de circuito
Los esquemas para la comunicación Bluetooth entre MATLAB y Arduino se muestran a continuación:
Comunicación Bluetooth mediante la ventana de comandos de MATLAB
Este es el método simple para configurar la comunicación Bluetooth entre Arduino y MATLAB. Aquí, MATLAB usa el bluetooth de la computadora portátil para conectar el HC-05 conectado con Arduino. Primero tenemos que codificar el Arduino para leer los datos entrantes en serie provenientes de MATLAB (usando el Bluetooth de la computadora portátil).
Entonces, estos datos transmitidos por Bluetooth desde MATLAB se pueden usar para controlar cualquier cosa conectada al Arduino. Aquí hemos conectado un LED a Arduino que se puede controlar desde el PORTÁTIL usando MATLAB.
Primero, cargue el código Arduino dado en Arduino UNO y luego comience a codificar en la ventana de comandos de MATLAB.
#incluir
Luego, copie y pegue el siguiente código MATLAB en la ventana de comandos para la comunicación Bluetooth entre MATLAB y Arduino.
instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
En el siguiente código, el comando fprintf (bt, '0') se usa para apagar el LED enviando '0' al Arduino. Ahora, si desea encender el LED, simplemente envíe '1' en lugar de '0' utilizando el siguiente comando.
fprintf (bt, '1');
Para verificar la información sobre el hardware disponible, use el siguiente comando
instrhwinfo ('tipo', 'Nombre del dispositivo');
Para abrir el puerto bluetooth, debajo del comando usado
fopen (bt);
Vea el video a continuación para comprender el proceso completo de envío de datos de MATLAB a Arduino usando Bluetooth.
Comunicación Bluetooth mediante MATLAB GUI
Para demostrar la comunicación Bluetooth usando MATLAB GUI, crearemos tres botones gráficos en MATLAB para encender, apagar y hacer parpadear el LED conectado al Arduino. Los datos se enviarán vía bluetooth desde MATLAB al HC-05 al hacer clic en esos botones gráficos. Arduino contiene el código para recibir los datos transmitidos por Bluetooth desde MATLAB al HC-05 y controlar el LED según los datos recibidos. El código de Arduino seguirá siendo el mismo que el anterior, la única diferencia es que antes estábamos enviando los datos '1' y '0' a través de la ventana de comandos de MATLAB, y ahora se enviarán los mismos datos al hacer clic en tres botones gráficos.
Para iniciar la GUI, escriba el siguiente comando en la ventana de comandos
guía
Se abrirá una ventana emergente, luego seleccione una nueva GUI en blanco como se muestra en la imagen de abajo,
Ahora elija tres botones para encender, apagar y hacer parpadear el LED, como se muestra a continuación,
Para cambiar el tamaño o cambiar la forma de los botones, simplemente haga clic en él y podrá arrastrar las esquinas del botón. Al hacer doble clic en el botón pulsador, puede cambiar el color, la cuerda y la etiqueta de ese botón en particular. Hemos personalizado tres botones como se muestra en la imagen de abajo.
Puede personalizar los botones según su elección. Ahora, cuando guarde esto, se generará un código en la ventana del Editor de MATLAB. Edite este código de acuerdo con la tarea que desea realizar con su Arduino al recibir datos de Bluetooth usando la GUI de MATLAB. Entonces, a continuación, hemos editado el código MATLAB. Puede obtener más información sobre la ventana de comandos, la ventana del editor, etc.en el tutorial Introducción a MATLAB.
El código completo de MATLAB, para controlar LED desde MATLAB a través de Bluetooth, se proporciona al final de este proyecto. Además, incluimos el archivo GUI (.fig) y el archivo de código (.m) aquí para descargar, con el cual puede personalizar los botones según sus necesidades. A continuación se muestran algunos ajustes que hicimos para controlar el LED conectado con Arduino.
Copie y pegue el siguiente código en la línea no. 74 para configurar o conectar MATLAB al Bluetooth del portátil.
limpiar todo; bt global; instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
donde, fopen (bt) se usa para abrir el puerto Bluetooth para transmitir datos.
Ahora, cuando se desplaza hacia abajo, verá que hay tres funciones creadas para tres botones en la GUI. Ahora escriba el código en las funciones de acuerdo con la tarea que desea realizar al hacer clic.
En la función del botón LED ON , copie y pegue el siguiente código justo antes del final de la función para encender el LED. En el siguiente código, fprintf (bt, '1') se usa para enviar '1' desde MATLAB a HC-05 usando el Bluetooth de la computadora portátil. Arduino recibirán estos datos '1' a través de HC-05 y el brillo del LED, haciendo su 11 º pin a nivel alto.
bt global; fprintf (bt, '1');
En la función del botón LED OFF , copie y pegue el siguiente código justo antes del final de la función para apagar el LED. En el siguiente código, fprintf (bt, '0') se usa para enviar '0' desde MATLAB a HC-05 usando el Bluetooth de la computadora portátil. Arduino recibirán '0' al HC-05 y apague el LED al hacer su 11 º BAJA alfiler.
bt global; fprintf (bt, '0');
En la función del botón BLINK , use el siguiente código para hacer parpadear el LED. Se utiliza un bucle for para hacer parpadear el LED 10 veces.
bt global; para i = 1:10 fprintf (bt, '1'); pausa (0,5); fprintf (bt, '0'); pausa (0,5); fin
Después de completar la codificación de la GUI de MATLAB y configurar el hardware de acuerdo con el diagrama de circuito, simplemente haga clic en el botón Ejecutar para ejecutar el código editado en el archivo.m.
MATLAB puede tardar unos segundos en responder, no haga clic en ningún botón de la GUI hasta que MATLAB muestre la indicación OCUPADO, que puede ver en la esquina inferior izquierda de la pantalla como se muestra a continuación.
Cuando todo esté listo, haga clic en los botones LED-ON, LED OFF y BLINK para encender, apagar y hacer parpadear el LED respectivamente. Todos los archivos de código para este proyecto se pueden descargar desde aquí o puede usar el código que se proporciona a continuación.
Vea el video a continuación para comprender el proceso completo de envío de datos de MATLAB a Arduino a través de Bluetooth usando MATLAB GUI.