C# ile Servo Motor Kontrolü

Merhaba arkadaşlar, seri haberleşme konusunda ufak bir sorun yaşıyorum. C# üzerinde tek bir trackBar (slider) ile 1 adet servo motor kontrolü yapıyorum. (Min:0 Max:180 değeri arasında) Fakat bunu arttırmak istediğimde örneğin 5 slider ile 5 servo kontrolü yapmak istediğimde sorun yaşıyorum. C# üzerinden göndermiş olduğum iş yapan kod şu şekilde; if (serialPort1.IsOpen==true) { int PWM_deger = trackBar1.Value; lblPWM.Text = trackBar1.Value.ToString(); lblPWM.Visible = true; byte b = BitConverter.GetBytes(PWM_deger); serialPort1.Write(b, 0, 4); } Arduino kodları ise şu şekilder; #include <servo.h>

Servo myservo;

int pos = 0;
int k;

void setup()
{
Serial.begin(9600);
myservo.attach(10);
}

void loop()
{
if(Serial.available() >0)
{
pos = Serial.read();
if(pos>0)
{
k=pos;
}
}

myservo.write(k);
}

Bu kodlar ile 1 slider 1 motor kontrolü yapabiliyorum fakat benim istediğim bu sayıyı arttırmak. Örneğin 2.bir slider eklediğimde bu sefer açılara +1000 şeklinde eklemeler yaptım. Arduino kısmında mod alarak kalana göre işlem yapmaya çalıştım fakat işe yaramadı. Dikkati mi çeken kısım şu oldu, C# kısmında byte dizisi şeklide değerleri porta yazıyor ve 0. indisten 4.indise kadar aralık alıyor. Yani sanırım 1 3 2 X şeklinde değer gidiyor bu da aslında 132 derecelik açıya karşılık geliyor. Fakat bu dizi değerini arduino da nasıl almam gerekiyor bilmiyorum. Yardımcı olursanız sevinirim.

Şimdiden teşekkürler :)</servo.h>

arduino da serialevent e bakın

https://www.arduino.cc/en/Tutorial/SerialEvent