3 Haziran 2015 Çarşamba

Arduino C# - C Sharp Led Yakma ( Arduino C# haberleşmesi)

   
Bu yazımda C# ile oluşturduğumuz arayüz ile Arduino'nun dijital çıkışlarına hükmetmeyi öğreneceğiz. Uygulamamız 2 aşamadan oluşmakta. Önce Arduino'ya yükleyeceğimiz programda hangi çıkışımızı yani ledi AÇIK ve KAPALI duruma getirecek datayı belirleyeceğiz. Daha sonra da C# arayüzünden önce Port'lara bağlanmayı ve butonlara bastığımızda hangi datayı göndereceğimizi kararlaştıracağız.
    C# ile ilgilenmenizi öneririm çünkü her defasında LCD bağlamak veya Serial Monitör kullanamayacağımız projeler olabilir. Tüm verileri tek arayüz üzerinden göndermek veya almak zorunda kalabilirsiniz. İnternet üzerinden C# üzerine projeleri veya arayüzü öğrenmeniz size fayda sağlar. Lafı fazla uzatmadan önce Arduino kodlarımızı vermek istiyorum;

    


    int led = 13;  // Arduino üzerinde ki Led i kullanacağız
void setup() {              
    pinMode(led, OUTPUT); 
  Serial.begin(9600);  
}
void loop() {
  if(Serial.available())   //Eğer seri haberleşme açık olursa alttaki komutlar işleyecek.
  {int a=Serial.read();    //Seri haberleşme ile okunan verimize a integer değerini verdik.
  if(a=='1')
 { digitalWrite(led, HIGH);}  // a, 1 olursa yanacak.
  
  else if (a == '0')          // a, 0 olursa sönecek.
  {digitalWrite(led, LOW);}
  }

}

Amacımız önce programı yüklemiş olduğumuz Arduino'nun portuna, C# da yazacağımız arayüz ile bağlanarak LED YAK ve LED SÖNDÜR komutlarını kullanmak.

C# komutlarımız ;

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;

namespace ArduinoSerial

{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            serialPort1.PortName = comboBox1.Text;            
            serialPort1.Open();
            
        }       

        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.DataSource = SerialPort.GetPortNames();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            serialPort1.Write("0");
            label1.Text = "LED KAPALI";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            serialPort1.Write("1");
            label1.Text = "LED AÇIK";      
        }                     

        private void comboBox1_SelectedIndexChanged_1(object sender, EventArgs e)
        {

        }           

            }

}

Programın çalışabilmesi için Bilgisayarınızda Framework yüklü olması gerekmektedir.

Tüm Dosyaları İndirmek İçin Tıklayın.
(Exe dosyası LedYak\LedYak\bin\Debug klasörünün içinde.)


Ercan ÇAĞLAYAN CÜ-EEM  2015

Hiç yorum yok:

Yorum Gönder