bilgiz.org

Döviz Kuru(lcd ekran)

  • A MİCROCONTROLLER AİDED SOLUTİON TO THE VİSUALİSATİON AND TRANSFER OF XML FORMATTED DATA OF UNCERTAİN VARİABİLİTY ABSTRACT
  • Keywords
  • 2.1. Yazılım 2.1.1. Seri porta bağlanma: RS232 sınıfı
  • Parametre Anlamı
  • 2.1.2. İnternetten XML verisini alma: System.Xml sınıfı
  • 2.1.3. Mikrodenetleyiciye veri gönderme
  • 2.2.Donanım: PIC 16F84 Mikrodenetleyici Devresi
  • 2.3. Program Arayüzü 2.3.1. Seri port ayarları
  • 2.3.2. Yazı gönderme ayarları



  • Tarih14.10.2017
    Büyüklüğü40.04 Kb.

    Indir 40.04 Kb.

    Akademik Bilişim 2007

    Dumlupınar Üniversitesi, Kütahya 31 Ocak-2 Şubat 2007





    XML BİÇİMLİ, BELİRSİZ DEĞİŞKENLİKTEKİ VERİLERİN AKTARIM VE GÖRSELLEŞTİRMESİNE MİKRODENETLEYİCİ DESTEKLİ BİR ÇÖZÜM
    Hüseyin GÜRÜLER* , Ayhan İSTANBULLU** , Barış SARIÇİÇEK*

    *Muğla Üniversitesi, Teknik Eğitim Fakültesi

    Elektronik ve Bilgisayar Eğitimi Bölümü, Muğla

    **Balıkesir Üniversitesi, Mühendislik-Mimarlık Fakültesi, Bilgisayar Mühendisliği Bölümü, BALIKESİR



    hguruler@mu.edu.tr, iayhan@balikesir.edu.tr, saricicek@gmail.com

    ÖZET

    İnternete aktarılan ve günün belirsiz aralıklarında değişim gösteren önemli verileri (döviz, altın, borsa vs. ile ilgili) takip etmek ve buna duyarlı karar mekanizmaları geliştirmek özellikle günümüz şirketlerinin ihtiyaçlarına girmiş bulunmaktadır.


    Çalışmaya konu olan sistem, İnternetten döviz kuru bilgilerini (US Dolar, Euro vs.) alarak, bu verileri seri port ile bilgisayara bağlı PIC 16F84 mikrodenetleyici destekli bir LCD ekranda belirlenen zaman aralıklarında yenilenerek gösterebilmektedir.
    Anahtar Kelimeler: XML Veri Aktarma, Mikrodenetleyici Uygulaması, Veri Görselleştirme

    A MİCROCONTROLLER AİDED SOLUTİON TO THE VİSUALİSATİON AND TRANSFER OF XML FORMATTED DATA OF UNCERTAİN VARİABİLİTY
    ABSTRACT
    Today’s companies has a need to follow the data that is transferred to the internet and changes with uncertain time intervals throughout a day ( such as stock market data, exchange rate, gold prices ) and to implement decision mechanisms that are sensitive to these changes.
    System that is subject to this study gets the exchange rates ( USD, EURO, etc.) from the internet and shows these data on an LCD screen that is controlled by a PIC 16F84 microcontroller connected to a computer from a serial port and refreshes the view periodically according to a predetermined time rate.
    Keywords: XML Data Transfer, Microcontroller Application, Data Visualization

    1. GİRİŞ

    İnternette bulunan ve günün belirsiz aralıklarında değişim gösteren verileri (döviz, altın, borsa, sıcaklık, yol durumu gibi) takip etmek ve buna duyarlı karar mekanizmaları geliştirmek özellikle günümüz şirketleri ve modern yaşamın ihtiyaçlarına girmiş bulunmaktadır.


    Belirli içerik veya içerik benzeri komutları giriş değeri veya komut olarak İnternet ortamından alabilecek PC ortamına kablolu veya kablosuz olarak bağlantı sağlayabilen sistemler, bu gereksinimlere çözüm olabilecek yetenektedir. XML biçimi ile verinin platform bağımsızlığı kazanması bu çözümleri destekleyici roldedir.
    Çalışmada kullanılan PIC 16F84 [1] mikrodenetleyici, fonksiyonel ve ekonomik olması yanında az enerji harcaması nedeniyle birçok uygulamada yaygın olarak kullanılmaktadır. Ayrıca flash belleğe sahip olması nedeniyle, saat girişine uygulanan sinyal kesildiğinde bünyesindeki kaydedicilerde verinin bozulmadan kalması sağlanır.
    Sonraki bölümlerde geliştirilen yazılım, faydalanılan sınıf yapıları tanıtılmış; İnternet, yazılım ve mikrodenetleyici arasındaki veri aktarımı ve buna bağlı sınırlamalar ile bulunan çözüm yolları açıklanmıştır.
    2. MATERYAL VE YÖNTEM

    Belirsiz zaman aralıklarında değişkenlik gösteren veri ile çalışmada örnek olarak döviz kuru tercih edilmiştir. Burada döviz Kur bilgilerini istenilen zaman aralıklarında İnternetten alan ve programlanmış bir mikrodenetleyiciye bağlı LCD ekranda gösteren sistem tasarlanmıştır. Yazılım, kur bilgilerine TCMB’nin resmi sitesinden [2] ulaşmaktadır. VB .NET ortamında geliştirilen yazılım, XML biçimli sayfadan kur değerlerini aldıktan sonra seri porttan belli zaman aralıklarıyla mikrodenetleyici devresine gönderir [3],[4],[5]. Buradaki mikrodenetleyici devresindeki LCD modülden bilgiler görüntülenir. Geliştirilen yazılıma ait akış diyagram Şekil 1 de verilmiştir.



    Şekil 1. Kur alma işleminin akış diyagramı
    2.1. Yazılım

    2.1.1. Seri porta bağlanma: RS232 sınıfı

    Program, mikrodenetleyiciye bağlanmak ve veri aktarımını sağlamak için .Net içindeki RS232 sınıfını kullanır. Seri port, PC ile dış dünya arasında kablolu bağlantıda geleneksel ve uygulaması kolay bir seçenektir. Seri portta veriler; 8 databit, 1 stopbit ve 1 Paritybit ile gönderilir. Veriler belli bir band genişliğinde gönderildiğinden belirli bir zaman gecikmesi oluşmaktadır. RS232 sınıfına ait parametreler ve anlamları Tablo 1'de gösterilmiştir.


    Tablo 1. RS232 sınıfı parametreleri


    Parametre

    Anlamı

    .Port

    'port numarası

    .Timeout

    'zaman gecikmesi

    .BaudRate

    'band genişliği

    .DataBit

    'veri biti

    .StopBit

    'durdurma biti

    .Parity

    'parity biti

    Aşağıda RS232 sınıfının kullanıldığı olay yordamı kodları verilmiştir:


    Try

    With rs232

    .Port = port_no

    .Timeout = Int32.Parse(TextBox1.Text)

    .BaudRate = Int32.Parse(TextBox2.Text)

    .DataBit = 8

    .StopBit = rs232.DataStopBit.StopBit_1

    .Parity = rs232.DataParity.Parity_None

    End With

    Catch ex As Exception

    MessageBox.Show(ex.Message, "Bağlantı Hatası", MessageBoxButtons.OK)

    2.1.2. İnternetten XML verisini alma: System.Xml sınıfı

    Program XML biçimli kur verilerini almak için System.Xml sınıf kütüphanesine başvurur. Bu kütüphanedeki XmlTextReader, XmlDocument, XmlNodeList sınıfları kullanılır. US Dolar alış ve satışa ait XML bağlantılarını sağlayan kod parçası aşağıda verilmiştir. SelectNodes ifadeleri başka döviz kurları için de benzer bir şekilde oluşturulmuştur.


    Dim adresOku As New XmlTextReader("http://www.tcmb.gov.tr/kurlar/today.xml")

    Dim MyXml As New XmlDocument

    MyXml.Load(adresOku)

    Dim MyNode As System.Xml.XmlNodeList

    MyNode = MyXml.SelectNodes("/Tarih_Date/Currency[@Kod ='USD']/ForexBuying")

    lblUsdBuy.Text = MyNode.Item(0).InnerXml.ToString()

    MyNode = MyXml.SelectNodes("/Tarih_Date/Currency[@Kod ='USD']/ForexSelling")

    lblUsdSel.Text = MyNode.Item(0).InnerXml.ToString()


    2.1.3. Mikrodenetleyiciye veri gönderme:

    Aşağıda veri göndermede kullanılan foksiyon verilmiştir. Burada gönderilecek ifade (metin) uzunluğu hesaplanır ve Mid fonksiyonu ile ifade karakter karakter bölünerek gönderilir. Her karakter arasında belli bir zaman gecikmesi sağlanmalıdır. Aksi takdirde LCD’de çok farklı karakterler görünmektedir. For Next döngüleri karakterlerin gönderimi arasında zaman gecikmesi sağlar. Son karakter olarak “%”gönderilir. Bu karakterden sonra mikrodenetleyici veri almayı sonlandırır.


    Public Function gonder(ByVal e As String)

    a = Len(e) 'metnin uzunluğu

    For b = 1 To 2500000 'zaman gecikmesi sağlamak

    Next


    For i = 1 To a

    For b = 1 To 2500000 'zaman gecikmesi sağlamak

    Next

    rs232.Write(Mid(e, i, 1)) 'metni harflere böl ve gönder



    Next

    For b = 1 To 2500000 'zaman gecikmesi sağlamak

    Next

    rs232.Write("%") ' "%" karakteri gönder



    End Function
    2.2.Donanım: PIC 16F84 Mikrodenetleyici Devresi

    Mikrodenetleyici devresinde (Şekil 2) PIC16F84, max232, 7805 , 4*4 LCD, RS232 9 pin konnektor kullanılmıştır. Mikrodenetleyicinin verileri seri porttan alması ve devre üzerindeki LCD ekranda göstermesi için gerekli yazılım picbasic pro da gerçekleştirilmiştir.



    Şekil 2. Mikrodenetleyici devre şeması

    2.3. Program Arayüzü

    2.3.1. Seri port ayarları

    Port numarası, gecikme, band genişliği ve İnternetten kur alım biçimi ile ilgili ayarların yapıldığı seri port ayarları Şekil 3 te gösterilmiştir.



    Şekil 3. Seri port ayarları ekran görüntüsü
    Burada;

    Port Test : PC ile mikrodenetleyici devresi arasında iletişimin sağlanıp sağlanmadığını kontrol edilir.

    Port Aç : Bu butonla PC'den mikrodenetleyiciye veri iletimi seri port ayarlarına göre hazır hale getirilir.

    Port Kapat : seri portu veri iletimine kapatır.

    Kur Alımı : İki adet kur alımı mevcuttur. Otomatik kur alımı, kur değerlerinin kur güncelleme süresinde belirtilen zaman aralıklarında; diğerinde ise sadece kullanıcının talep ettiği zamanda alınmasını sağlar.

    Gecikme: PC ile mikrodenetleyicinin çalışma frakansı farkını kapatmak için gerekli zaman gecikmesi.


    2.3.2. Yazı gönderme ayarları

    Bu çalışmada kullanılan LCD modül, 4 satıra sahip ve her bir satırı 20 karakterden oluşmaktadır. Şekil 4'deki gönderme penceresinde gösterildiği gibi radyo butonlarla istenilen satır seçilir. Daha sonra bu satırlarda yazı yazdırılabilir, kaydırılabilir veya silinebilir. LCD temizle ise LCD ekranındaki yazıları tamamen silmek için kullanılır. Metin kutusuna girilen yazı en az 1 en fazla 20 karakter olmalıdır.



    Şekil 4. PC den mikrodenetleyici devresine yazı gönderme form ekranı
    LCD nin her satırını kontrol etmek için bilgisayardan değişik karakterler gönderilmektedir. İstenilen satır formdan radyo butonlarla seçilir. Hangi satırın seçildiğini belirlemek için mikrodenetleyiciye bazı karakterler gönderilir. Bu karakterler:
    1.satır : "}"

    2.satır : "]"

    3.satır : "{"

    4.satır : "["


    Şeklinde seçilmiştir. Bunun için istenilen başka karakterler de seçilebilir ancak bunlar başka amaçla kullanılmamalıdır.

    Mikrodenetleyici önce bu karakterlerin gelmesini bekler. Karakter geldikten sonra bu karaktere ait satıra istenilen metin yazılır. Karakter alımını engellemek içinde bilgisayardan son olarak “%” karakteri gönderilmektedir. Bu daha öncede bahsedildiği gibi karakter alımını engellemek için kullanılır. Bu işlem yapılmazsa mikrodenetleyici sürekli veri almaya çalışır ve gelen her veriyi rasgele bir satıra yazar. Bu karakter gelince mikrodenetleyici en başa döner ve karakter gelmesini bekler. Yukarıdaki 4 karakterden biri gelirse istenilen satıra bilgi yazılır. Eğer “?” karakteri gelirse LCD temizlenir.


    3. BULGULAR VE SONUÇ

    Tasarlanan sistem, İnternet ortamındaki değişken nitelikte XML biçimli içeriklerin belirli mesafelere taşınması, izletilmesinde kullanılabilecek ekonomik bir çözümdür. Sistemin veriyi aldığı ile aktardığı mesafe arasında seri port bağlantısı bulunmaktadır. PC ile mikrodenetleyicili devre arasında kablosuz veri aktarımı (Bluethooth veya RF gibi) tercih edilirse sistemin taşınabilirliği ve kullanışlılığı artacaktır. LCD ekranda gösterilen içeriğin takip edilmesinin kolay olması ve maliyeti artırmaması için kısa karakter dizinleri tercih edilmelidir. Sistemin amacına hizmet etmesi için izleyici kitlesinin görüşünü kolaylaştıracak boyutta büyük LCD segmentleri tercih edilmelidir. İnternete bağlanabilen seviyede bir PC konfigürasyonu sistemin çalışması için yeterlidir.


    4. KISALTMALAR

    Kısaltma Açıklama

    PC Personal Computer (Kişisel Bilgisayar)

    XML Extensible Markup Language

    TCMB Türkiye Cumhuriyeti Merkez Bankası

    PIC Peripheral Interface Controller

    LCD Liquid Crystal Display

    .NET Visual Studio .NET 2003

    VB Visual Basic


    5. KAYNAKLAR

    [1] PIC 16F84 üretici sayfası, http://ww1.microchip.com/downloads/en/DeviceDoc/30430c.pdf, Microchip Technology Inc.

    [2] TCMB Kurlar Sayfası, http://www.tcmb.gov.tr/kurlar/today.xml,

    Türkiye Cumhuriyet Merkez Bankası

    [3] Serial Communication with VB.Net , http://www.codeworks.it/net/VBNetRs232.htm, Codeworks

    [4] Communication on a serial port in NET 2.0, http://www.codeproject.com/cs/system/Serialport_COM.asp, The Code Project, Sigurd Johansen.



    [5] XML File Parsing in VB.NET, http://www.codeproject.com/vb/net/parsefilecode.asp, The Code Project, Pratik Desai






        Ana sayfa


    Döviz Kuru(lcd ekran)

    Indir 40.04 Kb.