Arduino Mega 2560’a MATLAB & Simulink Kod BloÄŸu Gömme

Herkese 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 

1

Buradan önerilen “Internet” seçeneÄŸini iÅŸaretliyelim.  “Next” ile bir sonraki adıma geçelim.

2

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.

3

“Log In” seçeneÄŸini seçelim.

4

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.

5

Önümüze gelen kütüphanelerden “Simulink Support Package for Arduino Hardware” ‘i seçelim.

6

Ş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 🙂

7

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.

8

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.

9

Bu iki bloğu birbiriyle ilişkilendirerek aşağıdaki gibi bir blok şemasının oluşmasını sağlayın.

10

Tools ->  Run on Target Hardware -> Prepare to Run diyerek kod bloğumuzu hazır hale getiriyoruz.

11

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 🙂

13

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!

 

 

Volkan Kanat

Embedded Software Engineer @MakelSirketler. BSc. Mechatronics Engineer. Technical Author @dikeyeksen.

31 comments

  1. Malik dedi ki:

    Ç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.

  2. Volkan Kanat dedi ki:

    Teşekkürler.

  3. serhat dedi ki:

    Paylaşım için çok teşekkürler çok faydalı oldu.. :))

  4. Ramazan dedi ki:

    Paylaşım için eyw

  5. serbest dedi ki:

    MATLAB sitesinde video anlatımı da olan bir uygulamayı Türkçeleştirmişsiniz.
    Çeviriniz için teşekkürler.

  6. Faruk Tunçel dedi ki:

    Halukulade bi yazı olmuş çok faydalı oldu teşekkürler.

  7. Elektrik dedi ki:

    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….

    • Volkan Kanat dedi ki:

      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.

      • Elektrik dedi ki:

        Cevabınız için teşekkür ederim, size mail ile ulaşabilir miyim?

        Saygılarımla….

      • Elektrik dedi ki:

        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…

    • niyazican dedi ki:

      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

  8. Alper dedi ki:

    Çok güzel paylaşım emekleriniz için teşekkürler:)

  9. Ali Osman dedi ki:

    Güzel paylaşım 😉

  10. Serkan YILDIRIM dedi ki:

    Teşekkürler, devamını bekliyoruz.

  11. redorian dedi ki:

    hocam matlab 2009 a matlab destek paketi yuklenirmi ?

  12. muhammed dedi ki:

    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.

    • Ömer Koman dedi ki:

      proteus da simulasyon yapanlar var ben hiç yapmadım foruma gelip sorun daha hızlı cevap alabilirsin

  13. serhat dedi ki:

    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…

  14. Ugur dedi ki:

    Paylaşım için teşekkürler. Daha fazla matlab-simulink örneklerini heyecanla bekliyorum. 🙂

  15. mahmut kertmen dedi ki:

    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

  16. Yeni başlayan arkadaşlar için çok faydalı bir paylaşım olmuş Volkan. Beni hatırladınmı?

  17. ibrahim özhan dedi ki:

    prepare to run deyip 2560ı seçtikten sonra run seçeneği çıkmıyor bende?

  18. GÃœRAY dedi ki:

    Merhaba, Matlab 2015b sürümünde denedim run ibaresi aktif değil dediğiniz ayarları yaptım fakat olmadı

  19. Tolga dedi ki:

    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 🙂

    • Ömer Koman dedi ki:

      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

E-posta adresiniz gösterilmeyecek. Gerekli alanlar * ile işaretlidir.

*



Sosyal AÄŸlar