Site icon elektromanyetix

Arduino Dizi Ekleme İşleci

Arduino Dizi Ekleme İşleci

Arduino Dizi Ekleme İşleci

Arduino Dizi Ekleme İşleci. Dizeleri çeşitli yollarla birlikte ekleyebilirsiniz. Buna birleştirme adı verilir ve bu, orijinal String’in String’in veya onu birleştirdiğiniz karakter dizisinin uzunluğuna göre daha uzun olmasına neden olur. + Işleci, bir String’i başka bir String ile sabit bir karakter dizisi, bir sabit veya değişken sayının bir ASCII gösterimi veya sabit bir karakterle birleştirmenize izin verir.

 // bir dizeye sabit bir tamsayı eklemek:
   stringThree = stringOne + 123;

   // bir dizeye sabit bir uzun tamsayı eklemek:
   stringThree = stringOne + 123456789;

   // bir dizeye sabit bir karakter eklemek:
   stringThree = stringOne + 'A';

   // bir dizeye sabit bir dize ekleme:
   stringThree = stringOne + "abc";

   // iki Dizeyi birbirine ekleyerek:
   stringThree = stringOne + stringTwo;

 

İşlev, yukarıda belirtilen izin verilen veri türlerinden birini döndürürse, bir işlevin sonuçlarını bir Dizeye eklemek için + işlecini de kullanabilirsiniz. Örneğin,

   stringThree = stringOne + millis ();

millis() işlevi, bir millis() eklenebilecek uzun bir tam sayı döndürdüğü için millis() izin millis() . Bunu da yapabilirsin:

   stringThree = stringOne + analogRead (A0);

çünkü analogRead() bir tamsayı döndürür. Dize birleştirme, bir değer kombinasyonunu ve bu değerlerin açıklamalarını seri iletişim yoluyla, bir LCD ekranda, bir Ethernet bağlantısı üzerinden veya Dizeler’in yararlı olduğu herhangi bir yerde görüntülemek için bir String’e görüntülemeniz gerektiğinde çok yararlı olabilir.

Dikkat: Beklenmeyen sonuçlar alacağınız için, aynı satırdaki birden çok değişken türünü birleştirmeye dikkat etmelisiniz. Örneğin:

   int sensorValue = analogRead (A0); 
   String stringOne = "Sensör değeri:";
   String stringThree = stringOne + sensorValue;
   Serial.println (stringThree);

“Sensör Değeri: 402” veya analogRead() sonucu ne olursa olsun,

   int sensorValue = analogRead (A0); 
   String stringThree = "Sensör değeri:" + sensorValue;
   Serial.println (stringThree);

tahmin edilemez sonuçlar verir, çünkü farklı veri türlerini birleştirmeye başlamadan önce stringThree hiçbir zaman başlangıç ​​değerine sahip olmaz.

Uygun olmayan başlatma işleminin hatalara neden olacağı başka bir örnek:

   Serial.println ("Ben istiyorum" + analogRead (A0) + "çörek");

Derleyici, operatör önceliğini doğru şekilde işlemediği için bu derleme yapmaz. Öte yandan, aşağıdakiler derlenecek, ancak beklendiği gibi çalışmayacak:

   int sensorValue = analogRead (A0); 
   String stringThree = "Ben istiyorum" + sensorValue;
   Serial.println (stringThree + "çörek");

stringThree aynı nedenden dolayı doğru şekilde çalışmıyor: stringThree farklı veri türlerini birleştirmeye başlamadan önce hiçbir zaman başlangıç ​​değerine stringThree olmadı.

En iyi sonuçları elde etmek için, bunları birleştirmeden önce Dizelerinizi başlatın.

Donanım

  • Arduino veya Genuino

“Arduino UNO, elektronik ve kodlamaya başlamak için en iyi tahtadır. Bu, platformla birlikte çalıştığınız ilk deneyiminizse, Arduino UNO, denemelere başlayabileceğiniz en iyi seçimdir. UNO, tüm Arduino ailesinin en çok kullanılan ve içeriği bulunan kartıdır.

Arduino Uno, ATmega328P tabanlı bir mikro denetleyici karttır. 14 adet dijital giriş / çıkış pini (6’sı PWM çıkışı olarak kullanılabilir), 6 analog giriş, 16 MHz kristali, bir USB bağlantısı, bir güç girişi, bir ICSP başlığı ve bir sıfırlama düğmesi vardır. Mikrodenetleyiciyi desteklemek için gereken her şeyi içerir; Başlamak için bir USB kablosuyla bir bilgisayara bağlayın ya da AC-DC adaptörü ya da pille çalıştırın. UNO’yu, yanlış bir şey yapmadan çok fazla endişe etmeden tamir edebilir, en kötü durum senaryosunu değiştirebilirsiniz. Birkaç dolara çip alır ve tekrar kullanabilirsiniz.”

Devre

Bu örnek için devre yoktur, kartınızın USB üzerinden bilgisayara bağlı olması ve Arduino Yazılımının (IDE) seri monitör penceresi açık olmalıdır.

Kod

İşte birkaç farklı birleştirme örneğinin çalışan bir örneği:

/*
Birlikte Dizeleri Ekleme

Birlikte Strings ekleme örnekleri
Burada gösterildiği gibi String'e de birkaç farklı veri türü ekleyebilirsiniz:

oluşturuldu 27 Tem 2010
değiştirilme tarihi 2 Nis 2012
Tom Igoe tarafından

Bu örnek kod kamu malıdır.
http://www.arduino.cc/en/Tutorial/StringAdditionOperator
*/

// üç Dizeyi bildir:
String stringOne, stringTwo, stringThree;

void setup() {
  // seriyi başlat ve bağlantı noktasının açılmasını bekleyin:
  Serial.begin(9600);
  while (!Serial) {
    ; // bağlanmak için seri portu bekleyin. Sadece yerel USB bağlantı noktası için gerekli
  }

  stringOne = String("Eklediniz ");
  stringTwo = String("bu dize");
  stringThree = String();
  // bir giriş gönderin:
  Serial.println("\n\nDizeleri Ekleme (birleştirme):");
  Serial.println();
}

void loop() {
  // bir String'e bir sabit tamsayı eklemek:
  stringThree =  stringOne + 123;
  Serial.println(stringThree);    //yazdırır: "123 eklediniz"

  // bir String'e sabit bir uzun tamsayı eklemek:
  stringThree = stringOne + 123456789;
  Serial.println(stringThree);    // yazdırır: "123456789 eklediniz"

  // bir String'e sabit bir karakter eklemek:
  stringThree =  stringOne + 'A';
  Serial.println(stringThree);    // yazdırır: "A eklediniz"

  // Dizeye sabit bir dize eklenmesi:
  stringThree =  stringOne +  "abc";
  Serial.println(stringThree);    // yazdırır: "abc eklediniz"


  // İki sintringi birleştir/ekle:
  stringThree = stringOne + stringTwo;
  Serial.println(stringThree);    //yazdırır: "Bu dizeyi eklediniz/birleştirdiniz"

  // bir String'e bir değişken tamsayı eklemek:
  int sensorValue = analogRead(A0);
  stringOne = "Sensör değeri: ";
  stringThree = stringOne  + sensorValue;
  Serial.println(stringThree);    // yazdırır: "Sensör Değeri: 401" veya analog değer ne olursa olsun (A0)

  // bir String'e bir değişken uzun tam sayı ekleyerek:
  stringOne = "millis() değeri: ";
  stringThree = stringOne + millis();
  Serial.println(stringThree);    // "Millis: 345345" ya da millis () değeri ne olursa olsun yazdırır

// true iken hiçbir şey yapmayın:
  while (true);
}

Kaynak:arduino.cc

Exit mobile version