Получение двух значений через последовательный порт с помощью сервоприводов
Итак, у меня есть Java-программа, которая получает координаты мыши x и y на дисплее, и я хотел бы отправить их на свою Arduino, а затем переместить два моих сервопривода в эти места (у меня есть два сервопривода друг над другом, один для x и один для y).
Код Java (обработки), который у меня есть, приведен ниже
void draw(){ //то же, что цикл в arduino
background(52, 152, 219); // цвет фона окна (r, g, b) или (от 0 до 255)
//давайте дадим заголовок нашему окну
fill(0, 255, 0); // цвет текста (r, g, b)
textFont(font);
text("Ripple Effect Maker", 80, 30); // ("текст", координата x, координата y)
ellipse(mouseX, mouseY, 33, 33);
int x = mouseX;
int y = mouseY;
port.write(x+":"+y);
println(x+":"+y);
//println("y="+y);
delay(100);
}
У меня мало кода для Arduino, потому что я не могу найти способ разделить данные на две отдельные переменные, а затем переместить сервоприводы в соответствующие им переменные.
Спасибо за помощь!
@Mcboss, 👍0
Обсуждение1 ответ
Лучший ответ:
Ваша проблема в том, что вы ничего не предоставляете для разделения данных. Вы просто отправляете координаты X и y с : между X и y. Между буквой y и следующей буквой X ничего нет.
Изменив строку
port.write(x+":"+y);
Кому
port.write(x+":"+y+"\n");
Затем вы получаете символ перевода строки, чтобы разделить данные.
- Отправка информации (например, строки) через цифровые контакты
- Java NetBeans отправляет значение и получает значение от Arduino
- Отправка mouseX и mouseY из обработки в Arduino
- Графические данные датчика усилия направляются через HX711?
- Как отправить 2 данных на обработку с Arduino
- Преобразование кода
- Как я могу отправить данные датчиков Arduino в приложение Java?
- Как я буду отображать значения из arduino в JTextArea (Java Netbeans)?
https://majenko.co.uk/blog/reading-serial-arduino, @Juraj