Selam Cumleten herkese Kolay gelsın Arkdaslar ben arduino ya yenı basladım C# Bılgım var ama arduıno fazla yok ve Kendımı gelıstırmek amaclı bır proje yapıyorum Robot kol Dıyelım C# ıle bır arayuz hazırladım serı haberlesmede arduınoya komut yollaya bılıyorum ama motor hep ılerı gıdıyor ıstedıgım gıbı olmuyor amacım arayuzde butona basıldıkca motor ılerlesın ben butona bastıgım zaman hep ılerlıyor herkese tesekkurler yardımları ıcın kolay gelsın arduıno tarafı #include <servo.h>
Servo myservo;
int pos = 0;
int message = 0;
void setup()
{
myservo.attach(9);
Serial.begin(9600);
}
merhaba c# üzerinden arduino ile 2 servonun kontrolünü yapcam.Aşağıdaki gibi kodları oluşturdum ama sorun şu ki herhangi bir trackBar ı hareket ettirdiğimde iki servo da aynı hareket ediyor normalde biri hareket etmeli nerede yanlış yapıyorum arduino kodu include <servo.h>
Servo myservo1;
Servo myservo2;
int pos1 = 0;
int pos2 = 0;
int k1;
int k2;
c# kodu
private void button5_Click(object sender, EventArgs e)
{
serialPort1.PortName = “COM3”; // Arduinonun bağlı olduğu port
serialPort1.Open();
label3.Text = “Bağlandı”; // Butona basılınca serial bağlantı gerçekleşir.
}
private void trackBar1_Scroll(object sender, EventArgs e)
{
// serial bağlantı gerçekleşmişse truckbarın değeri serialden integer olarak gönderilir
if (serialPort1.IsOpen == true)
{
int PWM_deger = trackBar1.Value;
label5.Text = trackBar1.Value.ToString();
// int değeri byte a dönüştürme işlemi.
byte[] b = BitConverter.GetBytes(PWM_deger);
serialPort1.Write(b, 0, 4);
}
else // gerçekleşmemişse hata mesajı verir.
{
label3.Text = "Önce Cihaza Bağlan !!";
}
}
private void trackBar2_Scroll(object sender, EventArgs e)
{
// serial bağlantı gerçekleşmişse truckbarın değeri serialden integer olarak gönderilir
if (serialPort1.IsOpen == true)
{
int PWM_deger_2 = trackBar2.Value;
label7.Text = trackBar2.Value.ToString();
// int değeri byte a dönüştürme işlemi.
byte[] b_2 = BitConverter.GetBytes(PWM_deger_2);
serialPort1.Write(b_2, 0, 4);
}
else // gerçekleşmemişse hata mesajı verir.
{
label3.Text = "Önce Cihaza Bağlan !!";
}
}</servo.h>
void loop() { if(Serial.available()>0) { message=Serial.read(); Serial.print(message); if(message==‘k’) { bu kısmı tekrar ettiği için sürekli dönüyor.Yukarıda if(message==‘k’) { } k=“”; yazarak hareketi bir kez yapması sağlanmış.