Facebook RSS Feed
 
.NET Micro Framework: Netduino ile Başlangıç
Tarih: 19.09.2013, Platform: .NET MF 4.2, IDE: Visual Studio 2012, Level: 100

.NET Micro Framework, yazılım geliştirme yeteneğine sahip olup elektronikle fazla içli dışlı olmayanların elektronik cihazlar geliştirmesini hedef alır. Hedef kitlenin elektronik bilgisi, genellikle bir cihazı sıfırdan üretecek seviyede olmayacaktır. Bu kişilerin ortaya kendin yap tarzı prototipler çıkarması için hazır kitler üzerinden girmesi, çok daha verimli ve keyifli olur. Netduino, .NET bilginizi hazır elektronik modüllerle birleştirerek hayalinizdeki cihazı oluşturmanıza yardım eden bir mucizedir.

Piyasada MF modülü geliştiren bir çok üretici var. Netduino, bir çok Arduino shieldi ile uyumlu olması yönünden öne çıkıyor ve prototip geliştirme sürecinizi hızlandırıyor. Örneğin, projenize GPS ve GSM modülleri eklemek istiyorsanız, bu özelliğe sahip 2 shieldi üst üste yerleştirerek donanımsal bağlantıyı kolaylıkla tamamlamış oluyorsunuz. Ortalıkta kablo karmaşası ya da yanlış pine bağlantı ihtimali kalmıyor.

Hedef

Visual Studio ile Netduino arasındaki bağlantıyı sağlayarak, onboard LED'i yakıp söndüreceğimiz bir uygulama geliştireceğiz.

Öngereksinimler

Visual Studio 2010 ya da 2012
.NET Micro Framework SDK: netmf.codeplex.com
Netduino SDK: netduino.com/downloads
Netduino Plus 2: netduino.com/netduinoplus2

Çalışma Mantığı

Netduino'yu bilgisayarınıza ilk kez bağlayacağınızı ve ilk uygulamanızı geliştireceğinizi varsayalım. Sırasıyla Visual Studio'yu, .NET Micro Framework SDK'ini ve Netduino SDK'ini kurun. .NET MF SDK'i, .NET platformuyla mikrodenetleyici programlayabilmeniz için gerekli altyapıyı sağlar. Netduino SDK'i ise, mikrodenetleyicinizin donanımsal özelliklerine erişebilmeniz için gereklidir.

Kurulumları tamamladıktan sonra Netduino'yu bilgisayarınıza USB ile bağlayabilirsiniz. İlk bağlantıda gerekli sürücüleri yükleyecek ve programlanmaya hazır hale gelecektir.

Bağlantı Şeması

-

Başlangıç uygulamamızda kısa ve öz gideceğiz. USB bağlantısını sağlamanız yeterli olacaktır.

Uygulama Kodları

Visual Studio'dan New Project'i seçtiğinizde, Visual C# > Templates bölümüne Micro Framework'ün eklendiğini göreceksiniz. "NetduinoBaslangic" adında Console Application oluşturarak başlayalım.

Micro Framework console projelerinde, uygulama program.cs dosyasının main metoduyla başlar. Main metoduna yazdığınoz kod tamamlandığında uygulama sonlanır. Şu aşamada F5'e basarsanız bir simulatör ekranı açılacak ve işlemini tamamlayıp kapanacaktır. Mikrodenetleyici uygulamalarında böyle bir durumu istemeyiz. Bu yüzden, main metodu tamamlandığında, thread'i uyutup uygulamanın sonlanmasını engelleyeceğiz. Program.cs dosyasındaki using statement'lara, using System.Threading; ve main metodu sonuna Thread.Sleep(Timeout.Infinite); satırlarını ekleyin.

[C#] Program.cs

using System;
using Microsoft.SPOT;
using System.Threading;

namespace NetduinoBaslangic
{
    public class Program
    {
        public static void Main()
        {
            Debug.Print(
                Resources.GetString(Resources.StringResources.String1));

            Thread.Sleep(Timeout.Infinite);
        }
    }
}

Şimdi F5 ile uygulamayı çalıştırdığınızda, simulatör ekranının açık kaldığını, yani uygulamanın sonlanmadığını göreceksiniz. (İleride ele alacağımız interrupt gibi konularda, neden uygulamanın sonlanmaması gerektiğinin üzerinde duracağım.)

Simulatör uygulaması, donanıma erişemediğimiz durumlarda bilgisayar üzerinden geliştirmeye devam edebilmemizi sağlar. Netduino'nuza ilk uygulamanızı atmak için sabırsızlandığınızı biliyorum. İlk yapmanız gereken, Visual Studio'ya, uygulamayı çalıştırdığınızda simulatöre değil de, fiziksel bir cihaza deploy etmesini bildirmek olacak. Bunun için, Solution Explorer'dan projeye sağ tıklayın ve Properties'i seçin.

-

Application sekmesinin Target Framework seçimini, Netduino'nuza yüklü SDK'in versiyonu ile aynı yapın. Bu kaynak yazılırken Netduino'lar .NET Micro Framework 4.2 kullanıyordu.

-

.NET Micro Framework seklesinden Deployment > Transport seçeneğini USB, hemen altındaki Device Seçeneğini de Netduino olarak değiştirin. Whoa! Netduinonuz ile Visual Studio'nuz haberleşiyor!

Sıradaki hamlemiz, Visual Studio'nun Netduino'ya ait donanımsal özellikleri tanıması için gerekli referansları eklemek olacak. Solution Explorer'dan proje altındaki References'a sağ tıklayıp Add Reference'ı seçin. Microsoft.SPOT.Hardware, SecretLabs.NETMF.Hardware ve SecretLabs.NETMF.Hardware.NetduinoPlus kütüphanelerini ekleyin. Artık Visual Studio, Netduino ile bağlı ve donanım özelliklerine erişebiliyor.

Haydi artık şu LED'i yakalım! Program.cs dosyasının using statement bölümüne aşağıdaki satırları ekleyin.
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.NetduinoPlus;
Artık Program.cs dosyasında yazdığınız kodlar ile donanıma hükmedebiliyorsunuz.

Netduino üzerindeki LED'i yakmak için bir OutputPort belirleyip buna sonsuz döngüde true ve false değerlerini vereceğiz. Uygulama kodları örnekteki gibi olacak.

[C#] Program.cs

using System;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.NetduinoPlus;
using System.Threading;

namespace NetduinoBaslangic
{
    public class Program
    {
        // Onboard LED'e bağlı Output Port oluştur
        static OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);

        public static void Main()
        {
            // Sonsuz döngüde
            while (true)
            {
                // LED'in durumunu oku. Tersi değeri porta gönder.
                // Örn. True ise False gönder.
                led.Write(!led.Read());

                // Thread'i 1 saniye uyut
                Thread.Sleep(1000);
            }
        }
    }
}

Uygulamayı çalıştırdığınızda, Netduino'nuzun mavi LED'inin saniyede bir yanıp söndüğünü göreceksiniz.

Netduino'nuzla elektronik dünyasına ilk adımı attınız. Gelecek yazılarımda Netduino dünyasının değişik özelliklerini birlikte keşfedeceğiz.


Ek Dosya: Belirtilmemiş.
Okunma Sayısı: 2713

comments powered by Disqus
 
Hoşgeldiniz!
Son güncelleme: 25.12.2016
-
Yeni Teknik Yazılar
Latte Panda İncelemesi
Turta IoT HAT İncelemesi
USB Gamepad Kullanımı
GPIO Kullanımı
VEML6075 UV Sensör Kullan...
-
İlgili Gruplar
.NET MF ve Gadgeteer FB Grubu
İst. IoT & Wearables Meet-up
-
 

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.Copyright © 1999 - 2017, Umut Erkal. Bu materyal, "Creative Commons Public Licence" ile sunulmuştur.
Kaynak göstererek ve ücretsiz olarak, aynı şartlar altında paylaşabilir ve kullanabilirsiniz. | Kullanım Sözleşmesi