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;
- Arduino MEGA, RS-232 iletişim protokolü,MAX 232, led, 2×16 LCD ekran kavramlarını öğrenmek..
- 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.
- Arduino MEGA 2650 kartı kullanılarak PC ile nasıl haberleşeceğini göstermek ve öğrenmek.
- 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
- 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.
- 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;
- Start (başlangıç ) biti : Bu alıcıya veri gönderiminin başlandığını bildirir
- Stop(Bitiş) biti : Bu ise alıcıya gönderilecek bilginin bittiğini belirtir stop biti 1 veya 2 olabilir.
- Parity(Eşlik) biti : Bu ise alıcı tarafından alınan bilginin iletilip iletilmediğini kontrol etmek için kullanılır .
- Baund Rate : Bu ise gönderilecek verinin hızını belirtir.
- 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.
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.
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.
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…..