Arduino ile Seri İletişim ve Serial Motor Kullanımı
> Blog > Arduino > Arduino ile Seri İletişim ve Serial Motor Kullanımı
Arama
13.09.2021
Arduino ile Seri İletişim ve Serial Motor Kullanımı

Seri iletişimin ayrıntılarına girmeden Arduino ile nasıl bilgisayarla veya başka harici birimlerle iletişim kurabileceğimizi göreceğiz. Seri iletişim 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.

 

Seri iletişimde belirli bir format kullanılmaktadır. Bu formatta veriler baytlar halinde iletilir. Her bir bayt için belirli bir başlangıç ve bitiş bitleri de ayrıca yer alır. En çok kullanılan 1 bit start, 8 bit veri ve 1 bit stop biti formatıdır. Yani 1 bayt veriyi iletmek için 10 bit gönderilir.

 

Bilgisayarımızdan Arduino’yu programlarken de seri iletişimi farkında olmadan kullanmış oluruz. Yazdığımız program derlendikten sonra seri iletişim yoluyla Arduino’nun hafızasına aktarılır.

 

Arduino’da seri iletişim için bir kütüphane bulunuyor. Serial adı verilen bu kütüphanenin en çok kullanılan fonksiyonlarından print ve println‘in kullanılışını görelim:

 

Seri İletişim ile Veri Gönderme

Arduino ile seri iletişimi en basit haliyle aşağıdaki örneği çalıştırarak görelim:

 

int a=5;
int b=6;

void setup()

{

  //Seri haberleşme hızını ayarlıyoruz

  Serial.begin(9600);

}

void loop()

{

toplam=a+b;

Serial.println(toplam);

delay(1000);

}

Seri haberleşme ile Arduino’dan gönderilen verileri görüntülemek için Serial Monitor eklentisini kullanabiliriz:

 

Programımızın Serial Monitor’de görüntülenen çıktısı şu şekilde olacaktır:

 

 

Programımızda setup() fonksiyonu içerisinde  Serial.begin(9600) şeklinde çağırdığımız fonksiyon ile iletişim hızını ayarlaıyoruz. Seri haberleşmede iletişim hızı “baud” adı verilen bir değerle ifade edilir. Bu değer saniyede gönderilen bit sayısını ifade eder (bits per second). Serial monitor’ün sağ alt köşesindeki değerle programımızdaki değerin aynı olduğuna dikkat edin. Arduino’dan gönderdiğimiz verileri düzgün görüntüleyebilmek için bu değerler aynı olmalıdır.

 

Serial.print() ve Serial.println() fonksiyonları ile string’leri doğrudan yollayabiliyoruz. İki fonksiyon arasındaki tek fark println() fonksiyonunun string sonuna bir de satır sonu karakteri eklemesidir. Böylelikle veriler Serial monitor ile alt alta görüntülenebilir. Bu fonksiyonlara string parametreler verilebildiği gibi int, float türünde sayılar da verilebilir.

 

Serial Monitor seri haberleşmeden ASCII formatında gelen verileri görüntülememizi sağlar. ASCII tablosunda her bir karaktere karşılık gelen sayısal bir değer bulunur. Seri haberleşmede bu değer gönderilir ve Serial Monitor (ya da benzeri başka programlar) bu sayılara karşı gelen karakterleri görüntüler. Yani aslında gelen veriler 0-255 arasında (8 bit) değerlerden ibarettir.