Tüm Arduio kartlarında en az bir adet Arduino kartı ile bilgisayar veya diğer cihazlar arasında bağlantı kuran Serial Port bulunuyor. Arduino UNO'dan bir tane Serial Port bulunurken Arduino MEGA ve Arduino DUE'de daha fazla port yer alıyor. Bu konuyla ilgili başka yazılarımıza buradan ve buradanulaşabilirsiniz.
Arduino UNO, 0'dan 13'e kadar olmak üzere toplam 14 tane dijital pine sahiptir. Bu kartta da diğer kartlarda da görebileceğimiz gibi dijital 0 (RX) ve dijital 1 (TX) pinleri Serial Port için ayrılmıştır. Arduino kartımız üzerindeki Serial Port için ayrılmış pinleri tek seferde yalnızca Serial Port için kullanabiliriz. Bu sırada bu pinler başka giriş veya çıkış işlemlerini gerçekleştiremez. Arduino'nunuzun bilgisayarla haberleşmesini sağlamak için 0 ve 1 numaralı pinlerin başla bir yere bağlı olmadığından emin olmanız gerekir.
Her şeyden önce bilgisayarınız ve kartınız arasındaki bağlantıyı sağlamanız gerekir. Daha sonra Serial Port Ekranına ulaşabilir ve bu ekranı kullanarak kartınız ile haberleşme ekranına ulaşabilirsiniz. Serial Port Ekranı için Türkçede Seri Port Ekranı ya da Serial Monitor ifadeleri de kullanılıyor. Bu ifadelerden herhangi biriyle karşılaştığınızda hepsinin aynı anlama geldiğini hatırlamanızda fayda var.
Arduino programlama dilinde seri haberleşme portunu kullanımı için tanımlanmış bir Serial nesnesi bulunmaktadır. Serial nesnesi işimizi kolaylaştırıcı bir çok fonksiyona sahiptir. Bunları şöyle sıralayabiliriz.
Bu fonksiyonların her biri farklı bir görev için tanımlanmıştır ve Arduino kartınızla işlem yapmanızı sağlarlar.
Seri haberleşmeyi kurmak için ilk kullanmamız gereken fonksiyon şudur:
Serial.begin()
Bu komut ile Seri ara birimi kullanmak için hazır hale getirmiş oluruz. Kullanım şekli Serial.begin(baud rate); şeklindedir. Burada gördüğünüz Baud Rate, haberleşme hızını belirtir ve birimi bps yani saniye başına bit'dir. Baud Rate; 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, yada 115200 değerlerini alabilir. Standart olarak basit bir iletişim kurup haberleşme yapmak için 9600 bps kullanılır.
1 void setup()
2 {
3 Serial.begin(9600);
4 }
Bundan sonraki adımlarda; serial.print(), serial.write(), serial.read(), serial.available() gibi komutlarla yolunuza devam etmeniz gerekir. Bu komutların temelde nasıl çalıştığını, parantez içlerine yazılan bilgilerin ya da diğer fonksiyonlarla birlikte verilen komutların nasıl bir anlama geldiğini kavradığınızda birkaç temel bilgiyle pek çok komutu çalıştırabilir hale gelirsiniz.
Kısaca bakacak olursak:
Serial.begin(baud_rate): Serial haberleşmenin başlatılması için "setup" kısmına yazılır.
Serial.print() / Serial.println(): Serial ASCII yazılarının göndermemizi sağlar. String ve Char değişkenlerini gönderir.
Serial.Write(): Serial üzerinden byte verileri gönderir.
Serial.read(): Serialden gelen verileri okumak için kullanılır.
Serial.available(): Serial bağlantının kullanılabilir olup olmadığını kontrol eder. "if" gibi foksiyonlarla kullanılır.
Kaynak: http://arduinoturkiye.com/arduinoserihaberlesmeserialportvefonksiyonlari/