Este é um exemplo de robô delta (flexpicker) utilizando Arduino e o software proecessing.
Fonte e mais detalhes aqui.
Este é um exemplo de robô delta (flexpicker) utilizando Arduino e o software proecessing.
Fonte e mais detalhes aqui.
Este é um exemplo de robô delta (flexpicker) utilizando Arduino e o software proecessing.
Fonte e mais detalhes aqui.
Processing é uma linguagem de programação, ambiente de desenvolvimento e comunicação on-line. Desde 2001, tem promovido a alfabetização de processamento de software dentro das artes visuais e alfabetização visual dentro da tecnologia. Inicialmente criada para servir como um caderno de desenho de software e para ensinar os fundamentos de programação de computadores dentro de um contexto visual, evoluiu para uma ferramenta de processamento e desenvolvimento para os profissionais. Hoje, existem dezenas de milhares de estudantes, artistas, designers, pesquisadores e amadores que utilizam este processo de aprendizagem, protótipos, e produção.
Fonte e mais detalhes aqui.
Podemos simular a Scratch Board apenas utilizando softwares para a simulação de uma porta serial, através do com0com e utilizando o Processing para enviar dados, assim como pode ser visto no PicoBoard Emulator.
println(0x80 + 0x38 + 0x1);
Através deste comando, poderemos formar o primeiro pacote de bytes que deverão ser convertidos e enviados à porta serial.
Nesta versão do código, apenas trocamos o número da porta a ser conectada, uma vez que utilizaremos no Processing 2 e sua numeração de portas é diferente das versões anteriores.
// Example by Tom Igoe
import processing.serial.*;
// The serial port:
Serial myPort;
// List all the available serial ports:
println(Serial.list());
// I know that the first port in the serial list on my mac
// is always my Keyspan adaptor, so I open Serial.list()[0].
// Open whatever port is the one you're using.
myPort = new Serial(this, Serial.list()[3], 9600);
// Send a capital A out the serial port
//myPort.write(65);
myPort.write(0x54);
myPort.write(0xFE);
myPort.write(0xC4);
myPort.write(0x00);
exit();
Abaixo temos um código escrito em Processing, já apresentado aqui, porém, neste exemplo, utilizamos os bytes de forma hexadecimal, além disso, incluimos a função de finalizar a execução do programa.
// Example by Tom Igoe
import processing.serial.*;
// The serial port:
Serial myPort;
// List all the available serial ports:
println(Serial.list());
// I know that the first port in the serial list on my mac
// is always my Keyspan adaptor, so I open Serial.list()[0].
// Open whatever port is the one you're using.
myPort = new Serial(this, Serial.list()[1], 9600);
// Send out the serial port
myPort.write(0x54);
myPort.write(0xFE);
myPort.write(0xC4);
myPort.write(0x00);
exit();
Na versão 2.0 do Processing, algumas coisas foram modificadas e melhoradas, assim, o código apresentado anteriormente para a ver são 1.5 precisou ser modificada conforme abaixo.
import processing.net.*;
Client c;
String data;
void setup() {
size(200, 200);
c = new Client(this, "192.168.5.101", 9873);
}
void draw() {
if (c.available() > 0) {
}
c.write("beep");
delay(1000);
}
Neste exemplo, a conexão é feita e o comando enviado será beep.
Este é o cógigo utilizado por Gilson Domingues para comunicação entre a GoGo Board e o sofware Processeing.
Ele foi baseado em nosso exemplo de uso do Processing e o protocolo serial de comunicação da GoGo Board.
Baseando-nos nesta documentação, podemos nos comunicar com a placa através do protocolo socket, neste caso, utilizando a linguagem Processing.
Abaixo, temos o exemplo do comando beep, outros podem ser usados de acordo com a documentação do próprio protocolo.
void setup()
{
size(400,300);
background(#FFCC00);
fill(0);
noStroke();
}
void draw()
{
scale(1.3);
try
{
String host = "127.0.0.1"; // change
text( "Connecting to " + host + " ...", 10, 20 );
Socket s = new Socket( host, 9873 );
text( "Connection established to " + s.getInetAddress(), 10, 30 );
BufferedReader in = new BufferedReader( new InputStreamReader( s.getInputStream() ) );
PrintStream out = new PrintStream( s.getOutputStream() );
int lineNum = 50;
out.println( "beep" );
out.println( "stop" );
out.flush();
String t = in.readLine();
System.out.println( t );
fill(0);
text("Ping Done.", 10, lineNum+10);
try
{
Thread.sleep( 1000 );
} catch ( Exception e )
{
}
in.close();
out.close();
}
catch ( Exception e )
{
println( "Error" + e );
}
}
Diversas outras linguagens podem interagir com a Gogo Board por meio deste protocolo, por exemplo, Delphi, Lua, C#, C++, Flash, etc, sendo até mais interessamte que o trabalho com o protocolo serial diretamente, ja que algumas linguagens não contam com suporte a ele.
Uma proposta muito interessante de FlexPicker, utilizando Arduino pode ser montada com base neste endereço.
Além de uma noção dos componentes mecânicos e sua montagem, estão disponíveis os códigos que devem ser gravados no Arduino, bem como aquele que fara os movimentos de acordo com os realizados no mouse, que serão executados no Processing.
Logo mais teremos o vídeo do nosso protótipo.
Com base nesta documentação, é possível se comunicar com a placa, conforme segue abaixo, neste caso, enviando o comando de beep.
// Example by Tom Igoe
import processing.serial.*;
// The serial port:
Serial myPort;
// List all the available serial ports:
println(Serial.list());
// I know that the first port in the serial list on my mac
// is always my Keyspan adaptor, so I open Serial.list()[0].
// Open whatever port is the one you're using.
myPort = new Serial(this, Serial.list()[1], 9600);
// Send a capital A out the serial port
//myPort.write(65);
myPort.write(84);
myPort.write(254);
myPort.write(196);
myPort.write(0);
Atenção!
O Projeto Real agora é Gogo Real. Mais detalhes aqui.
Processing é uma linguagem de programação, desenvolvimento, ambiente e comunidade online que desde 2001 vem promovendo a alfabetização de software dentro das artes visuais. Inicialmente criada para servir como um caderno de desenho de software e para ensinar os fundamentos da programação de computadores dentro de um contexto visual, processamento rapidamente evoluiu para uma ferramenta para criação de trabalhos profissionais, bem acabados.
Continue lendo o texto original em inglês aqui.
Fonte e Foto: http://processing.org/