Bu uygulama da Visual Studio programında hazırladığımız arayüzdeki butonlar ile Arduino nun 13. pinine bağlı ledi kontrol edeceğiz ve ledin durumunu da textbox a yazacağız.

     Öncelikle Visual Studio programını açıyoruz. Karşımıza çıkan Start Page ekranında Start bölmesinden New Project i seçiyoruz. Windows Form Application ı seçip hedef klasör seçerek projeyi açıyoruz. Arayüz olarak diğer arayüz tasarım programlarına benziyor. Toolbox menüsü altından seri haberleşme için kullanılan Serial Port kontrolünü seçiyoruz.(Toolbox menüsü altındaki elemanlar genellikle kontrol olarak isimlendirilir (Buton kontrolü,Textbox kontrolü gibi).

serial port
Toolbox dan Serial Port un seçilmesi

     Bu kontrol Visual Studio tarafından hazırlanmış, seri haberleşme için büyük kolaylık sağlayan bir kontroldür. Kontrolü sürükle bırak ile forma bıraktıktan sonra form da değil formun alt kısmında görünecektir. Yani proje çalıştırıldığında form da görünmeyecektir.

     Uygulamadaki amacımız 2 buton kullanarak led kontrolü yapmak. Bu temel bir uygulamadır, ancak bu mantığı bilirseniz arayüzde herhangi bir kontrol ile her işlemi arduino da gerçeleştirebilirsiniz. Visual Studio da her kontrolün sağ kısımda Properties sekmesi vardır. Serial Port a tıklayıp Properties ini açarak bu kontrolün bazı özelliklerini değiştireceğiz. Bu kısımda 2 önemli ayar vardır. BaudRate ve Portname kısımları Arduino programındaki ile aynı olmalıdır. Diğer ayarlara dokunmanıza gerek yoktur.

seri port properties
Serial Port un özellikler penceresi

     Uygulama diğer elemanları ekleyerek devam ediyoruz. 2 tane Buton, 1 Label, 1 tane de Textbox ekliyoruz. Görsellik için butonların ve label ın Text ve BackColor özelliklerini değiştiriyoruz.Visual Studio da yaptığımız form tasarımı ve programın kod penceresini açınca gelen ilk kod  aşağıda verilmiştir. Biz bu kod parçasına birkaç ekleme yaparak kodu tamamlayacağız.

Visual Studio tasarımı
Visual Studio tasarımı
Visual Studio da ilk açılan kod ekranı
Visual Studio da ilk açılan kod ekranı

     Arduino üzerindeki ledi kullanacağımız için bir devre şemasına ihtiyaç yoktur. Aşağıda arduino ve visual studio kodlarını görebilirsiniz.

VISUAL STUDIO KODLARI

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 arduino_led_kontrol
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            serialPort1.Open();            // Seri port açılıyor
        }

        private void button1_Click(object sender, EventArgs e)
        {
          serialPort1.Write("a");        // seri porta a karakterini yaz
          textBox1.Text = "Led yandı"; // Textbox1 in Text (yani içinde yazan ifade) yi led yandı yap
        }

        private void button2_Click(object sender, EventArgs e)
        {
          serialPort1.Write("b");      // seri porta b karakterini yaz
          textBox1.Text="Led söndü";  // Textbox1 in Text (yani içinde yazan ifade) yi led söndü yap
        }
    }
}

 

ARDUINO KODLARI

char veri=0;

void setup() {
 pinMode(13,OUTPUT);
 Serial.begin(9600);
}

void loop() {
  if (Serial.available()){    // Seri haberleşme varsa
      veri=Serial.read();     // Haberleşmeden gelen bilgiyi veri değişkenine ata
          if (veri=='a'){     // Gelen veri a karakteri ise
              digitalWrite(13,1);  // Ledi yak
          }
          else{               // Gelen veri a değilse
              digitalWrite(13,0);  // Ledi söndür
          } 
  }
}

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz