C# Arduino Net.socket veri gönderme

muradbey

Üye
Katılım
13 Ağu 2019
Mesajlar
9
Puanları
1
Yaş
28
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.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…