Uygulamamızda C# ile “LED Aç” ve “LED Kapa” isimli iki butona bastığımızda LED yanması ve kapanmasını kontrol ediyoruz. Arduino ile Seri Haberleşmesinde kullanılan Serial Monitor penceremize harici olarak “1” ve “0” bilgilerini gönderdiğimizde LED yanması ve sönmesi durumlarını etkileyeceğiz.

Arduino Kodları

Arduino kartımızın üzerinde hazır bulunan 13 nolu LEDin durumunu Serial Monitor penceresinden gönderilen “1” değerine göre HIGH, “0” değerine göre LOW yapan kodlarımızı yazalım.

Kod:
 /* 
 Muhammed Mustafa Özbay / Siyah Prens
 */
 
 void setup ()
 {
    pinMode(13, OUTPUT);
    Serial.begin(9600);
 }
 
 void loop()
 {
    if(Serial.available())        // Serial portu okur ve bir gönderi ile aktif olursa kodu çalıştırır.
    {
      int led =Serial.read();     // Serialden gelenleri "led" değişkenine atar.
      if (led == '1')             // Gelen veri "1" ise bu bloktaki kodu çalıştırır.
      {
        digital.Write(13,HIGH);   // Led Açık.
      }
      else if (led == '0')        // Gelen veri "0" ise bu bloktaki kodu çalıştırır.
      {
        digitalWrite(13,LOW);     // Led Kapalı.
      }
    }
 }
Kodlar için:
https://gist.github.com/c2168d640328cbd6ef3e.git

C# Kodları

Seri Port Bilgilerini Tanımlama

Burada arduino kartımızı bilgisayarımıza tanıttığımıza Aygıt Yöneticisi üzerinden görebildiğimiz port ismini, seri haberleşme hızını (Serial.begin(9600) kısmında olan değerdir.) belirtip portu kullanıma açan kodlarımızı yazıyoruz.

Kod:
using System;
using System.Collections.Generic;
using System.ConponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.I0.Ports;  //Serial Port haberleşmesinde kullanılan kütüphane
    nanespace SerialCommunication
      {
          public partial class Forml : Form
        {
          bool LEDDurumu = false;
          public Form1()
         {
            InitializeConponent();
            serialPort1.PortNane = "COM1"; // Bilgisayarınızda bulunan Seri Port numarası
            serialPort1.BaudRate = 9600;  // Bulunan Serial port band hızı/derecesi
            serialPort1.Open();
          }
Kodlar için:
https://gist.github.com/8a4693b476f4b51df2e2.git

LED Açık ve Led Kapalı Butonu

Buttonlara ben kendim isimlendirdim sizde bunu button olayına göre değiştirirsiniz.

Kod:
private void ledacik_Click(object sender, EventArgs e) // Led Açan buttonun ismi "ledacik"
{
  serialPort1.Write("1");
}
private void ledkapali_Click(object sender, EventArgs e) // Led Açan buttonun ismi "ledkapali"
{
  serialPort1.Write("0");
}
Kod için:
https://gist.github.com/d839b3c94cdcdaad379c.git

USB ile bağlı iken buttonlara basınca durumun (Lede ait) değiştiğini görebilirsiniz.