Работаю с роботом-манипулятором, суть чтобы после отправки в монитор порта строки, он считывал номер в коде указано как S1-5 и значение, после чего в зависимости от номера начинал работать определенный сервопривод, код рабочий, ардуино принимает, но сервы не работают. Проблем с распиновкой вроде нету.
#include <Servo.h>
#include <Arduino_JSON.h>
// const int ServoOnePin = 4;
const int ServoPlecho = 5;
const int ServoVrashenie = 3;
const int ServoPredplechie = 9;
const int ServoLapkaVrashenie = 11;
const int ServoLapka = 13;
// Servo servoOne;
Servo servoOne;
Servo servoTwo;
Servo servoThree;
Servo servoFour;
Servo servoFive;
// {"S1": 12}
String input = "";
void setup() {
Serial.begin(9600);
// pinMode(ServoOnePin, OUTPUT);
pinMode(ServoPlecho, OUTPUT);
pinMode(ServoVrashenie, OUTPUT);
pinMode(ServoPredplechie, OUTPUT);
pinMode(ServoLapkaVrashenie, OUTPUT);
pinMode(ServoLapka, OUTPUT);
servoOne.attach(ServoPlecho);
servoTwo.attach(ServoVrashenie);
servoThree.attach(ServoPredplechie);
servoFour.attach(ServoLapkaVrashenie);
servoFive.attach(ServoLapka);
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available()) {
while (Serial.available() > 0) {
input += (char)Serial.read();
delay(2);
}
Serial.println(input);
JSONVar myObject = JSON.parse(input);
if (JSON.typeof(myObject) == "undefined") {
Serial.println("Parsing input failed!");
return;
}
if (myObject.hasOwnProperty("S1")) {
Serial.print("myObject[\"S1\"] = ");
Serial.println((int)myObject["S1"]);
int gr = (int)myObject["S1"];
servoOne.write(gr);
input = "";
}
if (myObject.hasOwnProperty("S2")) {
Serial.print("myObject[\"S2\"] = ");
Serial.println((int)myObject["S2"]);
int gr = (int)myObject["S2"];
servoOne.write(gr);
input = "";
}
if (myObject.hasOwnProperty("S3")) {
Serial.print("myObject[\"S3\"] = ");
Serial.println((int)myObject["S3"]);
int gr = (int)myObject["S3"];
servoOne.write(gr);
input = "";
}
if (myObject.hasOwnProperty("S4")) {
Serial.print("myObject[\"S4\"] = ");
Serial.println((int)myObject["S4"]);
int gr = (int)myObject["S4"];
servoOne.write(gr);
input = "";
}
if (myObject.hasOwnProperty("S5")) {
Serial.print("myObject[\"S5\"] = ");
Serial.println((int)myObject["S5"]);
int gr = (int)myObject["S5"];
servoFive.write(gr);
input = "";
}
}
}