Я пытаюсь понять, как управлять двумя сервоприводами отдельно от winfroms
C#
настольного приложения.
В C#
инициализация:
myport.PortName = "COM6";
myport.BaudRate = 9600;
myport.Open();
Контролируется trackBar1
:
private void trackBar1_Scroll(object sender, EventArgs e)
{
if (myport.IsOpen)
{
myport.WriteLine(trackBar1.Value.ToString());
}
}
Код Arduino перемещает сервоприводы с pin 9
и 11
, один движется влево, синхронно к правой стороне:
#include <Servo.h>
Servo servo1;
Servo servo2;
int val;
void setup() {
Serial.begin(9600);
servo1.attach(9);
servo2.attach(11);
}
void loop() {
val = Serial.parseInt();
if(val != 0){
servo1.write(val);
servo2.write(val);
}
}
для управления направлением, я могу создать отдельную функцию void для servo1
и servo2
с различным значением угла, но я не могу понять, как получить отдельное управление для каждого сервопривода из приложения C#
. Я не уверен, что я должен добавить в Arduino uploaded code
и C#
, например, если я хочу управлять servo2
с pin 11
с trackBar2
и servo1
с pin 9
с trackBar1
:
private void trackBar2_Scroll(object sender, EventArgs e)
{
if (myport.IsOpen)
{
myport.WriteLine(trackBar2.Value.ToString());
}
}
Любой совет, руководство или пример был бы очень полезен