15 Nisan 2017 Cumartesi

Arduino'da String Fonksiyonları

Merhaba Webkolog takipçileri,

Arduino projelerimizde sadece sayısal verilerle değil, aynı zamanda metinsel verilerle de çalışmamız gerekebilir. Sensörden gelen verileri anlamlı metinler haline getirmek, bir LCD ekranda mesaj göstermek veya seri port üzerinden komut almak gibi durumlarda metinleri etkin bir şekilde yönetmek büyük önem taşır. İşte tam da bu yüzden, Arduino'nun bize sunduğu String sınıfı ve onun güçlü fonksiyonları devreye giriyor. Bu yazımda, metinleri işlemek için kullanabileceğimiz temel String fonksiyonlarını ve nasıl uygulayacağımızı anlatacağım. Hazırsanız, kod yazarken hayatınızı kolaylaştıracak bu fonksiyonları inceleyelim.


String Tanımlama ve Birleştirme

Öncelikle, String tipinde bir değişken tanımlamak oldukça basittir. Hem tırnak işaretleri ("") arasına yazdığımız metinleri, hem de sayısal verileri farklı formatlarda String'e dönüştürebiliriz.

String metin = "Merhaba Webkolog";
char karakter = 'A';

// Sayısal değerleri String'e dönüştürme
String onlukSayi = String(13);      // "13"
String onaltilikSayi = String(13, HEX); // "D"
String ikilikSayi = String(13, BIN);     // "1101"

String'leri birleştirmek (concatenation) için + operatörünü veya concat() fonksiyonunu kullanabiliriz. Bu sayede farklı metinleri, karakterleri veya sayıları tek bir metin içinde toplayabiliriz.

String ad = "Ali";
String soyad = "Yılmaz";
String tamAd = ad + " " + soyad; // tamAd artık "Ali Yılmaz"

String mesaj = "Sıcaklık: ";
int sicaklik = 25;
mesaj = mesaj + sicaklik; // mesaj artık "Sıcaklık: 25" olur

mesaj.concat(" derece"); // mesaj artık "Sıcaklık: 25 derece" olur

String Elemanlarına Erişim ve Değiştirme

Bir String'in belirli bir karakterine erişmek veya onu değiştirmek için de fonksiyonlar mevcuttur. Tıpkı dizilerde olduğu gibi, String'lerdeki karakterlere de indeks numarası ile erişiriz.

  • charAt(index): Belirtilen indeksteki karakteri döndürür.
  • setCharAt(index, karakter): Belirtilen indeksteki karakteri değiştirir.
String yazi = "Webkolog";
char yedinciKarakter = yazi.charAt(6); // yedinciKarakter = 'g' olur (indeks 6'dan dolayı)

yazi.setCharAt(3, 'K'); // yazi artık "WebKolog" olur

String Karşılaştırma ve Kontrol Fonksiyonları

İki String'i karşılaştırmak, bir String'in belirli bir metinle başlayıp başlamadığını kontrol etmek veya büyük-küçük harf duyarlılığını göz ardı etmek için bu fonksiyonları kullanabiliriz:

  • compareTo(string2): İki String'i sözlük sırasına göre karşılaştırır. Eşitse 0, ilk String daha önce geliyorsa negatif, sonra geliyorsa pozitif bir sayı döndürür.
  • equals(string2): İki String'in birebir aynı olup olmadığını kontrol eder. Sonuç olarak true veya false döndürür.
  • equalsIgnoreCase(string2): Büyük-küçük harf duyarlılığı olmadan eşitlik kontrolü yapar.
  • startsWith(string): String'in belirtilen metinle başlayıp başlamadığını kontrol eder.
  • endsWith(string): String'in belirtilen metinle bitip bitmediğini kontrol eder.
String a = "Arduino";
String b = "arduino";

if (a.equals(b)) {
  // Bu kod çalışmaz, çünkü harf duyarlı bir kontrol
}

if (a.equalsIgnoreCase(b)) {
  // Bu kod çalışır, çünkü harf duyarlılığı yok
}

if (a.startsWith("Ard")) {
  // Bu kod çalışır
}

String'leri Manipüle Etme

Bir String'in bir kısmını almak (alt dize oluşturmak), harfleri büyük veya küçük harfe dönüştürmek, boşlukları temizlemek veya karakterleri değiştirmek için bu fonksiyonlar kullanılır:

  • substring(baslangicIndexi, bitisIndexi): String'in belirli bir bölümünü alır. Eğer bitiş indeksi belirtilmezse, başlangıçtan sonuna kadar olan kısmı alır.
  • toLowerCase(): String'deki tüm harfleri küçük harfe dönüştürür.
  • toUpperCase(): String'deki tüm harfleri büyük harfe dönüştürür.
  • trim(): String'in başındaki ve sonundaki boşlukları kaldırır.
  • indexOf(karakter, baslangicIndexi): Belirtilen karakterin String içindeki ilk konumunu döndürür.
  • replace(eski, yeni): String içindeki eski karakterleri, yeni karakterlerle değiştirir.
String uzunMetin = "  Arduino IDE  ";
String altMetin = uzunMetin.substring(2, 9); // altMetin = "Arduino"
String buyukHarf = uzunMetin.toUpperCase(); // buyukHarf = "  ARDUINO IDE  "
String temizMetin = uzunMetin.trim(); // temizMetin = "Arduino IDE"

String tarih = "2023-11-20";
tarih.replace("-", "/"); // tarih artık "2023/11/20" olur

Arduino'da String fonksiyonlarını ustaca kullanmak, özellikle seri port üzerinden gelen verileri işlerken veya bir ekranda dinamik metinler gösterirken projelerinizi çok daha profesyonel bir seviyeye taşıyacaktır. Bu fonksiyonlar sayesinde, metinlerle çalışmak artık bir angarya olmaktan çıkıp keyifli bir sürece dönüşüyor.

Umarım bu makale, String fonksiyonlarını daha iyi anlamanıza ve projelerinizde daha etkili bir şekilde kullanmanıza yardımcı olur.

Webkolog'u takipte kalın!

Hepinize bol kodlu ve keyifli öğrenme süreçleri dilerim!

0 yorum:

Yorum Gönder