Я хочу отправить строку из обработки в arduino. но Arduino не получает каких-либо данных из последовательного ... смотрите ниже для обработки кода:arduino не принимает последовательных данных
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);
}
посмотреть здесь мой код Arduino:
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);
}
}
, когда я запустить этот скрипт ничего не происходит Arduino Безразлично» я вижу, чтобы получать какие-либо данные ... может кто-то сказать мне, что я делаю неправильно?
Что такое 'parseRed',' parseGreen', и 'parseBlue'? Где они определены и каковы их ценности? Вызывается ли функция Arduino 'loop()'? Включает ли это утверждение if if? Вам повезет, если вы опубликуете [mcve] и расскажете нам о шагах отладки, которые вы уже сделали. –
parseRed, parseGreen, parseBlue - это строки. они выглядят следующим образом: «minRed» или «neuGreen» или «maxBlue» и так далее. и да функция loop() вызывает вызов, потому что она аналогична функции draw() при обработке. – FutureCake
Но откуда вы знаете, что на самом деле его называют? Проводили ли вы какую-либо отладку, чтобы гарантировать это? Вы должны сузить проблему до определенного места, где фактическое выполнение кода отличается от того, что вы ожидаете. Мы не можем с этим справиться, если вы не опубликуете [mcve], который показывает код, который вы фактически используете. –