C# Arduino Net.socket veri gönderme

muradbey

Üye
Katılım
13 Ağu 2019
Mesajlar
9
Puanları
1
Yaş
27
Merhaba, öncelikle projemi anlatayım sonra yaşadığım problemi bayadır arduino kullanıyorum C# 'yeni geçtim Arduino ile C#'ı haberleştiriyorum Net.socket kütüphanesi ile server kapalı ağda sayaç yazdım arduinoya her input geldiğinde +5v C# da okuyorum sayıyor 1 2 3... takıldığım problem şu C#'a Textbox açmam gerek ve bir buton textbox a sayı girmem lazım butona basınca arduinoya göndericek ama en az 0 -99999 5 basamklı arduinoya bunu bi int değere eşitlemem lazım arduino'da yazmış olduğum sayaç ile bu girilen değeri karşılaştırmak istiyorum misal if (sayaç > Gelenveri ) sayaç gelen veriye eşitse bir çıkışı aktif edicek textbox a girilen değeri butonla hangi komutla bu değeri gönderebilirim acil yardımınıza ihtiyacım var.
 
yardımcı olabilecek bir babayiğit yok mu ?
 

böyle bişey mi arıyorsun, böyle bişey ise arayayım eski programlarımı
 
Hocam tam olarak böyle bisey değil ama atarsanısz prosesbar kısımları isime yarayabilir belki ben ethernet shield ile data alıp veriyorum
 
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace UDP_Uygulama
{
    public partial class Form1 : Form
    {
        send a = new send();
        receive b = new receive();

        int counter = 0;

        public Form1()
        {
            InitializeComponent();
            timer1.Interval = 10;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string ip, mesaj;
            Int32 port;

            ip = textBox1.Text;
            port = Convert.ToInt32(textBox2.Text);

            mesaj = "1";

            timer1.Start();          

            a.uzakip(ip);
            a.uzakport(port);
            a.mesaj(mesaj);
            a.mesajgonder();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            counter++;
            b.mesajal();
            label2.Text = b.mesaj;

            seviye_komponent1.seviyepanel(Convert.ToDouble(b.mesaj));

            if (counter == 300)
                counter = 0;
        }
    }
}

C#:
public void mesajal()
        {
            IPEndPoint uzakadres = new IPEndPoint(IPAddress.Any, port);
            byte[] gelenmesaj = udpClient.Receive(ref uzakadres);

            if (gelenmesaj.Length > 0)
            {
                mesaj = Encoding.ASCII.GetString(gelenmesaj);
            }
        }

seviye paneli arduinodan aldığı bilgi ile ilgili kodlar burada, processbar değil kendi yaptığımız bir eleman.
 

Forum istatistikleri

Konular
128,161
Mesajlar
915,574
Kullanıcılar
449,920
Son üye
Bafrali1655

Yeni konular

Geri
Üst