26章:Arduino(アルドゥイーノ)演習(Strings/StringComparisonOperators編)

    作成2015.08.27

  1. Arduino(アルドゥイーノ)演習参照アドレス
     Arduino(アルドゥイーノ)演習は下記のアドレスを参照します。
    https://www.arduino.cc/en/Tutorial/HomePage


  2. Strings/StringComparisonOperatorsの回路図
     パソコンとのUSB接続のみとなります。


  3. Strings/StringComparisonOperatorsのスケッチ
    (1)メニューの「ファイル」_「スケッチの例」_「Strings」_「StringComparisonOperators」 で以下のスケッチが設定されます。
    /*
      Comparing Strings
    
     Examples of how to compare strings using the comparison operators
    
     created 27 July 2010
     modified 2 Apr 2012
     by Tom Igoe
     http://www.arduino.cc/en/Tutorial/StringComparisonOperators
     This example code is in the public domain.
     */
    
    String stringOne, stringTwo;
    
    void setup() {
      // Open serial communications and wait for port to open:
      Serial.begin(9600);
      while (!Serial) {
        ; // wait for serial port to connect. Needed for Leonardo only
      }
    
    
      stringOne = String("this");
      stringTwo = String("that");
      // send an intro:
      Serial.println("\n\nComparing Strings:");
      Serial.println();
    
    }
    
    void loop() {
      // two strings equal:
      if (stringOne == "this") {
        Serial.println("StringOne == \"this\"");
      }
      // two strings not equal:
      if (stringOne != stringTwo) {
        Serial.println(stringOne + " =! " + stringTwo);
      }
    
      // two strings not equal (case sensitivity matters):
      stringOne = "This";
      stringTwo = "this";
      if (stringOne != stringTwo) {
        Serial.println(stringOne + " =! " + stringTwo);
      }
      // you can also use equals() to see if two strings are the same:
      if (stringOne.equals(stringTwo)) {
        Serial.println(stringOne + " equals " + stringTwo);
      }
      else {
        Serial.println(stringOne + " does not equal " + stringTwo);
      }
    
      // or perhaps you want to ignore case:
      if (stringOne.equalsIgnoreCase(stringTwo)) {
        Serial.println(stringOne + " equals (ignoring case) " + stringTwo);
      }
      else {
        Serial.println(stringOne + " does not equal (ignoring case) " + stringTwo);
      }
    
      // a numeric string compared to the number it represents:
      stringOne = "1";
      int numberOne = 1;
      if (stringOne.toInt() == numberOne) {
        Serial.println(stringOne + " = " + numberOne);
      }
    
    
    
      // two numeric strings compared:
      stringOne = "2";
      stringTwo = "1";
      if (stringOne >= stringTwo) {
        Serial.println(stringOne + " >= " + stringTwo);
      }
    
      // comparison operators can be used to compare strings for alphabetic sorting too:
      stringOne = String("Brown");
      if (stringOne < "Charles") {
        Serial.println(stringOne + " < Charles");
      }
    
      if (stringOne > "Adams") {
        Serial.println(stringOne + " > Adams");
      }
    
      if (stringOne <= "Browne") {
        Serial.println(stringOne + " <= Browne");
      }
    
    
      if (stringOne >= "Brow") {
        Serial.println(stringOne + " >= Brow");
      }
    
      // the compareTo() operator also allows you to compare strings
      // it evaluates on the first character that's different.
      // if the first character of the string you're comparing to
      // comes first in alphanumeric order, then compareTo() is greater than 0:
      stringOne = "Cucumber";
      stringTwo = "Cucuracha";
      if (stringOne.compareTo(stringTwo) < 0 ) {
        Serial.println(stringOne + " comes before " + stringTwo);
      }
      else {
        Serial.println(stringOne + " comes after " + stringTwo);
      }
    
      delay(10000);  // because the next part is a loop:
    
      // compareTo() is handy when you've got strings with numbers in them too:
    
      while (true) {
        stringOne = "Sensor: ";
        stringTwo = "Sensor: ";
    
        stringOne += analogRead(A0);
        stringTwo += analogRead(A5);
    
        if (stringOne.compareTo(stringTwo) < 0 ) {
          Serial.println(stringOne + " comes before " + stringTwo);
        }
        else {
          Serial.println(stringOne + " comes after " + stringTwo);
    
        }
      }
    }
    


  4. Strings/StringComparisonOperatorsの実行
    (1)メニューの「スケッチ」_「マイコンボードに書き込む」で書込みされ、実行されます。
    (2)メニューの「ツール」_「シリアルモニタ」を選択するとシリアルモニタが表示されます。
    (3)以下が表示されます。
    Comparing Strings:
    
    StringOne == "this"
    this =! that
    This =! this
    This does not equal this
    This equals (ignoring case) this
    1 = 1
    2 >= 1
    Brown < Charles
    Brown > Adams
    Brown <= Browne
    Brown >= Brow
    Cucumber comes before Cucuracha
    Sensor: 519 comes after Sensor: 438
    Sensor: 453 comes after Sensor: 433
    Sensor: 383 comes after Sensor: 377
    


  5. Strings/StringComparisonOperatorsまとめ
    (1)文字列の比較の演習です。




27章:Arduino(アルドゥイーノ)演習(Strings/StringConstructors編)に行く。

トップページに戻る。