Sayısal Çıkış etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Sayısal Çıkış etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

11 Temmuz 2014 Cuma

Arduino - C# Arayüzü ile Led Yakma

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 ON ve OFF 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;  // Hali hazırda bulunan ledi kullanacağım.
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);}
  }

}

C# kısmımızda Toolbox'dan aldığımız nesneler, ComboBox, 3 Buton, 1 Label.



Led Yak = Buton 3
Led Söndür = Buton 2
Bağla = Buton 1

Programımıza bakarsanız daha bu kısım daha iyi anlaşılacaktır.
Arayüzü oluşturduktan sonra Components kısmından SerialPort nesnesini arayüzün üzerine atıyoruz.





Amacımız önce programı yüklemiş olduğumuz Arduino'nun portuna, bu 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 (File>Download)
(Exe dosyası ArduinoSerial\ArduinoSerial\bin\Debug klasörünün içinde.)


Bu da C# arayüz oluşturma videomuz ve çalıştırma videomuz ;









Kolay gelsin :)...