Merhaba arkadaşlar çok bilindik veya kolay birşey soruyor olabilirim bağılşayın lütfen. Araştırdım ama tam anlamlı birşey çıakrtamadım arduino aldım ve amatör olarak akşamalrı bunlarla uğraşmayı planlıyorum. Asıl işim web programcılığı . Arduino ve 433mhz alıcı - verici modüllerim var c# ile arduino yu rf üzerinden haberleştirmem gerekiyor. Ama tam olarak hangi mantıkla ne kullanarak yapabilirm anlayamadım. Alıcıyı seri port üzerinden bağlayıp seri portu bilgisayarda dinlediğimde bürsürü data geliyor. Bu işlemi yapabileceğim bana örnek olabilecek kaynaklarınız veya faydalanabileceğim bilgileriniz var ise çok memnun olurum teşekkür ederim hepinize.
önce projenizi parçalara bölmekle başlayın. arduino’nun c# ile haberleşmesi kısaca arduino’dan serial.print ile gönderdiğiniz data’nın c# tarafında serialPort1.ReadTo(arg) gibi bir komut ile okunmasından ibaret. burada önemli olan neyin okunacağı, neden okunacağı gibi kısımları iyi tespit etmeniz ve arduino’dan sadece onların gönderilmesini ve alınmasını sağlamanız. önce sistemi arduino-pc arası kurun, sonra kablosuz olarak arduino-arduino hale getirir üzerine bir de pc-arduino-arduino yapısını geçirirsiniz. hepsini bir arada yapmayın. kısım kısım çözün. http://www.instructables.com/id/Interfacing-your-arduino-with-a-C-program/step3/Using-the-serial-port-in-code/ http://www.instructables.com/id/RF-315433-MHz-Transmitter-receiver-Module-and-Ardu/
Cevabınız için çok teşekkür ederim. linkleri inceliycem c# ile seri porta veri yazma kısmı hazır fakat standart string data gönderiyorum. farklı bir aldoritma ile haberleştimeme gerek sanırım.
almak istediğiniz veri tipine göre farklı çözümlere ihtiyaç duyarsınız, eğer sadece durum bilgisi, komut vb basit işlemler yapacaksanız (resim vb binary data haricinde) string tipi yeterli olacaktır. bağlantı hızınızı kontrol ettiniz mi? sanki iki farklı hız değerindeki veriyi okuyorsunuz gibi anladım.
Hayır bağlantı hızları aynı sizin dediğiniz gibi biraz geriye gittim seri port üzerinden c# ile string veri gönderiyorum fakat arduino ile bir türli o string datayı kontrol edemedim yani şöyle Serial.read(); ile seri portu okuduğumda bana string veri gelmiyor. sayısal değerler geliyor.
hımm kod parçanı internette bir yere yükleyebilir misin? kontrol edelim. eğer bağlantı değerlerin aynı ise veritipi sorunu yaşamaman lazım.
http://pastebin.ubuntu.com/7230233/ arduino nun sitesinden aldığım bir kod . Şimdi c# ile seri portan “BERK” string olarak gönderdiğimde arduino seri port dinlemede şu çıktıyı veriyor I received:B I received:E I received:R I received:K println yerine print dersem seri port izlemede datayı “BERK” olarak görüyorum ama sadece bir alt satıra inmediği için yan yana görüyorum . sanırım sıkıntı şurada her seferinde bir data geliyor. benim her seferinde gelen bir datayı gönderdiğim veriyi bilerekten ilk 4 ü saydırıp bir değişkene sürekli eşitleyip “berk” olrak kontrol etmem gerekiyor. yoksa tümü ile bana gelen data “berk” mi değil mi kontro ledemiyorum. ama kodsal açıdan nasıl yapabilirim bir fikrim yok. edit : serial porttan data decimal olarak geri döndürüyordu koddaki Serial.println(incomingByte, DEC); “DEC” kısmını kaldırdım tek tek harf olarak alıyorum. acaba şöyle bir mantık izlenilebilir mi ? gönderdiğim string data da ilk dört verinin decimal sayıları toplamlarını alsam. toplam sayı “BERK” string inin toplmına eşitlenir ise ledi yaktırsam ?
if (gelen_str==“berk”){Ledyak();}