Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
248
Tıklama
0
Öne Çıkarma
c# arduino seri haberleşme
S
7 yıl
Çavuş
Konu Sahibi

merhaba arkadaşlar kinect ile skeleton tracking yapıp ardından elin x y z kooordinatlarını seri porttan arduinoya göndemem gerekiyor

aşağıda kodu paylaşıyorum bu şekilde yaptıgım zaman x y z hepsini birbiriine karıştırıyor

değerleri tek bir stringde aralarına ',' koyarak gönderip arduinoda substring yaparak ayırdım oldu ama o zamanda çok gariptir arada bir yolluyor kafasına göre rastgele değerler falan gönderiyor

baudrate yi 9600 dan 2M e arttırdım az daha iyi oldu ama... çaresizim. Yaardım ederseniz çok iyi olur

string xxx = x2.ToString();
string yyy = y2.ToString();
string zzz = z2.ToString();
string mesaj = xx+','+yy+','+zz;
System.IO.Ports.SerialPort sport = new System.IO.Ports.SerialPort("COM4", 9600);
sport.Open();
sport.WriteTimeout = 10;
//sport.WriteLine(mesaj);
sscanf.Text = mesaj;
sport.(xxx + '
');
sport.Write(yyy + '
');
sport.Write(zzz+ '
');


buradada arduino kodunu paylaşıyorum. radio.write falan var çünkü kablosuz olarak diğer arduinoya göndermem gerekiyor
radio.stopListening();
//String x = mesaj.substring(0, commaIndex);
//int xx = x.toInt();
xx=Serial.parseInt();
sprintf(ch,"%d",xx);
radio.write(&ch, sizeof(ch));
radio.startListening();
radio.stopListening();
//String y = mesaj.substring(commaIndex + 1, secondCommaIndex);
//int yy = y.toInt();
yy=Serial.parseInt();
sprintf(text2,"%d",yy);
radio.write(&text2, sizeof(text2));
radio.startListening();
radio.stopListening();
//String z = mesaj.substring(secondCommaIndex + 1);
//int zz = z.toInt();
zz=Serial.parseInt();
sprintf(text3,"%d",zz);
radio.write(&text3, sizeof(text3));
radio.startListening();


kodlar çok uzun olduğu için sadece ilgili kısımları gönderdim c#
public partial class MainWindow : Window
{

}

arasındadır. C# ile ilgili çok bilmiyorum daha çok C++ yazdığım için bu public partial gibi bölümler ne anlama geliyor tam olarak anlayamıyorum

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi sulo43 -- 21 Nisan 2018; 19:9:25 >

S
7 yıl
Yüzbaşı

Değerleri 8 ya da 16 bit e dönüştürerek tek bir transferde yollayıp tekrar arduino da parçalasanız nasıl olur. Arkadaşım python da böyle bir şey yapmıştı belki işe yarar.



< Bu ileti mobil sürüm kullanılarak atıldı >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.