ola pessoal,segui um tutorial

http://www.repositorio.uniceub.br/bitstream/123456789/3197/2/206151....
tudo ok mais agora queria adicinar
mais de 9 leds pois o 10 e reconhecido como 1,estava pensando en o codigo processing ler os dois digitos seguintes e
/1/toggle ai usaria 01,02,.....09,10,11,sucissivamente ai inves de 1,2,3...,.
se alguem tiver alguma ideia abaixo segre o codigo processing que testei mudaria luz[1] por luz[01]


import oscP5.*; // Importa biblioteca OSC P5 library
import netP5.*;
import Processing.serial.*; // Importa biblioteca serial library
Serial ArduinoPort; // define ArduinoPort como conexão serial
OscP5 oscP5; // define oscP5 como conexão OSC
int [] luz = new int [6]; // Array que possibilita a adição de mais botões toggle no TouchOSC
void setup() {
oscP5 = new OscP5(this,8000); // Inicia a escuta do oscP5, por mensagens na porta 8000 enviadas do telefone
ArduinoPort = new Serial(this, Serial.list()[0], 9600); //define que a porta 9600 é a para serial do Arduino
}
void oscEvent(OscMessage theOscMessage) { // Todas as vezes que se receber uma naova mensagem OSC esse processo se iniciará
String addr = theOscMessage.addrPattern(); // captura a string recebida, coleta e interpreta de onde vem e qual valor
if(addr.indexOf("/1/toggle") !=-1){ // Se iniciar com o nome /1/toggle
int i = int((addr.charAt(9) )) - 0x30; //desconsidera-se os 9 primeiros caracteres e coleta o seguinte entao converte para um numero inteiro subtraindo 0x30 em ASCII
luz[i] = int(theOscMessage.get(0).floatValue()); //coloca o valor "0" ou "1" em luz[i]
}
}
void draw() {
if(luz[1] == 0){ // se valor recebido for 0
ArduinoPort.write("s"); // Envia o caracter s para o Arduino
}
if(luz[1] == 1){ // se valor recebido for 1
ArduinoPort.write("S"); // Envia o caracter S para o Arduino
}
if(luz[2] == 0){
ArduinoPort.write("c");
}
if(luz[2] == 1){
ArduinoPort.write("C");
} if(luz[3] == 0){
ArduinoPort.write("m");
}
if(luz[3] == 1){
ArduinoPort.write("M");
}
if(luz[4] == 0){
ArduinoPort.write("b");
}
if(luz[4] == 1){
ArduinoPort.write("B");
}
if(luz[5] == 0){
ArduinoPort.write("q");
}
if(luz[5] == 1){
ArduinoPort.write("Q");
}
}

Exibições: 169

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço