11 Ekim 2014 Cumartesi

[ Arduino & C#.Net Uygulamaları #8 ] C#.Net'ten Arduino'a Veri Gönderimi

Hamza Öztaş Share:


Merhaba arkadaşlar bugünkü Arduino C# uygulamamızda şöyle bir şey yaptık, C# üzerinde oluşturmuş olduğum arayüzde Motor-1, Motor-2, Motor-3, Motor-4, Motor-5 olarak isimlendirdiğimiz textboxlarımıza girmiş olduğumuz sayısal değerleri Arduino'muza göndermek. Arduino'muz gelen bu değerler val1, val2, val3, val4, val5 isimli integer tipindeki değişkenlerde tutulmaktadır. Bu uygulamayı daha  çok Arduino ile Step Motor sürme çalışması yapıp C# tan kontrol etmek isteyenler için yazdım. Arduino'da yukarıda bahsettiğim değişkenlerde tutulan değerleri istediğiniz şekilde çalışmalarınıza entegre edip step motor sürmek için gerekli gerekli olan açı değeri olarak ta kullanabilirsiniz.


  • Arduino ve C# Kodlarına ulaşmak için buraya tıklayın;
  • Test yapmak için şöyle bir şey yapabilirsiniz arkadaşlar
    • Textbox'lardan herhangi bir değer gönderin, farz edelim ki sırasıyla 10, 20, 30, 40, 50 değerlerini gönderelim.
    • Arduino tarafından da, sırasıyla bu degerler val1,val2,val3,val4,val5 isimli değişkenlerde tutuluyo demiştim, o zaman sırasıyla bu degerleri sorgulayalım ve led yak söndür yapalım. Mesala
      • if(val1==10) { //led yak söndür}
      • if(val2==20) { //led yak söndür} gibi
    • 5 ayrı textbox için led yakma söndürme eklemesini yaptım ulaşmak için buraya tıklayın.



 





Tarafından Yayınlandı >> Hamza Öztaş

Hamza Öztaş'ı google plus'ta takip etmek için Google'a tıklayın;
Google+.

9
replies
  1. hocam yazı için teşekkürler. benim şöyle bi sorum olacak eğer değişkeni int değilde float yada double olarak yollamak istersek nasıl yapacağız.

    YanıtlaSil
  2. Hocam bu kodları proteusda denedim bir türlü ledi yaktıramadım Proteus simulasyonu varsa paylaşır mısınız?

    YanıtlaSil
  3. Merhaba.c# ve arduino üzerinden pid ile dc motor kontrol etmek istiyorum.Öncelikle dediğiniz gibi ledi yukardaki şekilde yaktım.C# dan 4 adet pid değeri(setpoint,kp,kd,ki) alarak arduino ile haberleşme kısmını yaptığımı düşünüyorum.Fakat arduino yani pid kod kısmında sorun yaşadım.Hata kodu almadım ama motor çalışmadı.Arduino kodum şu şekilde;#include

    char Char;
    String x,y, z, q;
    double Output, Input, Setpoint,Kp, Kd, Ki;
    const int output = 5;
    int InputValue = 0;




    PID myPID(&Output, &Input, &Setpoint,Kp,Ki,Kd, DIRECT);


    void setup() {
    Serial.begin (9600);

    myPID.SetMode(AUTOMATIC);
    }

    void loop() {
    if(Serial.available()>0)
    {
    Char=Serial.read();
    if(Char='a');
    { x=Serial.readStringUntil(';');
    Setpoint = x.toInt();

    y=Serial.readStringUntil(',');
    Kp = y.toInt();


    z=Serial.readStringUntil(':');
    Kd = z.toInt();

    q=Serial.readStringUntil('&');
    Ki = q.toInt();

    }

    myPID.Compute();
    analogWrite(output,Output);
    }
    }
    yardımcı olursanız çok sevinirim.Şimdiden teşekkürler.

    YanıtlaSil
  4. Bu yorum yazar tarafından silindi.

    YanıtlaSil
  5. Merhaba,
    kodun arduino kısmı başarılı bir şekilde çalışıyor seri ekrandan değer yazarak da alıyor fakat c# kısmında gönder butonuna tıkladığımda herhangi bir cevap alamıyorum. Çıkması gereken msgbox da çıkmıyor yardımcı olursanız çok sevinirim.
    Teşekkürler,

    YanıtlaSil
  6. Merhaba, c# tarafında textbox lara değerleri girip gönder butonuna tıkladığınızda bu değerler arduino a gönderilip val1,val2.. değişkenlerinde tutuluyor, siz bu değişkenleri sorgulayıp istediğinizi yaptırabilirsiniz.

    YanıtlaSil
    Yanıtlar
    1. Bu yorum yazar tarafından silindi.

      Sil
  7. uygulamayı paylaşa lı uzun zaman oldu, paylaşımdan önce deneyip öyle yayınlıyorum. Uyglamada seriport nesnesi ekleyip birde öyle dener misiniz.

    YanıtlaSil
  8. İlginiz ve uygulama için teşekkür ederim. Programda sanırım benim visual C# dan dolayı bir hata oluştu.
    Ben kodları basic diline çevirip denedim ve orda çalıştırabildim.
    Basic için Kod isteyen arkadaşlar olursa semih.kiral@mail.com adresinden mail atarlarsa yardımcı olabilirim.

    Saygılarımla,

    YanıtlaSil

Get Updates in your Email
Complete the form below, and we'll send you our best of articles.

İletişim

© >> |
TOP