Rs-232 ile Labview ve Arduino MEGA 2560 Kullanılarak LED Yakıp Söndürme Projesi

Merhaba arkadaşlar bugün sizlerle Rs-232 ile Labview ve Arduino MEGA 2560 kullanılarak led yakıp söndürme işlemini gerçekleştiricez.Neden bu proje ? bu soruya cevap verecek olursak arkadaşlar  led yakıp söndürme olayının  röle tetiklenmesinde , kendin yap projelerinde yer alan PLC devrelerinin temelini oluşturması ,Arduino MEGA kartının robotik projelerinde tercih edilmesi  ve ülkemizde otomasyon sistemlerinin kontrol edilmesinde LABVIEW programının tercih edilmesi   beni bu projenin yapımına götürmüştür.Bu cevaptan sonra isterseniz projeye adım adım başlayalım arkadaşlar ;.

GEREKSİNİM PROGRAMLARI

  • Labview  programını kendi bilgisayarınızın özelliğine ve bu programa ait istediğiniz sürümü Labview  ifadesine  basarak,
  • Arduino MEGA 2560 kartına ait yapılan yazılımın derlenmesi için Arduino IDE ifadesine basarak,
  • Elektronik devre tasarımının yapılabilmesi için Proteus ISIS ifadesine basarak,
  • Arayüz programı ile proteus ISIS ortamında çizilen elektronik devrenin similasyonunu gerçekleştrimek için Virtual Serial Port ifadesine basarak üye olunması şartı ile deneme sürümlerini indirip programları inceleyebilir kullanabilirsiniz.

PROJENİN AMACI

Evet arkadaşlar bu projede neler öğreneceğiz sorusuna aşağıdaki maddelerle açıklayacak olursak;

  1. Arduino MEGA, RS-232 iletişim protokolü,MAX 232, led, 2×16 LCD ekran kavramlarını öğrenmek..
  2. Arduino MEGA 2650 kartına ait gömülü yazılım kodları , açık kaynak kodu olarak kullanılarak yazılımda kullanılan komutlarının kullanım amaçlarını öğrenmek.
  3. Arduino MEGA 2650 kartı kullanılarak  PC ile nasıl haberleşeceğini göstermek ve öğrenmek.
  4. Labview arayüz programı ile gerçek elektronik devreye gereksinim duymadan  hem elektronik devrenin hemde gömülü yazılımın proteus isis ortamında nasıl test edilir sorusuna cevap vermek.

TEORİK BİLGİLER

  1. Arduino MEGA 2560 Kartı : Arduino MEGA 2560 kartının mikrodenetleyicisi Atmega2560 dır. Kartın çalışma gerilimi 5Vdc ,besleme gerilimi ise 6-20 Vdc arasındadır. I/O pinlerini yazacak olursak 54 adet I/O pini bulunmaktadır.Bu pinlerin 14 tanesi PWM çıkışı , 16 tanesi analog girişi ve 4 tanesi seri iletişim (UART) olarak kullanılmaktadır. Arduino MEGA 2560 kartı Arduino IDE üzerinden programlanır. Bu bilgilere ek olarak Arduino Mega 2560 kartı usb üzerinden  besleme yapıldığında  500 mA değerinin  üzerindeki akım değerleri için kartın akım koruma sigortası vardır.
  2. RS-232: Bilgisayar ile mikrodenetleyici/mikroişlemci içeren devrelerde iletişim kurmamıza yarayan iletişim protokolüdür . Bu iletişim protokolünde tek bir hattan veri gönderilip tek hattan veri alınır paralel iletişime göre yavaş olmasına rağmen uzun mesafelerde kullanılır ve maliyet olarak da düşüktür. Bu seri iletişim ile ilgili temel kavramların tanımlarını yazacak olursak;
  3.  Start (başlangıç ) biti : Bu alıcıya veri gönderiminin başlandığını bildirir
  4. Stop(Bitiş) biti : Bu ise alıcıya gönderilecek bilginin bittiğini belirtir stop biti 1 veya  2 olabilir.
  5. Parity(Eşlik) biti : Bu ise alıcı tarafından alınan bilginin iletilip iletilmediğini  kontrol etmek için kullanılır .
  6. Baund Rate : Bu ise gönderilecek verinin hızını belirtir.
  7. Led : Işık yayan diyotlar olarak adlandırılır. Temelinde ise üzerinden geçen elektrik akımı ile katkılandığı maddenin cinsine göre kırmızı, yeşil, mavi gbi ışık yayan yarı iletken malzemelerdir. Elektronik devrelerde ledin uzun bacağı anot(+) , kısa bacağı ise katot (-) dikkat ederek devreye bağlanmalıdır.

MALZEME LİSTESİ
Proje kapsamında teorik bilgiler verildikten sonra projenin devamı için gerekli olan malzemeler aşağıdaki tabloda yer verilmiştir.

MALZEME ADI MALZEME ADET MALZEME ADI MALZEME ADET
Breadboard 2 Data Kabloları N TANE
Arduino MEGA 2560 1 *** ***
Data Kabloları N TANE *** ***
Kırmızı Led 1 *** ***
Yeşil Led 1 *** ***
Mavi Led 1 *** ***
Beyaz Led 1 *** ***
330 ohm 4 *** ***

ŞEMATİK DEVRE
Bu projenin şematik bölümü Proteus ISIS programında  çizilmiştir. Şematik kısmına bakılacak olursa  seri iletişim için Arduino MEGA 2560 kartın USB bağlantı kısmı kullanılmıştır.

arduino mega 2png
KAYNAK KODLARI

Bu projenin gömülü yazılımı Arduino IDE  derleyecisinde  derlenmiştir. Komutlara bakılacak olursa her satır yanında.     ‘ // ‘ ifadelerinin yanında açıklamaları bulunmaktadır . Arkadaşlar kaynak kodlarının yanındaki açıklamaları dikkate alarak proje çalışmanıza devam edin.

 /*   Program Adı : RS232 ile Led Uygulaması
      Donanım     : Arduino MEGA 2560
      Derleyici   : Arduino IDE 1.8.5
      MCU         : 16 MHz
      Yazan       : Adil Teoman Kurt
      Adres       : https://electrolog.blog
 */
char data; // Data Karakter olarak tanımlanıyor
const int led1=8; // Arduino kartının 8.Pini led1 ifadesiyle eşleniyor 
const int led2=9; // Arduino kartının 9.Pini led2 ifadesiyle eşleniyor 
const int led3=10;// Arduino kartının 10.Pini led3 ifadesiyle eşleniyor 
const int led4=11;// Arduino kartının 11.Pini led4 ifadesiyle eşleniyor 
void setup()
 {
  Serial.begin(9600); //Seri iletişim başlatılıyor ve Baudrate 9600 yapılıyor
  pinMode(led1,OUTPUT); //led1 çıkış olarak ayarlanıyor
  pinMode(led2,OUTPUT);//led2 çıkış olarak ayarlanıyor
  pinMode(led3,OUTPUT);//led3 çıkış olarak ayarlanıyor
  pinMode(led4,OUTPUT);//led4 çıkış olarak ayarlanıyor
 }
void loop()// İşlem yapılacak bölüm 
{
    data=Serial.read(); // Seri iletişim hattan gelen veri okunuyor
    if( data=='A')
    {
      digitalWrite(led1,HIGH); //led1 lojik-1 yapılıyor
      Serial.print("1.LED YANDI\n"); //Bu komut ile PC ye ifade gönderiliyor
    
    }
   if( data=='B')
    {
      digitalWrite(led1,LOW);//led1 lojik-0 yapılıyor
      Serial.print("1.LED SONDU\n");//Bu komut ile PC ye ifade gönderiliyor
    }
    if( data=='C')
    {
      digitalWrite(led2,HIGH);//led2 lojik-1 yapılıyor
      Serial.print("2.LED YANDI\n");//Bu komut ile PC ye ifade gönderiliyor
      
    }
    if( data=='D')
    {
      digitalWrite(led2,LOW);//led2 lojik-0 yapılıyor
      Serial.print("2.LED SONDU\n");//Bu komut ile PC ye ifade gönderiliyor
    }
    if( data=='E')
    {
      digitalWrite(led3,HIGH);//led3 lojik-1 yapılıyor
      Serial.print("3.LED YANDI\n");//Bu komut ile PC ye ifade gönderiliyor
    }
    if( data=='F')
    {
      digitalWrite(led3,LOW);//led3 lojik-0 yapılıyor
      Serial.print("3.LED SONDU\n");//Bu komut ile PC ye ifade gönderiliyor
    }
    if( data=='G')
    {
      digitalWrite(led4,HIGH);//led4 lojik-1 yapılıyor
      Serial.print("4.LED YANDI\n");//Bu komut ile PC ye ifade gönderiliyor
    }
    if( data=='H')
    {
      digitalWrite(led4,LOW);//led4 lojik-0 yapılıyor
      Serial.print("4.LED SONDU\n");//Bu komut ile PC ye ifade gönderiliyor
    } 
}

LABVİEW ARAYÜZ PANELİ
Bu projenin arayüz programı LABVİEW programında oluşturulmuştur . Programın ‘Verilerin Gönderilmesi’ bölümü ile ledlerin durumu kontrol edilirken ‘Verilerin Alınması’ bölümü ise Arduino MEGA 2560 dan  PC ye gönderilen verilerin alınıp yazıldığı kısımdır.

Labview rs232

PROJENİN VİDEOSU

Bu projede hazırlanan LABVIEW programına ait  arayüzünün hem proteus ISIS programı ile similasyonun hemde gerçek elektronik devresi ile ilgili çalışmasını anlatan videoya ya LABVIEW +ARDUINO MEGA 2560+ Proteus ISIS ifadesine tıklayarak izleyebilirsiniz.

EK DOSYALAR

Bu bölüm ise LABVIEW arayüz panelinin .exe dosyasını , Arduino gömülü yazılımının proteus ISIS programında kullanılmasını sağlayan .hex dosyasını ve proteus devresine ait yüksek çözünürlüklü resimini içerir.

Labview+Diğer Dosyaları indir

BİLGİLENDİRME

   Proje hakkında  merak ettiklerinizi  iletişim adresinden sorabilir veya yorum kısmına yazabilirsiniz arkadaşlar projede iyi çalışmalar.

Hoşçakalın…..