- Criação da interface gráfica do usuário MATLAB para controlar o motor DC
- Código MATLAB para controlar o motor DC com Arduino
- Material Necessário
- Diagrama de circuito
- Controlando Motor DC com MATLAB
Neste tutorial, mostraremos como controlar o motor DC usando MATLB e Arduino. Se você é novo no MATLAB, é recomendável começar com o programa simples de piscar de LED com MATLAB.
Criação da interface gráfica do usuário MATLAB para controlar o motor DC
Após terminar a configuração com o Arduino para MATLAB, temos que construir a GUI (Graphical User Interface) para controlar o motor DC. 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 rotação no sentido horário, rotação anti-horária e PARAR, conforme mostrado abaixo,
Para redimensionar ou alterar a forma do botão, 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 conforme mostrado na imagem abaixo.
Você pode personalizar os botões de acordo com sua escolha. Agora, quando você salva isso, um código é gerado na janela do Editor do MATLAB. Para codificar seu Arduino para realizar qualquer tarefa relacionada ao seu projeto, você sempre deve editar o código gerado. Abaixo, editamos o código MATLAB.
Código MATLAB para controlar o motor DC com Arduino
O código MATLAB completo, após editá-lo para o controle do motor DC, é 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 girar o motor DC no sentido horário, anti-horário e parar usando três botões.
Copie e cole o código abaixo na linha no. 74 para ter certeza de que o Arduino está se comunicando com o MATLAB toda vez que você executa o arquivo m.
limpar tudo; global a; a = arduino ();
Ao rolar para baixo, você verá que existem três funções para cada botão na GUI. Agora escreva o código em cada função de acordo com a tarefa que deseja executar no clique.
Na função do botão Sentido horário , copie e cole o código abaixo antes das chaves finais da função para girar o motor no sentido horário. Aqui estamos dando HIGH no pino 6 e LOW no pino 5 para girar o motor no sentido horário.
global a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 1); pausa (0,5);
Agora na função do botão Anti-horário , cole o código abaixo no final da função para girar o motor no sentido anti-horário. Aqui estamos dando HIGH no pino 5 e LOW no pino 6 para girar o motor no sentido anti-horário.
global a; writeDigitalPin (a, 'D5', 1); writeDigitalPin (a, 'D6', 0); pausa (0,5);
Finalmente na função do botão STOP , cole o código abaixo no final, para parar a rotação do motor. Aqui estamos dando LOW nos pinos 5 e 6 para parar o motor.
global a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 0); pausa (0,5);
Material Necessário
- Laptop instalado com MATLAB (preferência: R2016a ou versões superiores)
- Arduino UNO
- Motor DC
- L293D- driver do motor
Diagrama de circuito
Controlando Motor DC com MATLAB
Após 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 no sentido horário ou anti-horário para girar o motor. Quando você pressiona o botão Sentido Horário, a corrente flui do Pino 6 ao Pino 5 e o motor gira no sentido horário, enquanto no sentido anti-horário a corrente flui do Pino 5 ao Pino 6 e o motor gira no sentido horário e gira no sentido horário. Para parar a rotação do motor DC, pressione o botão STOP. O mesmo método pode ser usado para controlar o servo motor usando MATLAB, só precisamos editar o código de acordo. Você pode conferir o vídeo abaixo para entender o processo completo de controle do motor MATLAB DC usando o Arduino.