Ok, i resolved the problem myself.
I post the complete and correct code.
Arduino:
int testo=0;
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
}
void loop()
{
if(Serial.available()>0)
{
testo=Serial.read();
if(testo=='R')
digitalWrite(13,HIGH);
if(testo=='r')
digitalWrite(13,LOW);
if(testo=='Y')
digitalWrite(12,HIGH);
if(testo=='y')
digitalWrite(12,LOW);
if(testo=='G')
digitalWrite(11,HIGH);
if(testo=='g')
digitalWrite(11,LOW);
}
}
Processing:
import oscP5.*;
import netP5.*;
import processing.serial.*;
Serial arduinoPort;
OscP5 oscP5;
int led=0;
int Rled=0;
int Gled=0;
int Yled=0;
void setup()
{
size(300,100);
noStroke();
oscP5 = new OscP5(this,8000);
arduinoPort=new Serial(this,Serial.list()[0], 9600);
}
void oscEvent(OscMessage theOscMessage)
{
String addr=theOscMessage.addrPattern();
if(addr.indexOf("/1/toggle1")!=-1)
{
int i=int((addr.charAt(9)))-0x30;
Rled=int(theOscMessage.get(0).floatValue());
}
if(addr.indexOf("/1/toggle2")!=-1)
{
int i=int((addr.charAt(9)))-0x30;
Yled=int(theOscMessage.get(0).floatValue());
}
if(addr.indexOf("/1/toggle3")!=-1)
{
int i=int((addr.charAt(9)))-0x30;
Gled=int(theOscMessage.get(0).floatValue());
}
}
void draw()
{
background(50);
if(Rled==0)
{
arduinoPort.write("r");
led=0;
}
if(Rled==1)
{
arduinoPort.write("R");
led=255;
}
fill(led,0,0);
ellipse(50, 50, 50, 50);
if(Yled==0)
{
arduinoPort.write("y");
led=0;
}
if(Yled==1)
{
arduinoPort.write("Y");
led=255;
}
fill(led,0,0);
ellipse(150, 50, 50, 50);
if(Gled==0)
{
arduinoPort.write("g");
led=0;
}
if(Gled==1)
{
arduinoPort.write("G");
led=255;
}
fill(led,0,0);
ellipse(250, 50, 50, 50);
}
I used 13,12 and 11 pins
I hope this will be helpful to someone!