Hallo,
ich habe meine encoder in 12 (0 bis 11) teile aufgeteilt. wie bekomme ich es hin, dass ich den jeweiligen wert, der mein encoder sendet, verwenden kann?
if(encoder==rcvMes->getZ_OSCAddress(0)){
analogWrite(6,255);
analogWrite(5,0);
analogWrite(3,0);
...das soll meiner Meinung nach heißen: Wenn der encoder den Wert 0 sendet, setze Pin 6 auf 255, Pin 5 auf 0 und Pin 3 auf 0
Verstehe ich das richtig, dass ich die PWM der einzelnen Pins richtig angegeben habe, aber die Adresse des encoders (0 bis 11) nicht in die Klammer von .....if(encoder==rcvMes->getZ_OSCAddress(0)).... kommt?
Gruß Julian
Die Fehlermeldung vom Sketch
LED_Ethernet_sketch_2.cpp: In function 'void loop()':
LED_Ethernet_sketch_2:64: error: no matching function for call to 'Z_OSCMessage::getZ_OSCAddress(int)'
C:\Users\Julian\Documents\Arduino\arduino-1.0.1\libraries\Z_OSC/Z_OSCCommon/Z_OSCMessage.h:82: note: candidates are: char* Z_OSCMessage::getZ_OSCAddress()
LED_Ethernet_sketch_2:69: error: no matching function for call to 'Z_OSCMessage::getZ_OSCAddress(int)'
C:\Users\Julian\Documents\Arduino\arduino-1.0.1\libraries\Z_OSC/Z_OSCCommon/Z_OSCMessage.h:82: note: candidates are: char* Z_OSCMessage::getZ_OSCAddress()
LED_Ethernet_sketch_2:74: error: no matching function for call to 'Z_OSCMessage::getZ_OSCAddress(int)'
C:\Users\Julian\Documents\Arduino\arduino-1.0.1\libraries\Z_OSC/Z_OSCCommon/Z_OSCMessage.h:82: note: candidates are: char* Z_OSCMessage::getZ_OSCAddress()
LED_Ethernet_sketch_2:79: error: no matching function for call to 'Z_OSCMessage::getZ_OSCAddress(int)'
C:\Users\Julian\Documents\Arduino\arduino-1.0.1\libraries\Z_OSC/Z_OSCCommon/Z_OSCMessage.h:82: note: candidates are: char* Z_OSCMessage::getZ_OSCAddress()
LED_Ethernet_sketch_2:84: error: no matching function for call to 'Z_OSCMessage::getZ_OSCAddress(int)'
C:\Users\Julian\Documents\Arduino\arduino-1.0.1\libraries\Z_OSC/Z_OSCCommon/Z_OSCMessage.h:82: note: candidates are: char* Z_OSCMessage::getZ_OSCAddress()
LED_Ethernet_sketch_2:89: error: no matching function for call to 'Z_OSCMessage::getZ_OSCAddress(int)'
C:\Users\Julian\Documents\Arduino\arduino-1.0.1\libraries\Z_OSC/Z_OSCCommon/Z_OSCMessage.h:82: note: candidates are: char* Z_OSCMessage::getZ_OSCAddress()
LED_Ethernet_sketch_2:94: error: no matching function for call to 'Z_OSCMessage::getZ_OSCAddress(int)'
C:\Users\Julian\Documents\Arduino\arduino-1.0.1\libraries\Z_OSC/Z_OSCCommon/Z_OSCMessage.h:82: note: candidates are: char* Z_OSCMessage::getZ_OSCAddress()
LED_Ethernet_sketch_2:99: error: no matching function for call to 'Z_OSCMessage::getZ_OSCAddress(int)'
C:\Users\Julian\Documents\Arduino\arduino-1.0.1\libraries\Z_OSC/Z_OSCCommon/Z_OSCMessage.h:82: note: candidates are: char* Z_OSCMessage::getZ_OSCAddress()
LED_Ethernet_sketch_2:104: error: no matching function for call to 'Z_OSCMessage::getZ_OSCAddress(int)'
C:\Users\Julian\Documents\Arduino\arduino-1.0.1\libraries\Z_OSC/Z_OSCCommon/Z_OSCMessage.h:82: note: candidates are: char* Z_OSCMessage::getZ_OSCAddress()
LED_Ethernet_sketch_2:109: error: no matching function for call to 'Z_OSCMessage::getZ_OSCAddress(int)'
C:\Users\Julian\Documents\Arduino\arduino-1.0.1\libraries\Z_OSC/Z_OSCCommon/Z_OSCMessage.h:82: note: candidates are: char* Z_OSCMessage::getZ_OSCAddress()
LED_Ethernet_sketch_2:114: error: no matching function for call to 'Z_OSCMessage::getZ_OSCAddress(int)'
C:\Users\Julian\Documents\Arduino\arduino-1.0.1\libraries\Z_OSC/Z_OSCCommon/Z_OSCMessage.h:82: note: candidates are: char* Z_OSCMessage::getZ_OSCAddress()
LED_Ethernet_sketch_2:119: error: no matching function for call to 'Z_OSCMessage::getZ_OSCAddress(int)'
C:\Users\Julian\Documents\Arduino\arduino-1.0.1\libraries\Z_OSC/Z_OSCCommon/Z_OSCMessage.h:82: note: candidates are: char* Z_OSCMessage::getZ_OSCAddress()
Der Code für mein Arduino
#include <SPI.h>
#include <Ethernet.h> // version IDE 0022
#include <Z_OSC.h>
byte myMac[] = { 0xDE, 0xAD, 0xBE, 0xFE, 0xFE, 0xED };
byte myIp[] = { 192, 168, 178, 4 };
int serverPort = 8000;
byte gateway[] = { 192, 168, 178, 1 }; // ROUTER
byte subnet[] = {255, 255, 255, 0 }; // SUBNET
uint16_t i;
float floatValue;
Z_OSCServer server;
Z_OSCMessage *rcvMes;
void setup(){
//Serial.begin(19200);
Ethernet.begin(myMac ,myIp);
server.sockOpen(serverPort);
//Serial.println("init");
pinMode(7, OUTPUT);
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
analogWrite(3,254);
analogWrite(5,254);
analogWrite(6,254);
}
void loop(){
if(server.available()){
Serial.println("empfang");
rcvMes=server.getMessage();
for(i=0 ; i<rcvMes->getArgsNum(); i++){
switch( rcvMes->getTypeTag(i) ){
case 'f':
floatValue = rcvMes->getFloat(i);
String encoder = "/2/encoder1";
String LEDON = "/3/push1";
String LEDOFF = "/3/push2";
String blue = "/LED/fader3";
String red = "/LED/fader1";
String green = "/LED/fader2";
if(blue==rcvMes->getZ_OSCAddress()){
analogWrite(3,floatValue);
}
if(red==rcvMes->getZ_OSCAddress()){
analogWrite(6,floatValue);
}
if(green==rcvMes->getZ_OSCAddress()){
analogWrite(5,floatValue);
}
if(LEDON==rcvMes->getZ_OSCAddress()){
// ON
digitalWrite(7,HIGH);
}
if(LEDOFF==rcvMes->getZ_OSCAddress()){
// OFF
digitalWrite(7,LOW);
}
if(encoder==rcvMes->getZ_OSCAddress(0)){
analogWrite(6,255);
analogWrite(5,0);
analogWrite(3,0);
}
if(encoder==rcvMes->getZ_OSCAddress(1)){
analogWrite(6,255);
analogWrite(5,96);
analogWrite(3,0);
}
if(encoder==rcvMes->getZ_OSCAddress(2)){
analogWrite(6,255);
analogWrite(5,255);
analogWrite(3,0);
}
if(encoder==rcvMes->getZ_OSCAddress(3)){
analogWrite(6,96);
analogWrite(5,255);
analogWrite(3,0);
}
if(encoder==rcvMes->getZ_OSCAddress(4)){
analogWrite(6,0);
analogWrite(5,255);
analogWrite(3,0);
}
if(encoder==rcvMes->getZ_OSCAddress(5)){
analogWrite(6,0);
analogWrite(5,255);
analogWrite(3,96);
}
if(encoder==rcvMes->getZ_OSCAddress(6)){
analogWrite(6,0);
analogWrite(5,255);
analogWrite(3,255);
}
if(encoder==rcvMes->getZ_OSCAddress(7)){
analogWrite(6,0);
analogWrite(5,96);
analogWrite(3,255);
}
if(encoder==rcvMes->getZ_OSCAddress(8)){
analogWrite(6,0);
analogWrite(5,0);
analogWrite(3,255);
}
if(encoder==rcvMes->getZ_OSCAddress(9)){
analogWrite(6,96);
analogWrite(5,0);
analogWrite(3,255);
}
if(encoder==rcvMes->getZ_OSCAddress(10)){
analogWrite(6,255);
analogWrite(5,0);
analogWrite(3,255);
}
if(encoder==rcvMes->getZ_OSCAddress(11)){
analogWrite(6,255);
analogWrite(5,0);
analogWrite(3,96);
}
break;
}
}
}
}