Ana içeriğe atla

Arduino Simulator

Arduino Simulator, Arduino kartına ait verilerin bir otomasyon üzerinden takip edilebilmesi için C# diliyle geliştirilmiş bir programdır. Ledlerin yanıp sönmesi mantığına dayanmaktadır.

Programa göz atmadan önce Arduino'daki kod kısmına kısaca değinelim:
 
Geliştirmiş olduğumuz program, Arduino verilerini satır satır okuyarak ele almaktadır, ve okuduğu verileri ',' ile birbirinden ayrıştırmaktadır. Bu yüzden kod kısmında bir satırda okumak istediğiniz verileri gönderirken hangi fonksiyonu(Serial.print ya da Serial.println) kullandığınıza dikkat etmelisiniz. Kodda sadece Serial.print() fonksiyonunu kullanmanız halinde program satır sonunu bulamadığından dolayı size hata verecektir. Eğer birden fazla fonksiyon kullanacaksanız Serial.println() fonksiyonunu kullanmayı unutmayın. Ya da hiç sorun yaşamamak adına yalnızca Serial.println() fonksiyonunu kullanmayı tercih edebilirsiniz.

Programın doğru çalışması için dikkat edilmesi gereken hususlara değinelim:

Arayüzün sol üst kısmında yer alan Arduino Değerleri bölmesindeki değerlerin, veri okumak istediğiniz Arduino kartına yüklenen kod ile aynı değerleri içeriyor olması gerekmektedir. Şöyle ki Baud Rate değeri her ikisinde de eşit olmak zorundadır; karta yüklenen kod için baudrate=4800, arayüz için baudrate=9600 olursa (ya da bunun gibi kombinasyonlar) sistem doğru çalışmayacaktır.
(Serial.begin(9600) Arduino programı içerisinde kodda baudrate i belirlediğiniz kod satırıdır.) Aynı şekilde Arduino hangi porttan bağlanmışsa arayüzde de o port seçili olmalıdır. Aksi taktirde Arduino'dan gelen veriler okunamayacağı için program tarafından işlem gerçekleştirilemez. 

Arayüzün alt kısmında yer alan Dijital Verilerin işleyişine göz atalım:
Program, arayüzde de göründüğü gibi en az 1, en fazla 8 adet dijital verinin okunmasını ve işlenmesini sağlayabilmektedir. Okunan ilk dijital verinin gösterilmiş olduğu D1 satırına, okunacak olan veriyle ilgili bilgilerin girişi olmadan D2 satırının veri girişini yapacak olduğunuz alanlar açılmayacaktır. Bu işleyişi D1-D8 arasındaki tüm satırlar için geçerlidir, yani her satır kendinden önceki satırın dolması ile açılmaktadır. 

Programın çalışmasına dair önemli bir not:
Arduino üzerinden 5 adet verinin geldiğini varsayalım. Bu veriler D1den D5 e kadar karta gönderildiği sırada yazılmalıdır. Bunun sebebini şu şekilde ifade edebiliriz: Arduino üzerinden okunan dataların tümü string türünden bir array(dizi) olarak tutulmaktadır; ve gelen her bir dijital değerin bu array üzerinde sıra numarası bulunmaktadır. Program geliştirilirken bu veriler karta hangi sırada gönderilmişse aynı sırada arayüze yazılmış olduğu varsayılmıştır. 

Bunun yanında Arduino üzerinden gelen 5 verinin 3 tanesini(D1, D3, D4 gibi) görüntülemek istiyorsanız görüntülemek istemediğiniz satırları(D2, D5) boş bırakarak işleminizi gerçekleştirebilirsiniz.

Okunan verilerin karşılaştırılmasının ardından renklendirmenin yapıldığı pictureboxların default değerleri vardır, ancak bu renkleri kendi istediğiniz bir renk ile değiştirmek isterseniz tek yapmanız gereken bu picturebox üzerine tıklamak ve rengi seçmektir. Seçmiş olduğunuz renk sadece ilgili pictureboxın rengini değiştirecektir. Örneğin D3 satırına ait ilk picturebox'ın rengini değiştirelim:






Görmüş olduğunuz gibi default olarak var olan Kırmızı rengini Sarı olarak değiştirdik. İsteğiniz doğrultusunda bu özelliği de kullanabilirsiniz.

Arayüzün sağ üst kısmında yer alan İşlemler bölümünü inceleyecek olursak;
Arduino'dan okuyacak olduğunuz verilerin Dijital Veriler kısmına girişi yapıldıktan sonra ÇALIŞTIR butonuna tıklayarak veri akışını uygulama üzerinden görüntüleyebilirsiniz. ÇALIŞTIR butonuna tıkladıktan sonra Dijital Veriler bölümündeki satırlara verilere ait bilgilerin girişini yapamazsınız. Yeni bir değer okumak istediğinizde ya da okuduğunuz bir datanın değerlerini görüntülemek istemediğinizde bu satırlara veri girişi yapabilmek için öncelikle DURDUR butonuna tıklamanız gerekecektir.(ÇALIŞTIR butonuna tıkladığınızda bu butonun ismi DURDUR olarak değişecektir.) DURDUR butonuna tıkladıktan sonra satırlara erişimin sağlandığını göreceksiniz. TEMİZLE butonu D1-D8 satırlarının verilerini temizlemeniz için oluşturulmuş bir araçtır. KAPAT butonuna tıklamanız halinde program, D1-D8 üzerindeki verileri default olarak kaydedip kapanacaktır.
Üst menüde görmüş olduğunuz Dosya'ya tıkladığınızda Türkçe ve İngilizce olmak üere 2 adet dil seçimi hakkınız bulunmaktadır. 



Yine bu üst menüde görmüş olduğunuz Yardım sekmesi bulunmaktadır ki buna tıkladığınızda Hakkında ve Yardım alanları var. Hakkında'ya tıkladığınızda programın ismi, versiyonu, güncelleme yılı ve geliştirildiği kurum hakkında bilgiler veren pencereyi görüntüleyeceksiniz.
 

Herhangi bir sorunuz olması halinde aysenacun@gmail.com mail adresi üzerinden iletişime geçebilirsiniz..



Yorumlar

Bu blogdaki popüler yayınlar

Meşe Bilişim Software Testing Dersi

Manisa Celal Bayar Üniversitesi Bilgisayar Mühendisliği Bölümü ile bazı özel ve kamu kurumları ortaklığında gerçekleştirilen Software Testing Dersi dahilinde bugün Meşe Bilişim şirketinde şirket kurucusu Şahin Mersin ile ilk dersimizi gerçekleştirdik.

Üniversitenin Bilgisayar Mühendisliği bölümünde okuyan 3 veya 4'üncü sınıf öğrencileri tarafından tercih edilebilen Software Testing dersi intörn eğitim modelini temelinde barındıran bir ders ve bence öğrenciler için müthiş bir fırsat.

Manisa Teknokent içerisinde yer alan Meşe Bilişim şirketinde bir dönem süresince Software Testing dersini almaya devam edeceğiz. Şirket benimle birlikte 10 kişilik bir öğrenci kadrosuna bu dönem ev sahipliği yapacak.

Dersin ilk gününde Meşe Bilişim şirket kurucusu Şahin Mersin, biz öğrencilerine dönem süresince ders dahilinde yapacaklarımızdan bahsetti. Yaklaşık 5 farklı projeden söz eden Şahin Bey'in açık kaynaklı projelere katkıda bulunmak hedefi açıkcası beni etkiledi. Bu doğrultuda, ürettiğimiz…

Mqtt Nedir?

Message Queuing Telemetry Transport (MQTT) kelimelerinin baş harfleri ile tanıdığımız bu teknoloji mesajın karşı tarafa ulaştırılması için kullanılan haberleşme protokolüdür.  Haberleşme için mesaj yayınlayan, mesaja abone olan ve mesaj trafiğini kontrol eden yöneticiden oluşmaktadır. Mesaj trafiğini kontrol eden yöneticiye BROKER, mesaj yayınına PUBLISH ve aboneye SUBSCRIBE denir. Mesaj alışverişi publisher dan subscriber lara doğru yani yayıncılardan abonelere doğru olmaktadır. MQTT de asenkron haberleşme protokolü kullanılmaktadır. Mesaj yayıncıları ve mesaj alıcılar arasında eşzamansız olarak veri taşınmaktadır. Diğer haberleşme yapılarına göre basit oluşu ve minimum kaynak tüketmesi sebebiyle “machine-to-machine” (M2M)  makineden makineye veri iletiminde ve (IOT) “Internet of Things” İnternete bağlı nesnelerin mesajlaşmasında tercih edilmektedir.   MQTT IBM de çalışan Dr Andy Stanford-Clark ve Arcom da çalışan Arlen Nipper (şu an Eurotech) tarafından 1999 yılında oluşturulmuştur…

Meşe Bilişim Logolar