Arduino Mega 2560’a MATLAB & Simulink Kod BloÄŸu Gömme
Volkan Kanat // 22 Şubat 2014 // 31 yorum // kategori: Arduino Programlama, Arduino Projeleri, Devre Tasarımı ve Simülasyon, GenelHerkese merhabalar! Uzun süredir Arduino Turkiye ekibi olarak içerik ekleyemedik. Yeni projelerle birlikte bu açığı kapatmaya çalışacağım. Yepyeni ve farklı bir Arduino Mega projesiyle sizlerle birlikteyim. Daha önce pek değinmediğimiz Arduino Mega ve MATLAB & Simulink üzerine bir proje hazırladım. Umarım beğenirsiniz.
Arduino Mega 2560’a MATLAB & Simulink üzerinden kod bloÄŸu gömdüm. Gömülü sistemler tabiri de tam olarak böyle bir ÅŸey deÄŸil mi zaten? 🙂
Yeni bir konu olduÄŸu için en basit uygulama olan “LED yakıp söndürme (Blink)” projesini gerçekleÅŸtirdim. Ä°lerleyen günlerde bu konuya olan ilginin olduÄŸuna inanırsam daha karmaşık uygulamaları sizlerle paylaÅŸacağım.
Bu projede donanım olarak Arduino Mega 2560’ı kullanacağız. Yazılım olarak ise MATLAB R2013a sürümünü kullanacağız. Farklı bir uygulama olduÄŸu için isterseniz hiç vakit kaybetmeden baÅŸlayalım 🙂
MATLAB Arduino Destek Paketini Yükleme
Yapmamız gereken ilk şey, MATLAB R2013a sürümüne Arduino Destek Paketini yüklemek olacak.
Resources -> Add-Ons -> Get Hardware Support PackagesÂ
Buradan önerilen “Internet” seçeneÄŸini iÅŸaretliyelim.  “Next” ile bir sonraki adıma geçelim.
Paketlerden en üst kısımdaki “Arduino” paketini seçelim. Bende paket yüklü olduÄŸundan Reinstall ikonu aktif, sizde bu ikon “Install” olacak.  “Next” ile bir sonraki adıma geçelim.
“Log In” seçeneÄŸini seçelim.
Karşınıza hesabınızı açmanızı isteyen bir ekran çıkacak. EÄŸer MathWorks hesabınız varsa e-mail adresiniz ve parolanızı girerek hesabınız açabilirsiniz. Henüz hesabınız yoksa ekrandaki “Create an account” ifadesine tıklayarak veya Buradan hesap oluÅŸturabilirsiniz.
Hesabınızı oluşturduktan sonra Arduino Destek Paketiniz artık yüklenmeye başlayacak. Şimdi geriye tek kalan MATLAB & Simulink ile Arduino Mega 2560 projelerini gerçekleştirmek için gereken heyecan 🙂
Kod Bloklarını Oluşturma ve Arduino Mega 2560 İçerisine Aktarma
Yükleme tamamlandıktan sonra MATLAB Simulink kütüphanesini açmak için MATLAB Simulink Library‘e tıklayalım.
Önümüze gelen kütüphanelerden “Simulink Support Package for Arduino Hardware” ‘i seçelim.
Şimdi yeni bir model açarak LED yakma söndürme (Blink) projesini gerçekleştirelim. Unutmayın eğer bir LED yakabiliyorsanız işin yarısını halletmiş sayılırsınız 🙂
Modelimize “Simulink Support Package for Arduino Hardware” kütüphanesinin içerisinden Digital Output bloÄŸunu seçelim(BloÄŸu üzerine farenin sol tuÅŸu ile basılı tutup Model dosyasına sürükleyip bırakalım). LED yakıp söndürme iÅŸlemi için LEDlerin dijital çıkış olarak atanmasından dolayı bu bloÄŸu seçtik. BloÄŸun üzerine çift tıklayarak  Pin numarasını 13 olarak deÄŸiÅŸtirelim.
BloÄŸumuza ÅŸimdi de Pulse Generator bloÄŸunu ekleyelim. BloÄŸun üzerine çift tıklayarak “Pulse type -> Sample based” ve “Sample Time -> 0.1” olarak özelliklerini deÄŸiÅŸtirelim.
Bu iki bloğu birbiriyle ilişkilendirerek aşağıdaki gibi bir blok şemasının oluşmasını sağlayın.
Tools ->  Run on Target Hardware -> Prepare to Run diyerek kod bloğumuzu hazır hale getiriyoruz.
Karşımıza çıkan ekrandan Taget Harware -> Arduino Mega 2560 olarak donanımızı seçip, diÄŸer ayarlarla oynamadan “OK” diyelim.
Önce Bismillah diyerek sonra da Tools -> Run on Target Hardware -> Run yaparak bloklarımızı Arduino Mega 2560’a gömüyoruz 🙂
Arduino Mega 2560 13 nolu pine ait LED’in yanıp söndüğünü görebilirsiniz 🙂 Blink projesi basit bir proje. Daha önce Arduino’yu elimize ilk aldığımızda hepimizin ortak projesi olmuÅŸtur. Ama bu sefer bu projeyi kod yazarak deÄŸil MATLAB & Simulink ile kod gömerek gerçekleÅŸtirdik.
Bir Arduino Türkiye yazımın sonuna geldim. Konu ile ilgili yorumlarınızı bekliyorum.
Kendinize iyi bakın!  Arduino‘suz kalmayın!
Etiketler: Arduino Mega2560 > matlab > Simulink
Çok Teşekkür ederim o kadar faydalı bir bilgi olduki bu 🙂 Kıssadan hisse gibi. Tam araştırmaya başlamıştım matlab ile ardunio ne kadar ilgili diye meğer baya alakadar olmuşlar.
Teşekkürler.
Paylaşım için çok teşekkürler çok faydalı oldu.. :))
Teşekkürler.
Paylaşım için eyw
MATLAB sitesinde video anlatımı da olan bir uygulamayı Türkçeleştirmişsiniz.
Çeviriniz için teşekkürler.
Halukulade bi yazı olmuş çok faydalı oldu teşekkürler.
Volkan bey size sormak istediğim bazı sorularım var, bağlantıya geçmemiz mümkün mü ? Teşekkürler.
volkan_kanat@yahoo.com mail adresinden ulaşabilirsiniz. Uygun olduğum vakitlerde cevap vermeye çalışacağım.
Teşekkürler.
Matlab Simulink üzerinde hazırladığım simülasyonun veri giriÅŸ ve çıkışlarını Arduino ile yapmak istiyorum ancak bir türlü baÅŸaramadım, Matlab üzerinde bildiÄŸimiz m-file dosyası yazarak Arduino ile iletiÅŸime geçebiliyorum ancak Simulink ve GUI’de bunu bir türlü beceremedim.
Yaşadığım sorun aslında şu;
Basit bir Simulink dosyası oluşturuyorum,
Tools—Run on Target Hardware—Prepare to Run diyorum gerekli ayarları yaptıktan sonra;
Tools—Run komutu aktif hale gelmeli ancak bende aktif hale gelmiyor, yeÅŸil oka bastığımda da hiçbir deÄŸiÅŸiklik olmuyor.
Nerede hata veya eksik olduğunu söyleyebilirseniz çok sevinirim.
Saygılarımla….
Configuration Parameters ile ayarlama gerçekleştirmeniz gerekiyor. Burada hangi cihazı kullanacağınız, hangi port üzerinde iletişim kuracağınız, seri iletişim hızı, external modun dahil olup olmayacağı gibi bazı seçenekler yer alıyor. Bu parametreleri doğru seçtikten sonra kod bloğunuz Arduino kartınıza yüklenecektir.
Cevabınız için teşekkür ederim, size mail ile ulaşabilir miyim?
Saygılarımla….
volkan_kanat@yahoo.com mail adresinden mail atabilirsiniz.
Merhaba Volkan Bey,
Söylediklerinizi yaptım ancak hala karta bağlanamıyorum simulink üzerinden.
”Belirtilen karta baÄŸlanılamadı.” hatası alıyorum.
Arduino input output paketini Arduino’nun kendi programı yardımıyla önceden Arduino üzerine yazdırmıştım.
Komut sayfasına a.digitalWrite(13,1) yazdığım zaman ledi yakabiliyorum ancak simulink üzerinden sürekli olarak bağlantı hatası alıyorum.
Yardımcı olursanız çok sevinirim.
Saygılarımla…
hocam aynı hatadayım yardımcı olsanız
kardeş hata senin yazdığın kodlarında notalı virgule sona koy sana örnet vereyim int=a,1;
int=a,2;
bide böyle yap tabikne sen tool mp260 yap yapamadıysan beni ekle ben sana göstereyim onu
Çok güzel paylaşım emekleriniz için teşekkürler:)
Güzel paylaşım 😉
Teşekkürler, devamını bekliyoruz.
hocam matlab 2009 a matlab destek paketi yuklenirmi ?
merhabalar.
arduino kod yazım arayüzünde yazıp arduino da çalıştırdığımız programların tekrar bilgisayarda simulasyonlarını,grafik olarak görüntülerini nasıl görebiliriz. yada ne yapmalıyız konusunda yardımlarınızı bekliyorum.
proteus da simulasyon yapanlar var ben hiç yapmadım foruma gelip sorun daha hızlı cevap alabilirsin
merhabalar Vokan hocam ben bu iÅŸlemi kitabınızdan yaparken bir problem ile karşılaÅŸtım ve buralara kadar geldim çünkü hiçbir yerde bulamadım cevabı. “Arduinoya gömdüğüm kod bloklarını nasıl silicem?”. TeÅŸekkürler…
Paylaşım için teşekkürler. Daha fazla matlab-simulink örneklerini heyecanla bekliyorum. 🙂
lütfen cevap verin matlabda bir fonksiyon yazdım yuvarlak bulma ile alakalı yalnız karta aktarma ile alakalı hiç bilgim yok. her yerde simulink ile ilgili bilgi var. karta fonksiyon yazarak haberleştirebilirmiyiz lütfen cevap verin
Yeni başlayan arkadaşlar için çok faydalı bir paylaşım olmuş Volkan. Beni hatırladınmı?
prepare to run deyip 2560ı seçtikten sonra run seçeneği çıkmıyor bende?
Merhaba, Matlab 2015b sürümünde denedim run ibaresi aktif değil dediğiniz ayarları yaptım fakat olmadı
Merhaba MatLab2013a kullanıyorum arduino support package yüklerken 3. parti kurulum hatası verdi onun için söyleyebileceğiniz bir şey var mı acaba şimdiden teşekkür ederim 🙂
merhaba yazarımız pek sık uğramıyor ama aldıgınız hata kodunu tam yazarak google da aramayı deneyın derım. genelde matlap son versıyon arduıno ıdelerı hemen kendınde guncellemez bır eskı versıyon ıde de kurulum yapmayı deneyın yada support paketı yuklerken hangı versıyon ıcın oldugu yazar o ortamda deneyın