Eclipse + Arduino

Não é que a IDE do Arduino seja ruim, mas quando estamos desenvolvendo um projeto maior que simplesmente o piscar de um LED, particularmente sinto falta de algumas opções como auto-complete de código, browser de navegação entre funções, integração com controlador de versão entre outros.
Por isso fui atras de efetuar o desenvolvimento dos meus projetos utilizando os microcontroladores AVR em uma IDE mais completa e familiar para mim, que no caso é o Eclipse.

Segue o link de um tutorial de como utilizar o Eclipse como IDE de desenvolvimento de firmware para o Arduino.

http://www.chipkin.com/articles/using-eclipse-with-arduino-duemilanove

Observações:

1 – Para adicionar o plugin AVR-Eclipse utilizei o modo de instalação pela própria IDE.

Pela IDE Eclipse acesse:

(Help > Software Updates > Find and install... > Search for new features to install -> New Remote Site)

E adicione os seguintes dados:

Name: 	AVR Eclipse Plugin
URL: 	http://avr-eclipse.sourceforge.net/updatesite/

2 – Ao adicionar os dados AVR C++ Linker => Libraries foi necessário também adicionar o caminho em library path (L) onde estava a library .a que no meu caso estava dentro do RELEASE do ArduinoCore indicado no tutorial.

por Hamilton Sena Postado em Arduino

Arduino + Python + FIRMATA

No post anterior “Arduino + MATLAB” eu mostrei com efetuar a conexão do MATLAB com o Arduino, dessa fez vou mostra como fazer a mesma coisa com o Python.

A teoria é a mesma descrita no POST Arduino + MATLAB, a diferença é que iremos utilizar um firmware que implementa um protocolo genérico de comunicação chamado FIRMATA.

Segue abaixo o diagrama da integração:

ArduinoPython

Sem perca de tempo vamos ao que interessa:

Pressuponho que você já tenha o Python e a biblioteca PySerial instalado e funcionando em sua maquina.

  1. Na IDE do Arduino abra a scketch que se encontra em:
  2. File->Scketchbook -> Examples -> Library-Firmata -> StandardFirmata
  3. Caso não encontre esse caminho tente:
  4. File->Examples->Firmata->StandardFirmata
Grave esta scketch no Arduino, e verifique qual porta serial está sendo utilizada em: Tools -> Serial Port. Pode fechar esta IDE logo na sequência.
2. Faça download da biblioteca python-firmata em: http://github.com/lupeke/python-firmata e efetue a instalação da seguinte forma:

python setup.py install 

3. Abaixo segue um programa de exemplo, como também a disposição dos pinos na placa do Arduino:

arduino_board

 #Piscando led com python #importando a biblioteca FIRMATA from firmata import * #conectando ao arduino a = Arduino('COM1', baudrate=57600) #especificando o modo que o pino 13 irá trabalhar a.pin_mode(13, firmata.OUTPUT) #Delay de 2 segundos a.delay(2) while True: #Colocando 1 na saida digital 13, neste caso 5 volts a.digital_write(13, firmata.HIGH) a.delay(2) #Colocando 0 na saida digital 13, neste caso 0 volts a.digital_write(13, firmata.LOW) a.delay(2) 

Arduino + MATLAB

Como acadêmico de um curso de engenharia, utilizo muito o MATLAB para simulação matemática.

– Deixa ser chato Hamilton conta logo como comunicar o MATLAB com o ARDUINO. Tá bom vamos lá!!!

Mas primeiro um pouco de teoria.

Como foi visto no post “O que é Arduino” o mesmo é uma placa de fácil manipulação e programação, mas podemos usar o Arduino também como uma interface de comunicação  entre o PC.

Em muitos projetos não é necessário que o Arduino trabalhe como um processador independente, mas como um dispositivo intermediário através do qual há a conexão de sensores, leds, motores, etc a um computador. Nesta configuração, a placa e o PC ficam conectados e se comunicam através da porta USB/serial. Um aplicativo executado no PC (que no nosso caso será a classe arduino.m  instanciado) interage com outros aparelhos conectados à placa.

Para que essa interação seja feita é necessário adicionar o firmware adiosrv.pde que fará o papel de informar os status e as ações do Arduino. Abaixo segue um diagrama de como isso funciona.

 

ArduinoMatlab

Vamos agora para pratica:

  1. Faça o download do arduino-matlab em http://www.mathworks.com/academia/arduino-software/arduino-matlab.html, após o download pegue o arquivo adiosvr.pde que encontra-se dentro da pasta adiosvr e grave no Arduino via IDE de programação. Caso não saiba como fazer isso, assista o vídeo do post “O que é Arduino” .
  2. Abra o MATLAB, adicione o arquivo arduino.m no WORKSPACE, a partir desse momento o MATLAB já esta pronto para se comunicar com o Arduino.
  3. Dentro do arquivo que foi baixado arduino-matlab contém diversos exemplos mas segue abaixo um exemplo de utilização de escrita e leitura digital e analógica, como também a disposição dos pinos na placa do Arduino.

    arduino_board

     

    
    % conectando ao arduino 
    a=arduino('COM5')
    
    % especificando os modos que os pinos 4, 13 e  5 iram trabalhar 
    a.pinMode(2,'input'); 
    a.pinMode(13,'output'); 
    a.pinMode(9,'output');
    
    % Efetuando uma leitura digital no pino 4 
    dv=a.digitalRead(4)
    
    % escrevendo o que tem na variavel dv  (0 or 1) no pino 13 
    a.digitalWrite(13,dv)
    
    % lendo a entrada analógica no pino 5 (NB: não é o pino 5 digital) 
    av=a.analogRead(5)
    
    % normalizando av de 0:1023 para 0:255 
    av=(av/1023)*255
    
    % escrevendo a saida av no pino 9 (pwm)  
    a.analogWrite(9,av)
    
    % fechando a seção 
    delete(a)
    
    

    Segue abaixo imagens de outro código executado no command do MATLAB junto com o hardware.

     

     

    Para mais informações segue um PDF feito pelo Giampiero Campa mostrando mais detalhadamente com usar essa ferramenta: http://www.mathworks.cn/matlabcentral/fileexchange/27843-arduino-io-package-slides-and-examples

    Segue também um target para utilizar junto com o SIMULINK: http://www.mathworks.com/academia/arduino-software/arduino-simulink.html