Arduino com MATLAB!
Já pensou em unir essas duas coisas, sim é possível, e de forma muito fácil
basta o ligar o Arduino na USB e escrever os programas para usá-lo
diretamente a partir do MATLAB ou do Simulink. Imagine o potencial:
os programas são escritos e executados pelo MATLAB!
O que você precisa e do Arduino, MATLAB, um cabo USB e um pacote
de ferramentas.Como exemplo, fiz um data logger simples. O programa amostra várias
vezes a entrada analógica A2, ajusta o PWM da saída 11, guarda os valores
num vetor e depois mostra o gráfico dos valores armazenados.
Veja como ficou o resultado:
Você pode baixar meu código aqui!
Também preparei um passo-a-passo para fazer a conexão Arduino-MATLAB:
1. Faça download do toolbox do Arduino para o MATLAB:
http://www.mathworks.com/matlabcentral/fileexchange/32374
2. Instale o toolbox:
- descompacte o arquivo e coloque a pasta ArduinoIO no caminho de
sua proferência (por exemplo, na pasta work do MATLAB);
- abra o MATLAB, vá até a pasta ArduinoIO e rode o arquivo "install_arduino.m"
para que o caminho seja configurado corretamente;
3. Usando a IDE do Arduino, transfira o programa "adiosrv.pde" para a placa.
Este programa está na pasta "...\ArduinoIO\pde";
4. Verifique a porta COM a que seu Arduino está conectado e feche a IDE;
5. De volta ao MATLAB, digite o seguinte comando (substitua 'COM9' pela porta
onde seu Aduino está:
a = arduino('COM9')
Deve aparecer na tela a mensagem:
Attempting connection ......
Se tudo estiver correto, depois de alguns segundos surgirão as mensagens:
Basic I/O Script detected !
Arduino successfully connected !
...
e outras informações.
Pronto! A partir de agora sua placa está pronta para receber comandos
diretamente do MATLAB!! Como primeiro teste, escreva:
a.pinMode(13,'output');
a.digitalWrite(13,1);
O LED da porta 13 deve acender! Note que o Arduino é tratado como um
objeto no MATLAB.
Se você quiser controlar motores, pode querer usar na placa do Arduino o arquivo
"srv.pde", que é mais completo (aceita mais comandos do MATLAB) do que o
"adiosrv.pde". Mas, para compilar o "srv.pde" você precisará instalar a biblioteca
de controle de motores disponível em:
http://www.ladyada.net/media/mshield/AFMotor-08_12_2009.zip
Informações completas sobre o ArduinoIO Package para MATLAB estão em:
http://www.mathworks.com/academia/arduino-software/arduino-matlab.html
basta o ligar o Arduino na USB e escrever os programas para usá-lo
diretamente a partir do MATLAB ou do Simulink. Imagine o potencial:
os programas são escritos e executados pelo MATLAB!
O que você precisa e do Arduino, MATLAB, um cabo USB e um pacote
de ferramentas.Como exemplo, fiz um data logger simples. O programa amostra várias
vezes a entrada analógica A2, ajusta o PWM da saída 11, guarda os valores
num vetor e depois mostra o gráfico dos valores armazenados.
Veja como ficou o resultado:
MATLAB obtendo dados a partir do Arduino. |
Você pode baixar meu código aqui!
Também preparei um passo-a-passo para fazer a conexão Arduino-MATLAB:
1. Faça download do toolbox do Arduino para o MATLAB:
http://www.mathworks.com/matlabcentral/fileexchange/32374
2. Instale o toolbox:
- descompacte o arquivo e coloque a pasta ArduinoIO no caminho de
sua proferência (por exemplo, na pasta work do MATLAB);
- abra o MATLAB, vá até a pasta ArduinoIO e rode o arquivo "install_arduino.m"
para que o caminho seja configurado corretamente;
3. Usando a IDE do Arduino, transfira o programa "adiosrv.pde" para a placa.
Este programa está na pasta "...\ArduinoIO\pde";
4. Verifique a porta COM a que seu Arduino está conectado e feche a IDE;
5. De volta ao MATLAB, digite o seguinte comando (substitua 'COM9' pela porta
onde seu Aduino está:
a = arduino('COM9')
Deve aparecer na tela a mensagem:
Attempting connection ......
Se tudo estiver correto, depois de alguns segundos surgirão as mensagens:
Basic I/O Script detected !
Arduino successfully connected !
...
e outras informações.
Pronto! A partir de agora sua placa está pronta para receber comandos
diretamente do MATLAB!! Como primeiro teste, escreva:
a.pinMode(13,'output');
a.digitalWrite(13,1);
O LED da porta 13 deve acender! Note que o Arduino é tratado como um
objeto no MATLAB.
Se você quiser controlar motores, pode querer usar na placa do Arduino o arquivo
"srv.pde", que é mais completo (aceita mais comandos do MATLAB) do que o
"adiosrv.pde". Mas, para compilar o "srv.pde" você precisará instalar a biblioteca
de controle de motores disponível em:
http://www.ladyada.net/media/mshield/AFMotor-08_12_2009.zip
Informações completas sobre o ArduinoIO Package para MATLAB estão em:
http://www.mathworks.com/academia/arduino-software/arduino-matlab.html
Comentários