Ethernet shield ile Visual basic de yaptığım c# programı üzerinden arduino ya veri aktarma

antison

Üye
Katılım
26 Ara 2008
Mesajlar
2
Puanları
1
Yapmak istediğim "123" sayısını yada string değişkenini ethernet üzerinden arduinoya göndermek Ve arduino nun bunu okuyup işlem yapması. Yardımlarınızı bekliyorum teşekkürler.
 
Yok saçma degil,dataları ya ethernet girişi olan chip e direk göndereceksin veyahutta ethernet den gelen bilgileri rs232 ye çeviren modullerle okuyup bu datayı arduino da degerlendireceksin.Her ikiside mümkün,ancak ethernetten direk chip aracılıgı ile data alıp verme işlemleri epeyce karışık yazılım gerektiriyor,bununla ugraşmamak için en kolayı etherneti 232 ye ceviren direk chipleri kullanmak.
 
Dediğiniz şey için arduino port u pcye bağlı olması gerekiyo birden fazla pc kontrol etcek belki onlar o datayı gönderemicek sadece ethernetten göndermek lazım
 
@muradbey
Sanırım wiznet chip'li shield kullanıyorsunuz.
Arduino'nun resmi sitesinde zaten bu shield için webserver, http client, chat vs. örnekler var. Bunlardan birini kendi amacınız doğrultusunda modifiye edebilirsiniz.
Hatta webserver örneğinden giderseniz göndermek istediğiniz sayı vs. bilgisini direkt arduino üzerinde girmiş olursunuz. C# vs. de gerekmez. PC de, telefonda bir tarayıcı yeterli olur.

İllede C# derseniz, net.socket, mvc vs. bir yapı üzerinden devam edebilirsiniz.
TCP/IP ile bilgi eksiğiniz varsa adım adım sorarak, detaylandırarak devam edin. Konu oldukça geniş sonuçta.
 
Evet hocam wiznet kullanıyorum ben size problemimi söyleyim ozaman cözebilirseniz cok duacınız olurum C# da textbox bir button, textbox a (0-999) arasında bibdeğer girip butona bastığımda bunu arduinoya göndermek istiyorum arduinoda bir isme atamak istiyorum int gelenveri ; mesela buna ama bunu nasıl yapcam aslında amacım bir sayıcı yazdım arduinoya input geldiğinde C# da sayıcının içeriğini görüyorum ama ben bunu c# da yazdığım textbox değeriyle karşılaştırmak istiyorum örneğin if( sayac > gelenveri); {digitalWrite (5, HIGH)} lütfen yardım edin C#da Ne.Socket kütüphanesi kullanıyorum arduinoda wiznet ethernet shield
 
bir sayıcı yazdım arduinoya input geldiğinde C# da sayıcının içeriğini görüyorum ama ben bunu c# da yazdığım textbox değeriyle karşılaştırmak istiyorum
Yani Arduino'dan C#'a veri yollayabiliyorsun, ama C# 'dan Arduino'ya veri yollama kısmında mı sorun var.
Öyleyse işin büyük kısmı zaten çözülmüş.
Bağlantı yı kurarken, dinleyen taraf, bağlantı isteğini gönderen taraflar hangileri. Bağlantı için TCP/UDP ne kullanıyorsun?
Bahsettiğim örneklere baktın mı?
 
Yani Arduino'dan C#'a veri yollayabiliyorsun, ama C# 'dan Arduino'ya veri yollama kısmında mı sorun var.
Öyleyse işin büyük kısmı zaten çözülmüş.
Bağlantı yı kurarken, dinleyen taraf, bağlantı isteğini gönderen taraflar hangileri. Bağlantı için TCP/UDP ne kullanıyorsun?
Bahsettiğim örneklere baktın mı?
Hocam Tcp kullanıyorum veri alabiliyorum char olarak sadece karakter gönderebiliyorum 999 sayı verisini nasıl göndericem arduinodan tekrar nasıl alıcam onu anlamadım serial port kullanmak istemiyorum bu veriyi sadece ethernetten yollayıp alabilmem lazım misal yapabilirseniz bana örnek arduinoya sayac yazın her input da sayacın içeriği 1 artıcak bunu C# dan görüyorum ama problem yaşadığım nokta C# da textbox a 0 ila 999 arasında bi değer yazıcam misal 10 yazıp c#dan butona bastık sayıcı iceriği 10 olunca çıkış vericek textboxdan kaç yazarsam sayac textboxdan gönderdiğim veriye eşitse veya büyükse herhangi bi pin çıkış vercek mesele bu cok uğraştım çok kafa yordum olmadı Allah rızası için yardım edin
 
Yardım edin demek yerine, kodunun ilgili bölümünü eklesen nasıl olur.
Bağlantı sürekli açık mı, dinleyen, bağlantı yapan hangi taraf. ?

C# da, textbox içeriğini bir string değişkene atayıp
conn.Send(bytesSent, bytesSent.Length, 0);
gibi bir şey yazman yeterli olacak.

Arduino tarafında da gelen değişkeni 65535 den küçükse int bir değişkene büyükse long/float bir değişkene atayacaksın. Bu atama içinde atoi/atol fonksiyonlarını kullanabilirsin.
Arduino tarafında gelen veriyi nasıl alacaksın kısmı server.read() veya client.read() şeklinde.
 

Forum istatistikleri

Konular
129,734
Mesajlar
929,358
Kullanıcılar
452,456
Son üye
WasTR

Yeni konular

Geri
Üst