Bu yazı yalnızca Seri Port Ekranı kullanımını anlatmaktadır. Seri Port kütüphanesinin tüm fonksiyonları ve açıklamaları için Arduino Seri Port Detaylı Anlatım sayfamızı ziyaret edebilirsiniz.
Seri haberleşme bilgilerin tek hat üzerinden ardarda gönderilmesiyle yapılır. RS232 portu ile seri haberleşmede bir veri gönderme ve bir de veri alma hattı olarak iki hat kullanılır. Arduino UNO R3 üzerinde bu pinler 0 numaralı dijital pininin özellği olan RX veri alma ve 1 numaralı dijital pinin özelliği olan TX veri gönderme pini üzerinden sağlanır. Kartımız üzerinde USB seri port dönüştürücü chip bulunduğu için direkt olarak USB kablosu üzerinden bilgisayar ile seri haberleşme sağlayabiliriz. 0 ve 1 nolu dijital pinler aynı anda hem dijital pin hem de seri iletişim pini olarak kullanılamazlar. Aynı pinler programlama için de kullanıldığından bu pinlere bağlı seri iletişim cihazları var ise bu cihazı arduino cihazımızdan ayırmadan program yüklemeye çalışırsak idemiz hata mesajı verecektir.
Seri iletişimde birtakım kurallar vardır. Bu kurallardan bir tanesi BaudRate diye bilinen seri haberleşme hızıdır. Bilgiler ard arda gönderildiği için, arduino ile seri iletişim yaptığı cihazın 1 saniyedeki veri gönderme-alma hızı aynı olmak zorundadır. Bu işlemi programımızın setup() yapısı içerisinde Serial.begin() fonksiyonu ile tanımlarız ve parantezler içerisine haberleşme hızını integer cinsinden değerini yazarız. Böylece seri iletişim pinlerini başlatmış oluruz.
1 2 3 |
void setup() { Serial.begin(9600); // saniyede gönderilecek bit sayısı 9600 bit olarak ayarlandı } |
Yukarıdaki kod ile seri haberleşme hızımızı ayarlamış olduk. Şimdi ise bilgileri seri porta nasıl göndereceğimize bakalım.
Bir değişkenin değerini, bir metni ya da bir sayıyı seri porta göndermek için Serial.print() ve Serial.println() fonksiyonları kullanılır. Gönderilecek bilgiler parantezler arasına yazılır.
Serial.print() fonksiyonunda gönderilen veri ekrana basılır ve aynı satırdan devam eder. Serial.println() fonksiyonunda ise gönderilen veri ekrana yazıldıktan sonra bir alt satıra geçerek yeni satırdan devam eder.
Bir önemli nokta var, biz seri porta bilgi gönderirken, bilgileri karakter dizisi şeklinde göndeririz. Bu sebeple ASCII karakterler 7 bit uzunluğunda olduğu için seri porta gönderdiğimiz metin içerisindeki Türkçe karakterler düzgün görünmeyecektir.Mümkün olduğunca Türkçe karakter kullanmamaya özen gösterin.
Şimdi kodlarımızı yazalım;
1 2 3 4 5 6 7 8 9 |
void loop() { int voltaj = 220; // voltaj adında bir değişken oluşturup 220 değerini atıyoruz int akim = 10; // akim adında bir değişken oluşturup 10 değerini atıyoruz Serial.print("Gerilim: "); // Ekrana Gerilim: yazıp aynı satırdan devam ediyoruz Serial.println(voltaj); // Gerilim: yazısının devamına voltaj değişkeni değerini yazıyoruz ve alt satıra geçiyoruz Serial.print("Akim: "); // Ekrana Akim: yazıp aynı satırdan devam ediyoruz Serial.println(akim); // Akim: yazısının devamına akim değişkeni değerini yazıyoruz ve alt satıra geçiyoruz delay(1000); // Veriler 1 saniyelik aralıklarla ekrana yazılacak o sebeple 1 saniye gecikme veriyoruz } |
Kodlarımızı arduino uno’muza yükledikten sonra seri portumuzdaki sinyalleri takip etmek için, USB kablomuzu çıkarmadan Arduino IDE’mizin “Araçlar” menümüzden “Seri Port Ekranı” kısmını seçiyoruz ya da CTRL+Shift+M tuş kombinasyonumuza basıyoruz ve karşımıza seri port ekranı geliyor.
Burada sağ alt kısımda bulunan haberleşme hızı kısmını “9600 baud” seçiyoruz. Artık arduinomuzun seri port üzerinden gönderdiği bilgileri Seri Port Ekranı’ndan görebiliyoruz.
Bir anda seri haberleşme bölümüne geçmemizdeki amaç analogRead() fonksiyonumuzu kullanırken analog okunan ve hesaplanan değerleri görsel olarak göstermekti. Bu dersi sadece yüzeysel olarak anlattık. Seri haberleşmeyi ilerleyen derslerde daha derinden bahsedeceğiz.
[…] önceki Seri Port Ekranı Kullanımı dersimizde seri port nesnemizin bazı fonksiyonlarını ele almıştık. Bu dersimizde ise Seri […]