2016-04-05 25 views
0

Ich möchte eine Zeichenfolge von der Verarbeitung an Arduino gesendet. aber die Arduino erhalten keine Daten von der seriellen ... siehe unten für die Verarbeitung Code:Arduino empfängt keine seriellen Daten

import processing.serial.*; 
Serial myPort; 

void setup(){ 
    String portName = Serial.list()[2]; 
    myPort = new Serial(this, portName, 9600); 
} 

void draw(){ 

    myPort.write(parseRed + " | " + parseGreen + " | " + parseBlue); 

} 

sehen hier mein Arduino Code:

String serialData; 

String serialDataRed; 
String serialDataGreen; 
String serialDataBlue; 

void setup(){ 
    Serial.begin(9600); 

} 

void loop(){ 

    if (Serial.available()) { 
     serialData = Serial.readString(); 

     serialDataRed = serialData.substring(0, 5); 
     serialDataGreen = serialData.substring(9, 16); 
     serialDataBlue = serialData.substring(20, 26); 
    } 

} 

, wenn ich dieses Skript nichts laufen geschieht Arduino doesn‘ t sehen, um irgendwelche Daten zu erhalten ... kann mir jemand sagen, was ich falsch mache ??

+0

Was ist 'parseRed',' parseGreen', und 'parseBlue'? Wo sind sie definiert und was sind ihre Werte? Wird die Arduino 'loop()' Funktion jemals aufgerufen? Gibt es diese if-Anweisung ein? Du wirst mehr Glück haben, wenn du ein [mcve] postest und uns die Debugging-Schritte mitteilst, die du bereits gemacht hast. –

+0

parseRed, parseGreen, parseBlue sind Strings. Sie sehen wie folgt aus: "minRed" oder "neuGreen" oder "maxBlue" und so weiter. und ja die loop() Funktion wird aufgerufen, weil sie der draw() Funktion in der Verarbeitung entspricht. – FutureCake

+0

Aber woher wissen Sie, dass es tatsächlich aufgerufen wird? Haben Sie Debugging durchgeführt, um dies zu gewährleisten? Sie müssen das Problem auf einen bestimmten Punkt eingrenzen, an dem sich die tatsächliche Ausführung des Codes von dem unterscheidet, was Sie erwarten. Wir können Ihnen nicht wirklich helfen, es sei denn, Sie veröffentlichen einen [mcve], der den Code anzeigt, den Sie tatsächlich ausführen. –

Antwort

0

gut fand ich meine Fehler: D irgendwie ein dummer Fehler Teig ...

String portName = Serial.list()[2]; 

sollte sein:

String portName = Serial.list()[3]; 

weil mein Arduino an einen anderen USB-Port angeschlossen wurde dann vor. .. so ist die Lektion: Überprüfen Sie, ob Sie den richtigen Port verwenden ... danke Kevin für die Hilfe Teig :)