Arduino üzerinde bulunan ve normal pinlere göre farklı haberleşme standartı bulunan seri portların nasıl kullanıldığını öğreneceğiz.
Seri iletişimlerde haberleşme işlemi belirli standart üzerinden yapılmaktadır. Bu standartta veriler gönderilirken başlangıç ve bitiş bitleri bulunmaktadır. Gönderme işlemi ise verilerin bayt bayt aktarılmasıyla gerçekleşir. En sık kullanılan ise bir bit start-sekiz bit veri-bir bit stop (1-8-1) standartıdır. Yani bir bayt=8 bit veri göndermek istediğimizde toplamda 10 bitlik bir veri göndermiş oluruz. Bu standartı Arduino IDE ortamında yazdığımız kodlarımızı arduino devre kartına yüklerken kullanıyoruz. Tüm bunları gerçekleştirmek için arduinonun serial kütüphanesini kullanırız şimdi bunlarla ilgili olarak uygulamalarımızı yapalım.
Öncelikle bazı tanımlamaları öğrenelim:
Baud: Saniyede bit gönderimi demektir. 4800,9600,14400,19200,28800,115200 gibi değerler bulunmaktadır.
Örnek olarak 9600 baud saniyede 1000 karakterlik veri gönderimi demektir. Burada dikkat edilmesi gereken konu baud değerlerinin eşit olmasıdır. Aksi halde veri kayıpları yaşanabilir.
Begin: Serial portumuzu başlatmak için baud değeri yani haberleşme hızını ayarlıyoruz
void setup() {
Serial.begin(9600); // Serial portumuzu 9600 baud değerinde ayarlıyoruz
Serial1.begin(9600); //Serial1 portumuzu 9600 baud değerinde ayarlıyoruz
Serial.setTimeout(100); // Serial portundan 100 milisaniye beklemesini ve sonrasında timeout düşmesini belirtiyoruz
Serial1.setTimeout(100); // Serial1 portundan 100 milisaniye beklemesini ve sonrasında timeout düşmesini belirtiyoruz
}
void loop() {
if (Serial1.available()) { // Serial1 portu erişilebilir, yani veri geliyorsa if şartına girmesini sağlar
Serial.println(“Serial portu calisti”); //Serial portundan ekrana yazdırıyoruz }
if (Serial.available()) { // Serial portu erişilebilir, yani veri geliyorsa if şartına girmesini sağlar
Serial1.println(“Serial 1 portu calisti”); //Serial1 portundan ekrana yazdırıyoruz }
}