Documente Academic
Documente Profesional
Documente Cultură
02 setembro 2014
Pesquisar
Processing : mostre as informações do Arduino no Custom Search
seu computador
Hoje vamos ver como mostrar informações do Arduino na tela do computador utilizando o Processing, uma
linguagem de programação de código aberto usada para escrever programas utilizando representação gráfica.
Com ela você consegue criar imagens e animações e por esse motivo é uma linguagem muito utilizada por
profissionais de design e ilustradores.
No Arduino, podemos utilizar o Processing para coletar as informações da placa e mostrá-las na tela do Assine nossa newsletter:
computador, como fiz ligando ao Arduino um botão tipo push-button e um led.
Seu email...
Quero assinar!
A parte superior da tela temos o Estado Botão, onde um círculo mostra se o led está apagado (círculo em
preto), ou aceso (círculo em vermelho). No meio da tela, um contador incrementado a cada acionamento do
botão, e na parte inferior um gráfico que vai sendo atualizado conforme acionamos o circuito.
Para obter esse resultado, vamos instalar o Processing no computador e também preparar o Arduino
carregando o FIRMATA, que é um protocolo que vai fazer com que o Arduino receba e envie dados ao
computador, via porta serial. Marcadores
Arquivo do blog
Transfira o StandardFirmata para o Arduino e monte o circuito abaixo, composto por um push-button, um ► 2018 (22)
resistor e um led :
► 2017 (24)
► 2016 (28)
► 2015 (35)
▼ 2014 (55)
► Dezembro 2014 (2)
► Novembro 2014 (5)
► Outubro 2014 (6)
▼ Setembro 2014 (5)
Controlando servo motor com o Motor
Shield L293D
Contador de visitantes usando led IR e
fototransis...
Como programar o Arduino Pro Mini
usando conversor...
Sensor GY-80 - Acelerômetro Giroscópio
Magnetômetr...
Processing : mostre as informações do
Arduino no s...
► 2013 (66)
Postagens populares
Controle remoto IR no
Arduino
Acionando portas do
Arduino usando Android e
bluetooth
Como estamos utilizando o Firmata, todas as definições de portas , variáveis e outros detalhes do programa
serão feitos diretamente no Processing.
Instalando o Processing
Faça o download do Processing diretamente do site oficial do programa, nesse endereço:
https://www.processing.org/download/?processing. Neste tutorial estamos utilizando a versão 2.2.1 para
Windows 32 Bits, conforme destacado. Estão disponíveis também versões para Linux e Mac OS:
Após o download, descompacte o arquivo e você terá uma pasta chamada processing-2.2.1. Dentro dessa
pasta você terá o executável do programa, que é o processing.exe. Se preferir, crie um atalho para o
Processing na sua área de trabalho.
Descompacte o arquivo e você terá uma pasta chamada Arduino. Copie essa pasta para dentro da pasta de
bibliotecas do Processing (não confunda com a pasta libraries do Arduino) que se encontra geralmente em
Meus Documentos\Processing\Libraries. Essa pasta é criada na primeira vez que você executar o
Processing:
Programando o Processing
Abra o Processing , e você verá a tela abaixo, que por sinal é muito parecida com a IDE do Arduino :
E não é só a IDE. A programação do Processing também é muito parecida com a do Arduino. Também temos
uma seção SETUP, onde você coloca as definições iniciais do programa, e uma seção DRAW (semelhante ao
LOOP do Arduino), onde estão os comandos para desenhar na tela e a comunicação com o Arduino.
Nesse momento, será carregada a tela que mostramos no início desse post, e a comunicação com o Arduino
será iniciada.
No início do programa definimos um objeto Arduino e atribuímos a ele o nome arduino. Esse objeto vai permitir
que possamos enviar e receber informações da placa, definir portas e controlar toda a parte de comunicação.
A linha arduino = new Arduino(this, Arduino.list()[0], 57600) inicializa o objeto Arduino e seta a velocidade
da comunicação serial para 57600, que é a velocidade padrão configurada no firmware FIRMATA que
carregamos anteriormente.
arduino.pinMode(ledPin, Arduino.OUTPUT);
arduino.pinMode(pinobotao, Arduino.INPUT);
arduino.digitalWrite(ledPin, Arduino.LOW);
Que servem para definir o modo de funcionamento das portas (INPUT (entrada) ou OUTPUT (saída)), e
também para modificar o estado da porta do led, colocando-a em nível baixo ou alto.
Para a a parte gráfica, definimos o tamanho da tela com o comando size(), que deve ser colocado logo no
início do setup, antes de definirmos as outras opções da parte gráfica, como linhas, fontes e cores.
Os demais comandos utilizados são o line(), para desenhar linhas, o ellipse(), utilizado para desenhar o botão
de estado do led, e o rect(), para desenhar os retângulos.Uma lista detalhada dos comandos aceitos pelo
Processing, com sintaxe e exemplos de uso, pode ser acessada no site oficial do programa, nesse link:
http://processing.org/reference/
22 comentários:
Anônimo 2 de julho de 2015 14:25
esta dando um erro na linha "arduino = new Arduino(this, Arduino.list()[0], 57600)", o que eu faço?
Responder
Respostas
Boa tarde,
Abraço.
Oi Bruno,
Talvez a porta serial já esteja ocupada, por exemplo, com o Serial Monitor, por isso o Processing não
está reconhecendo o Arduino.
Abraço!
arduino = new Arduino(this,"COM3", 9600); //ALTERE A COM3 PARA SUA PORTA SERIAL
Responder
Boa noite,
O meu não está comunicando, mas não dá erro, apenas não funciona...
- carreguei o firmata;
- baixei a biblioteca;
- processing 2.2.1 64bits e IDE 1.6.0;
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
Responder
Boa noite !
Ao rodar o Processing apareceu o seguinte erro...
Responder
Respostas
Eu tenho um artigo falando sobre servo motores controlados por bluetooth. Veja se te ajuda:
http://www.arduinoecia.com.br/2014/01/controlando-um-servo-motor-utilizando.html
Abraço!
Responder
Responder
Respostas
Responder
Boa noite,
Estou obtendo o erro "ArrayIndexOutOfBoundsException: 0" na linha " arduino = new Arduino(this, Arduino.list()
[0], 57600);", além de estar em destaque um problema de compatibilidade na linha "println(Arduino.list());". Como
posso resolver o problema e conseguir abrir a janela gráfica do LED?
Responder
Respostas
Abraço!
Boa noite,
Estava sim, mas passei do Processing 3 para o 2 e funcionou como o esperado. Parabéns pelos
posts, são bem feitos e muito motivadores para quem quer aprender por conta. Um abraço!
Oi Vinicius!
Abraço!
Boa tarde, o qual é a alteração que devo fazer para que o programa funcione na versão 3.3.6 ?
obrigado
Abraço!
Adilson
Responder
Estou trabalhando em um projeto aqui em que eu preciso gerar gráficos da tensão e da corrente de um motor em
uma interface gráfica. Consigo fazer isso com o processing ?
Responder
Só substituir o "arduino = new Arduino (this, Arduino.list()[0], 57600);" por "arduino = new Arduino(this, "COM9",
9600);" que dar certo, sendo que "COM9" é o nome da sua port.
Responder