- Componentes necessários
- Diagrama de circuito
- Comunicação Bluetooth usando a janela de comando MATLAB
- Comunicação Bluetooth usando MATLAB GUI
Bluetooth é o protocolo mais simples e popular para comunicação sem fio de curto alcance em sistemas embarcados. O Bluetooth não é usado apenas para transferir os dados de um dispositivo para outro, mas também para controlar os dispositivos sem fio. Quase todos os aparelhos eletrônicos têm suporte para Bluetooth hoje em dia, então é uma escolha inteligente ter a opção de controle de Bluetooth em seu aplicativo embutido.
Aqui neste tutorial, aprenderemos como usar o Bluetooth no MATLAB para se comunicar sem fio. Usaremos o Bluetooth embutido no computador com MATLAB de um lado e o HC-05 com Arduino do outro. Existem duas maneiras de configurar a comunicação entre o MATLAB e o Arduino via Bluetooth, uma é usando a janela de comando e a outra usando MATLAB GUI. O código do Arduino para ambos os métodos permanecerá o mesmo. Se você é novo no MATLAB, então é recomendável começar com o programa simples de piscar de LED com MATLAB e aprender a terminologia básica usada no MATLAB. Você pode explorar mais projetos MATLAB:
- Comunicação serial entre MATLAB e Arduino
- Controle de motor DC usando MATLAB e Arduino
- Controle de motor de passo usando MATLAB e Arduino
- Primeiros passos com processamento de imagens usando MATLAB
Componentes necessários
- Laptop instalado com MATLAB (preferência: R2016a ou versões superiores)
- Arduino UNO
- Módulo Bluetooth (HC-05)
- LED (qualquer cor)
- Resistor (330 ohm)
- Jumper Wires
Para saber mais sobre o HC-05 e sua interface com o Arduino, consulte os artigos a seguir.
- Servo motor controlado por Bluetooth usando Arduino
- LEDs controlados por voz usando Arduino e Bluetooth
- AC controlado por telefone celular usando Arduino e Bluetooth
Diagrama de circuito
Esquemas para comunicação Bluetooth entre MATLAB e Arduino são fornecidos abaixo:
Comunicação Bluetooth usando a janela de comando MATLAB
Este é o método simples para configurar a comunicação Bluetooth entre o Arduino e o MATLAB. Aqui, o MATLAB usa o bluetooth do laptop para conectar o HC-05 conectado ao Arduino. Primeiro, temos que codificar o Arduino para ler os dados de entrada em série vindos do MATLAB (usando o Bluetooth do laptop).
Então, esses dados transmitidos por Bluetooth do MATLAB podem ser usados para controlar qualquer coisa conectada ao Arduino. Aqui , conectamos um LED ao Arduino que pode ser controlado a partir do LAPTOP usando o MATLAB.
Primeiro, carregue o código do Arduino fornecido no Arduino UNO e depois comece a codificar na janela de comando do MATLAB.
#incluir
Em seguida, copie e cole o código MATLAB abaixo na janela de comando para comunicação Bluetooth entre o MATLAB e o Arduino.
instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
No código a seguir, o comando fprintf (bt, '0') é usado para desligar o LED enviando '0' para o Arduino. Agora, se você quiser ligar o LED, basta enviar '1' em vez de '0' usando o comando abaixo.
fprintf (bt, '1');
Para verificar as informações sobre o hardware disponível, use o comando abaixo
instrhwinfo ('tipo', 'Nome do dispositivo');
Para abrir a porta bluetooth, o comando abaixo é usado
fopen (bt);
Confira o vídeo abaixo para entender o processo completo de envio de dados do MATLAB para o Arduino usando Bluetooth.
Comunicação Bluetooth usando MATLAB GUI
Para demonstrar a comunicação Bluetooth usando MATLAB GUI, iremos criar três botões gráficos no MATLAB para ligar, desligar e piscar o LED conectado ao Arduino. Os dados serão enviados via bluetooth do MATLAB para o HC-05 ao clicar nesses botões gráficos. O Arduino contém o código para receber os dados transmitidos por Bluetooth do MATLAB para o HC-05 e controlar o LED de acordo com os dados recebidos. O código do Arduino permanecerá igual ao anterior, a única diferença é que, anteriormente estávamos enviando os dados '1' e '0' através da janela de comando do MATLAB, e agora os mesmos dados serão enviados ao clicar em três botões gráficos.
Para iniciar a GUI, digite o comando abaixo na janela de comando
guia
Uma janela pop-up será aberta, selecione uma nova GUI em branco, conforme mostrado na imagem abaixo,
Agora escolha três botões para ligar, desligar e piscar o LED, como mostrado abaixo,
Para redimensionar ou alterar a forma dos botões, basta clicar sobre ele e você poderá arrastar os cantos do botão. Ao clicar duas vezes no botão, você pode alterar a cor, a string e a marca desse botão específico. Nós personalizamos três botões como mostrado na imagem abaixo.
Você pode personalizar os botões de acordo com sua escolha. Agora, ao salvar isso, um código será gerado na janela do Editor do MATLAB. Edite este código de acordo com a tarefa que você deseja executar por seu Arduino ao receber dados Bluetooth usando a interface do MATLAB. Abaixo, editamos o código MATLAB. Você pode aprender mais sobre a janela de comando, janela do editor etc. no tutorial de Introdução ao MATLAB.
O código MATLAB completo, para controlar o LED do MATLAB via Bluetooth, é fornecido no final deste projeto. Além disso, estamos incluindo o arquivo GUI (.fig) e o arquivo de código (.m) aqui para download, usando o qual você pode personalizar os botões de acordo com sua necessidade. Abaixo estão alguns ajustes que fizemos para controlar o LED conectado ao Arduino.
Copie e cole o código abaixo na linha no. 74 para configurar ou conectar o MATLAB ao Bluetooth do Laptop.
limpar tudo; global bt; instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
onde, fopen (bt) é usado para abrir a porta Bluetooth para transmissão de dados.
Agora, ao rolar para baixo, você verá que há três funções criadas para três botões na GUI. Agora escreva o código nas funções de acordo com a tarefa que deseja executar no clique.
Na função do botão LED ON , copie e cole o código abaixo antes de terminar a função para ligar o LED. No código abaixo, fprintf (bt, '1') é usado para enviar '1' do MATLAB para o HC-05 usando o Bluetooth do laptop. Arduino receberá esses dados '1' através HC-05 e brilho do LED, fazendo seu 11 º ALTA pinos.
global bt; fprintf (bt, '1');
Na função do botão LED OFF , copie e cole o código abaixo antes de terminar a função para desligar o LED. No código abaixo, fprintf (bt, '0') é usado para enviar '0' do MATLAB para o HC-05 usando o Bluetooth do laptop. Arduino receberá '0' a HC-05 e desligar o LED, fazendo seu 11 º pino LOW.
global bt; fprintf (bt, '0');
Na função do botão BLINK , use o código abaixo para piscar o LED. Um para loop é usado para piscar o LED 10 vezes.
global bt; para i = 1:10 fprintf (bt, '1'); pausa (0,5); fprintf (bt, '0'); pausa (0,5); fim
Depois de concluir a codificação MATLAB GUI e configurar o hardware de acordo com o diagrama de circuito, basta clicar no botão Executar para executar o código editado no arquivo.m.
O MATLAB pode levar alguns segundos para responder, não clique em nenhum botão da GUI até que o MATLAB mostre a indicação BUSY, que você pode ver no canto inferior esquerdo da tela, conforme mostrado abaixo,
Quando tudo estiver pronto, clique no botão LED-ON, LED OFF e BLINK para ligar, desligar e piscar o LED respectivamente. Todos os arquivos de código para este projeto podem ser baixados aqui ou você pode usar o código fornecido abaixo.
Confira o vídeo abaixo para entender o processo completo de envio de dados do MATLAB para o Arduino via Bluetooth usando MATLAB GUI.