Primeiramente, abra seu software MatLab e no COMMAND WINDOW digite tal frase: GUIDE. Na aba Create new GUI escolha a 1ª opção: Blank GUI(default), a figura abaixo ilustra esse passo.
Já com a GUIDE criada colocaremos os respectivos botões de "ON" e "OFF". Para isso selecione a ferramenta pushbutton na paleta:
Feito isto iremos agora configurar a cor e o texto dos botões. Clique 2 vezes em cima de um botão e o inspector de controle irá aparecer localize o texto String e digite "ON", depois localize o texto Background Color e selecione a cor verde, faça de manira análoga para o botão "OFF".
Com isto já feito iremos agora fazer nossa programação. Com o 3º botão do mouse clique em cima de algum do botões e navegue até a função View Callbacks -> Callbacks. Não se assuste com tantas linhas de programação, á maioria é comentário. Agora iremos fazer a parte de reconhecimento entre o arduino e o MatLab. Localizando a função function NOMEDOARQUIVOQUEFOISALVO_OpeningFcn(hObject, eventdata, handles, varargin) no final dela digite:
global a;
a = arduino('PORTAdeCOMUNICAÇAO'); %Por exemplo 'COM3'
a.pinMode(9,'output');
Com esse comandos estamos criando uma variável global a que estará conectada na porta que seu arduino está comunicando com seu SO.
Agora localizando a função function pushbutton1_Callback(hObject, eventdata, handles) digite:
global a;
a.digitalWrite(9, 1);
Esses comandos que irão setar a porta 9 do arduino como ON. Já na função function pushbutton2_Callback(hObject, eventdata, handles) iremos digitar:
global a;
a.digitalWrite(9, 0);
Irá apagar o led quando selecionada essa porta. Bom de maneira geral é assim que funciona nosso 1º projeto com arduino e MatLab. Logo abaixo disponibilizei os arquivos, tanto o .fig e o .m para quem quiser estudar e baixar para teste.
E é claro segue também um video do programa rodando.
Olá Felipe, consegui usar o matlab junto com o arduino, mas gostaria de saber como implementar um função dentro do código do botão para fazer o led piscar.
ResponderExcluirAbraço.
Desculpa a demora em responder.... fiz um programinha simples que irá te ajudar. Nao esta em GUIDE, mas e facil de converter-lo....
Excluirclose all;
clear all;
%Inicializaçao da porta serial
delete(instrfind({'Port'},{'COM3'}));
a=arduino('COM3');
%declaração do pinos do botão e led respectivamente
a.pinMode(9,'output');
%Laço infinito onde testa se o botao foi ou não precionado
while true
a.digitalWrite(9, 1);
pause(1);
a.digitalWrite(9, 0);
pause(1)
end
Este comentário foi removido pelo autor.
ResponderExcluirFelipe!!
ResponderExcluirÉ possível conciliar os botões feitos no GUIDE e construção de gráfico?
Seria algo com; ao acionar o botão dispara um evento no arduino e no momento em que chegar dados na porta serial o matlab constrói um gráfico.
Falou!
Diogo, tem como sim, mas me explique melhor oque vc quer fazer.
Excluir