我正在使用 xojo 制作一个应用程序,您可以在其中设置 3 个滑块的值,通过串行监视器将值作为带有 json 的字符串发送,并且我正在使用 arduino 接收 json 值,以通过滑块值移动 3 个伺服电机.
我尝试使用这个 json,但由于我很新,我不知道如何使用它。基本上代码可以工作,不会输出错误,但是不行,我很确定电子部分是完全正确的。你能帮助我吗?
这基本上是我的 Xojo 代码:
var angles as new jsonitem
angles.value("servo1") = slideservo1.value
angles.value("servo2") = slideservo2.value
angles.value("servo3") = slideservo3.value
angles.Compact = True
Serialcontroller.write(angles.toString)
这是我的 Arduino 代码:
#include <Servo.h>
#include <ArduinoJson.h>
Servo myServo1;
Servo myServo2;
Servo myServo3;
StaticJsonDocument<200> doc;
void setup() {
myServo1.attach(8);
myServo2.attach(9);
myServo3.attach(10);
Serial.begin(9600);
}
void loop() {
if (Serial.available()) {
deserializeJson (doc, Serial);
const char* angle1 = doc["servo1"];
const char* angle2 = doc["servo2"];
const char* angle3 = doc["servo3"];
myServo1.write(atoi(angle1));
myServo2.write(atoi(angle2));
myServo3.write(atoi(angle3));
delay(15);
}
}
由于电子部分完全正确,并且代码没有输出错误,我不明白错误是什么。我的目标是移动 Xojo 上的滑块,该值通过串行监视器与 json 一起发送,由 arduino 接收并用作伺服移动的“角度”。提前致谢。