Dopo giorni spesi per la ricerca di soluzioni mi rivolgo a voi del forum per un consiglio su come risolvere un mio piccolo problema:
lavoro con sistema operativo win7 e tra i vari tuttorial presenti in rete uno particolarmente mi sembrava interessante per lo sviluppo di un piccolo progetto.
vi posto i codici prima di tutto:
processing:
import oscP5.*;
import netP5.*;
import processing.serial.*;
Serial arduinoPort ;
OscP5 oscP5;
int redLED=0;
int []led=new int[2];
void setup()
{
size (100,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/toggle")!=-1)
{
int i=int((addr.charAt(9)))-0x30;
led[i]=int(theOscMessage.get(0).floatValue());
}
}
void draw()
{
background (50);
if(led[1]==0)
{
arduinoPort.write("r");
redLED=0;
}
if(led[1]==1)
{
arduinoPort.write("R");
redLED=255;
}
fill(redLED,0,0);
ellipse(50,50,50,50);
}
arduino:
#include <Boards.h>
#include <Firmata.h>
int message = 0; // This will hold one byte of the serial message
int redLEDPin = 13; // What pin is the red LED connected to?
int redLED = 0; // The value/brightness of the LED, can be 0-255
void setup()
{
Serial.begin(9600);
}
void loop()
{
if(Serial.available()>0)
{
message=Serial.read();
if(message=='R')
{
redLED=255;
}
if(message=='r')
redLED=0;
}
analogWrite(redLEDPin,redLED);
}