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..