Facebook RSS Feed
 

.NET Micro Framework: Analog Girişleri Okumak

-Mikrodenetleyicilerin dış dünya ile bağlantı kurmasında dijitalin yanısıra analog giriş yöntemi de yer yer kullanılmaktadır. Örneğin, bazı mesafe ve ivme sensörleri seri iletişime ek olarak üzerlerinde analog çıkış da bulundurur. Analog özelliği donanıma göre değişiklik gösterir ve her mikrodenetleyicide bulunmayabilir. Çalışma prensibi ise son derece basittir: Belirtilen analog girişe uygulanan voltajın, referans voltajına (genellikle çipin çalışma voltajı) oranı hesaplanır. Hesaplanan oranın hassasiyeti, cihazın analog çözünürlüğüyle doğru orantılıdır. Mesela, 10 bit çözünürlükte bir analog giriş, 210 yani 1024 aşamalı okuma yapacaktır. Referans voltajını 3.3 kabul edersek, analog girişine 0 Volt uygulandığında 0, 3.3 Volt uygulandığında 1023 ve 2 volt uygulandığında ise (1024 x (2.0 / 3.3)) - 1 = 620 değerini elde edeceğiz.

Analog Giriş Oluşturmak

Yukarıda bahsettiğimiz gibi, analog giriş cihazdan cihaza değişiklik gösterdiğinden, kullandığınız çipin donanım kütüpanesine referans vermeniz gerekiyor. GHIElectronics'in EMX, Embedded Master, FEZ yada USBizi çiplerinden birini kullandığımızı varsayarsak, "GHIElectronics.NETMF.Hardware.dll" kütüpanesine referans vermemiz ve uygulamamızın namespace'ine "GHIElectronics.NETMF.Hardware;" satırını eklememiz gerekir.

using System;
using System.Threading;
using Microsoft.SPOT;
using GHIElectronics.NETMF.Hardware;
 
namespace AnalogGiris
{
    public class Program
    {
        public static void Main()
        {
            // AIN 0 Pinini analog giriş olarak belirleyelim:
            AnalogIn analogGiris = new AnalogIn(AnalogIn.Pin.Ain0);
 
            while (true// Sonsuz döngüde
            {
                // AIN 0 pinine uygulanan voltaj oranını değişkene aktaralım:
                int deger = analogGiris.Read();
 
                // Okunan değeri debug mesajı olarak Visual Studio'ya gönderelim:
                Debug.Print(deger.ToString());
 
                // Main Thread'i 0.2 saniye uyutalım
                Thread.Sleep(200);
            }
        }
    }
}

Diğer Metodlar

Uygulama anında okunan değerin 0 ile 1023'e göre değil de X ile Y'ye göre oranlanmasını sağlayabiliriz.
Bunun için SetLinearScale(int minValue, int maxValue) metodunu kullanırız.

analogGiris.SetLinearScale(0, 100);

Bu metodu kullandıktan sonra, analog girişine 0 Volt uygularsak 0, 3.3 Volt uygularsak 100 değerini okuyacağız.

Analog pinin kullandığı kaynakları temizlemek ve pini diğer işlemler için serbest bırakmak için ise Dispose() metodunu kullanırız.

analogGiris.Dispose();

Dispose metodunu çağırdıktan sonra, ilgili pini tekrar analog işlemler için kullanmak istersek yeniden tanımlamamız gerekir.

Bağlantı Şeması

3 Bacaklı potansiyometreler, mikrodenetleyicinin analog girişine aşağıdaki gibi bağlanır:

-




 
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