Visual Studio(c#) ve Arduino haberleşmesi ile ilgili 2 soru
  • Arkadaşlar merhaba. Bir türlü çözemediğim ve bana yardımcı olabileceğinizi düşündüğüm 3 sorum var.

    1. Sorum şu. Benim parmak izi ile ilgili bir proje ödevim var. Parmak izi sensörümle ilgili öyle bir sıkıntı var. Visual studio ile arduino haberleşmesini sağladım fakat visual studioda projemi başlatığ seri bağlantıyı açtığım zaman program kasılıp kalıyor. Yani benim yazdığım program kasılıp kalıyor visual studio değil. Ama ben parmak izimi okuttugumda veriyi alıyor(ekrana yazdırıyor, veri tabanına kaydediyor vb.) ve sonra normale dönüyor. While döngüsüne sokarsam eğer. işlemi yine yapıyor ama bu sefer program sürekli kasılı kalıyor. oynatamıyorum başka sayfaya geçemiyorum. Ama yine parmak izini okuttuğumda işlemi yapıyor.
    sp1.Open();
    String data = sp1.ReadLine();
    sp1.Close();
    Ben biraz kurcaladım değişik kodlarla ve sp1.ReadLine() kısmına geldiğinde kasılıyor. yani arduino dan bir değer gelinceye kadar kasılıp kalıyor. Ne hata mesajı veriyor ne de başka bir şey. Benzer bir sorunu bulamadım internetten araştırmış olmama rağmen baya. Bunun sebebi nedir ve çözüm yolu nedir yardımcı olabilecek var mı?

    2.Sorum ise şu. Benim projemde aynı programa farklı sınıflardan parmak izleri geleceği için birden çok parmak izi sensörü olacak ve bunlar tek bir programa bağlı olacak ve gelen öğrenciler veri tabanına farklı sınıflardan kayıt edilecek. Burda merak ettiğim olay visual studio üzerinden aynı anda birden çok parmak izi sensörünü nasıl çalıştırabilirim ? Çünkü yine yukarıdaki sorun engel oluyor. yani seri port bağlantıları for döngüsüne sokup sp1.open(), sp2.open() yaparak başlatılabilir fakat veri alırken String data = sp1.ReadLine(); kısmında arduinodan veri gelene kadar program bekletiyor. buda ilk sınıftan birisi parmak izi okutana kadar diğer sınıflardan kimse parmak izi gireme. çok saçma bir olay olur. Var mı bunun bir kısa kodu veya başka bir mantığı ? Ben internette bulamadım çünkü birden çok seri portu açmayı. Bildiğiniz kaynak varsa ve yönlendirirseniz sevinirim.
  • veri okumayı sürekli olarak yaptığınız için program sadece veri okuyor, veri geldiğinde ilgili işini yapıp tekrar okumaya devam ediyor.
    arduino kodlarını sadece parmak izi okuduğunda veri gönderecek şekilde düzenleyip, c sharp modülünüzde de DataReceived event'ı ile işlem yaparsanız kilitlenme ortadan kalkacak, bu yöntemle birden çok seri port ile de haberleşebilirsiniz, eğer zamanız varsa paralelleştirme, oop konularında da araştırma yaparak projenizin temellerinin düzgün olmasını sağlayarak ilerlediğinizde yaşayacağınız performans problemlerinin önüne geçebilirsiniz. başarılar.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.