bosquejo ho sintetizzato:
-Servidor
-Controlador Arduino
-Controlador Usb
Di consecuencia incollo il codice de procesamiento.
VI ricordo ch e por poter funzionare occorre scaricare le 3 diferentes fondamentali
OscP5, NetP5, CC. Arduino,
----------------------------------------------------------
Import oscP5.*; Biblioteca de carga OSC P5
Import netP5.*; Biblioteca de P5 neto de carga
Import processing.serial.*; Serie biblioteca de carga
Import cc.arduino.*;
Serie arduinoPort; Set arduinoPort como conexión en serie
OscP5 de OscP5; Set oscP5 como conexión de OSC
int rojo = 0; Rojo nos permite saber si el LED está encendido o apagado
int [] led = new int [2]; Matriz nos permite añadir más botones de alternar en TouchOSC
void setup() {}
Size(100,100); Tamaño de la pantalla de proceso
noStroke(); No queremos un esquema o un accidente cerebrovascular en nuestros gráficos
oscP5 = new OscP5(this,8000); Iniciar oscP5, escuchar los mensajes entrantes en el puerto 8000
arduinoPort = nueva serie (esta, Serial.list() [2], 9600); Sistema arduino a 9600 baudios
}
void oscEvent (OscMessage theOscMessage) {/ / esto funciona siempre que haya un nuevo mensaje OSC
Cadena addr = theOscMessage.addrPattern(); Crea una cadena de mensaje OSC
if(addr.IndexOf("/1/Toggle")! =-1) {/ / filtra ningún botón de alternar
int i = int((addr.charAt(9))) - 0 x 30; Devuelve el número de ASCII para convertir en un número real restando 0 x 30
LED [i] = int(theOscMessage.get(0).floatValue()); Valor de botón pone en led [i]
Valores botón puede leerse mediante el uso de led [0], [1] de led, led [2], etc..
}
}
void draw() {}
Background(50); Establece el fondo a un gris oscuro, puede ser 0-255
Si (led [1] == 0) {/ / si led botón 1 si hacer...
arduinoPort.write("a"); Envía el carácter "r" al Arduino
Rojo = 0; Sistemas de color de rojo a 0, puede ser 0-255
}
Si (led [1] == 1) {/ / si es led botón 1 en...
arduinoPort.write("A"); Envía el carácter "R" para Arduino
Rojo = 255; Sistemas de color de rojo a 255, puede ser 0-255
}
Fill(redLED,0,0); Rellenar el rectángulo con cantidad de rojo
elipse (50, 50, 50, 50); Creado una elipse en 50 píxeles desde la izquierda...
50 píxeles desde la parte superior y un ancho de 50 y altura de 50 píxeles
}
----------------------------------------------------------
Guardando il codice noterete che en captato de all'output base en rete dal touchosc
0 o 1, procesamiento scriverà nella seriale di valori de arduino 2:
a, A.
Luego en arduino bisogna instalar uno guión Ecclesiae questi 2 valori
e li trasformi en funciones, es de ad. LedOn/LedOff... ECC...
di consecuencia vi incollo il codice da instalar dentro arduino:
----------------------------------------------------------
#define LED_PIN1 4
#define LED_PIN2 5
#define LED_PIN3 6
#define LED_PIN4 7
#define LED_PIN5 8
#define LED_PIN6 9
#define LED_PIN7 10
#define LED_PIN8 11
int firstSensor = 0; primer sensor analógico
int secondSensor = 0; segundo sensor analógico
int thirdSensor = 0; sensor digital
int inByte = 0; entrada byte serial
status_unlock Boolean;
status_bluetooth Boolean;
largo intervalo de tiempo = 1000; intervalo en el que a parpadear (milisegundos)
previousMillis largo = 0; almacenará la última vez LED fue actualización
int minite, sec;
void setup()
{
iniciar el puerto serie a 9600 bps:
Serial.Begin(9600);
pinMode (2, entrada); sensor digital es en el pin digital 2
establishContact(); Enviar un byte establecer contacto hasta que el receptor responde
pinMode (LED_PIN1, salida);
pinMode (LED_PIN2, salida);
pinMode (LED_PIN3, salida);
pinMode (LED_PIN4, salida);
pinMode (LED_PIN5, salida);
pinMode (LED_PIN6, salida);
pinMode (LED_PIN7, salida);
pinMode (LED_PIN8, salida);
digitalWrite (LED_PIN1, bajo); Apagar LED
digitalWrite (LED_PIN2, bajo); Apagar LED
digitalWrite (LED_PIN3, bajo); Apagar LED
digitalWrite (LED_PIN4, bajo); Apagar LED
digitalWrite (LED_PIN5, bajo); Apagar LED
digitalWrite (LED_PIN6, bajo); Apagar LED
digitalWrite (LED_PIN7, bajo); Apagar LED
digitalWrite (LED_PIN8, bajo); Apagar LED
status_bluetooth = true;
status_unlock = false;
sec = 0;
}
void loop()
{
Si (Serial.available() > 0) {}
inByte = Serial.read(); obtener el byte entrante:
Si (inByte == 'A') {}
digitalWrite (LED_PIN1, alto); encender LED
Serial.Print ("A", BYTE); Enviar un char
Delay(800);
digitalWrite (LED_PIN1, bajo); Apagar LED
status_unlock = false;
inByte = 0;
}
Si (inByte == 'a') {}
digitalWrite (LED_PIN2, alto); encender LED
Serial.Print ("a", BYTE); Enviar un char
Delay(800);
digitalWrite (LED_PIN2, bajo); Apagar LED
status_unlock = true;
sec = 0;
inByte = 0;
}
Si (inByte == 'B') {}
digitalWrite (LED_PIN3, alto); encender LED
Serial.Print ("B", BYTE); Enviar un char
inByte = 0;
}
Si (inByte == 'b') {}
digitalWrite (LED_PIN3, bajo); Apagar LED
Serial.Print ("b", BYTE); Enviar un char
inByte = 0;
}
Si (inByte == 'C') {}
digitalWrite (LED_PIN4, alto); encender LED
Serial.Print ("C", BYTE); Enviar un char
inByte = 0;
}
Si (inByte == 'c') {}
digitalWrite (LED_PIN4, bajo); Apagar LED
Serial.Print ("c", BYTE); Enviar un char
inByte = 0;
}
Si (inByte == había ') {}
digitalWrite (LED_PIN5, alto); encender LED
Serial.Print (había ', BYTE); Enviar un char
inByte = 0;
}
Si (inByte == había ') {}
digitalWrite (LED_PIN5, bajo); Apagar LED
Serial.Print (había ', BYTE); Enviar un char
inByte = 0;
}
Si (inByte == 'E') {}
digitalWrite (LED_PIN6, alto); encender LED
Serial.Print ("E", BYTE); Enviar un char
inByte = 0;
}
Si (inByte == 'e') {}
digitalWrite (LED_PIN6, bajo); Apagar LED
Serial.Print ("e", BYTE); Enviar un char
inByte = 0;
}
Si (inByte == 'F') {}
digitalWrite (LED_PIN7, alto); encender LED
Serial.Print ("F", BYTE); Enviar un char
inByte = 0;
}
Si (inByte == 'f') {}
digitalWrite (LED_PIN7, bajo); Apagar LED
Serial.Print ("f", BYTE); Enviar un char
inByte = 0;
}
Si (inByte == 'G') {}
digitalWrite (LED_PIN8, alto); encender LED
Serial.Print ("G", BYTE); Enviar un char
inByte = 0;
}
Si (inByte == 'g') {}
digitalWrite (LED_PIN8, bajo); Apagar LED
Serial.Print ("g", BYTE); Enviar un char
inByte = 0;
}
Si (inByte == de ') {}
Serial.Print (de ', BYTE); Enviar un char
status_bluetooth = true;
sec = 0;
}
} / / if (Serial
/*
unsigned currentMillis largo = millis();
Si (currentMillis - previousMillis > intervalo) {}
previousMillis = currentMillis; guardar la última vez que titilaba el LED
s ++;
{if(status_unlock==true)}
if(SEC== 11) {}
digitalWrite (LED_PIN1, alto); encender LED
Delay(800);
digitalWrite (LED_PIN1, bajo); Apagar LED
status_unlock = false;
sec = 0;
}
}
otro seg = 0;
}
*/
} //Loop
void establishContact() {}
mientras que (Serial.available() < = 0) {}
Serial.Print ('. ', BYTE); Envíe una A mayúscula
Delay(500);
}
}
----------------------------------------------------------