Arduino C# ve Arduino ile Seri Haberleşme By Ferhat Özcan Posted on 19 Şubat 2015 4 min read 0 1 6,269 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr Arduino ile haberleşen arayüzler tasarlamak ve bu arayüzlerden fiziksel dünya ile etkileşim kurmak en çok aranılan konulardan biri haline gelmiştir. Microsoft firmasının geliştirdiği .NET dil ailesinin en güçlü programlama dili olan C# .NET, arayüz tasarlama konusunda en uygun dillerden bir tanesidir. Seri İletişim ise en basit anlamıyla dijital bilginin yani 1 ve 0’ların tek bir hat üzerinden peşi sıra iletilmesi anlamına gelmektedir. Arduino’nun üzerinde bulunan veya benzeri birçok mikrodenetleyici üzerinde seri iletişim birimi bulunmaktadır. Bu birimler vasıtasıyla seri iletişim yürütülür. Bu birime UART / USART adı verilir. C# veya herhangi bir dilde Arduino ’ nun bağlı olduğu portu tanıtıyoruz.(COM1 , COM2 , COM8 vs.). Bilgisayarım COM4 olarak tanıdı . Portu tanıttıktan sonra Arduino’ da bulunan Serial Monitor Baud değerini yazıyoruz. Genelde bu değer 9600 olur. Daha sonrasında ise bu bağlantısını kurduğumuz Serial Monitore değerler yazıyoruz. Bu değerleri Arduino ‘ nun yorumlayabilmesi içinde Arduino IDE ye Serial Monitordeki değeri okutuyoruz ve gerekli işlemleri yapmasını sağlıyoruz. Arduino Kodu [php] int led1=5; int led2=3; void setup() { pinMode(led1,OUTPUT); pinMode(led2,OUTPUT); Serial.begin(9600); } void loop() { if(Serial.available()) { int a=Serial.read(); if(a==’1′) { digitalWrite(led1,HIGH); } if(a==’2′) { digitalWrite(led1,LOW); } if(a==’3′) { digitalWrite(led2,HIGH); } if(a==’4′) { digitalWrite(led2,LOW); }}} [/php] C# Kod [php] using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.IO.Ports; namespace WpfApplication1 { public partial class MainWindow : Window { SerialPort deneme = new SerialPort(”COM4”, 9600); public MainWindow() { InitializeComponent(); deneme.Open(); } private void Button_Click(object sender, RoutedEventArgs e) { deneme.Write(”1”); } private void Button_Click_1(object sender, RoutedEventArgs e) { deneme.Write(”2”); } private void Button_Click_2(object sender, RoutedEventArgs e) { deneme.Write(”3”); } private void Button_Click_3(object sender, RoutedEventArgs e) { deneme.Write(”4”); } }} [/php]