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. Aytekin Güçlü dedi ki:

    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