325
edits
Line 10: | Line 10: | ||
[[File:sketchyan2.jpg]] | [[File:sketchyan2.jpg]] | ||
== Processing == | |||
import oscP5.*; // Load OSC P5 library | |||
import netP5.*; // Load net P5 library | |||
import processing.serial.*; // Load serial library | |||
Serial arduinoPort; // Set arduinoPort as serial connection | |||
OscP5 oscP5; // Set oscP5 as OSC connection | |||
int redLED = 0; // redLED lets us know if the LED is on or off | |||
int [] led = new int [5]; // Array allows us to add more toggle buttons in TouchOSC | |||
float v_push1 = 0.0f; | |||
float v_push2 = 0.0f; | |||
void setup() { | |||
size(100,100); // Processing screen size | |||
noStroke(); // We don’t want an outline or Stroke on our graphics | |||
oscP5 = new OscP5(this,8000); // Start oscP5, listening for incoming messages at port 8000 | |||
arduinoPort = new Serial(this, Serial.list()[3], 9600); // Set arduino to 9600 baud | |||
print(Serial.list()[3]); | |||
} | |||
void oscEvent(OscMessage theOscMessage) { // This runs whenever there is a new OSC message | |||
String addr = theOscMessage.addrPattern(); // Creates a string out of the OSC message | |||
float val = theOscMessage.get(0).floatValue(); | |||
if(addr.equals("/1/push1")) { v_push1 = val; } | |||
else if(addr.equals("/1/push2")) { v_push2 = val; } | |||
} | |||
void draw() { | |||
background(50); // Sets the background to a dark grey, can be 0-255 | |||
if(v_push1 == 1){ // If led button 1 if off do.... | |||
arduinoPort.write("F"); // Sends the character “F” to Arduino | |||
redLED = 0; // Sets redLED color to 0, can be 0-255 | |||
} | |||
if(v_push2 == 1){ // If led button 1 is ON do... | |||
arduinoPort.write("B"); // Send the character “B” to Arduino | |||
redLED = 255; // Sets redLED color to 255, can be 0-255 | |||
} | |||
fill(redLED,0,0); // Fill rectangle with redLED amount | |||
ellipse(50, 50, 50, 50); // Created an ellipse at 50 pixels from the left... | |||
// 50 pixels from the top and a width of 50 and height of 50 pixels | |||
} | |||
== Arduino== | |||
#include <Servo.h> | |||
Servo me; | |||
float val=0.000f; | |||
int message=0; | |||
int ledpin=9; | |||
void setup() | |||
{ | |||
Serial.begin(9600); | |||
me.attach(ledpin); | |||
pinMode(11, OUTPUT); | |||
} | |||
void loop() | |||
{ | |||
if(Serial.available()>0){ | |||
message = Serial.read(); | |||
digitalWrite(11,HIGH); | |||
if(val<179 && message == 'F'){ | |||
val= val + 1; | |||
me.write(val); | |||
delay(5); | |||
Serial.println(val); | |||
}if(message == 'B'){ | |||
me.write(val); | |||
val = val - 1; | |||
delay(5); | |||
Serial.println(val); | |||
} | |||
} | |||
} | |||
== Development == | == Development == | ||
When I was choosing to use the servos, I wanted to build my mobile phone as a portable controller to control the movement of an object. So it literally can be developed into many other contollers, such as remote Car controller, remote Fan controller, etc. | When I was choosing to use the servos, I wanted to build my mobile phone as a portable controller to control the movement of an object. So it literally can be developed into many other contollers, such as remote Car controller, remote Fan controller, etc. |
edits