아두이노 Arduino

[아두이노] 문자열, 정수, 실수 크기 비교 하기 (Comparison)

끄적끄적아무거나 2022. 4. 28. 08:08
반응형

 

목차

     

     

     

     

     

     

    Arduino 문자열(String) 비교하기 : 기호 사용하기

     

    우선 문자열 비교에 앞서 문자열(String)을 비교하고 검증하기 위해 시리얼 통신(Serial Communication)을 사용해서 결과 값을 컴퓨터로 전달해서 확인해야 합니다. 해당 내용은 아래 링크를 통해 하드웨어 구성 부터 모니터링 보는 방법을 확인하시길 바랍니다. (https://scribblinganything.tistory.com/512)

     

     

    문자열을 비교할 때 일반 부등식 기호를 사용하거나 equals(), equalsIgnoreCase() 와 같은 함수를 사용해서 비교 합니다. 우선 비교 기호는 아래와 같이 있습니다.

     

    • comparison: == 
    • greater than:
    • greater than or equal to: >= 
    • less than:
    • less than or equal to: <= 
    • different from: !=

     

    아래 코드로 간단하게 살펴 보겠습니다.

     

    예제 코드>>

    String stringOne, stringTwo;
    
    void setup() {
      Serial.begin(9600);
      while (!Serial) {
        ;
      }
    }
    
    void loop() {
      
      stringOne = String("HELLO");
      stringTwo = String("hello");
      
      if (stringOne == stringTwo) {
        Serial.println(stringOne + " and " + stringTwo + " is same");
      }
      else {
        Serial.println(stringOne + " and " + stringTwo + " is different");
      }
    
      stringOne = String("hi");
      stringTwo = String("hi"); 
    
      if (stringOne == stringTwo) {
        Serial.println(stringOne + " and " + stringTwo + " is same");
      }
      else {
        Serial.println(stringOne + " and " + stringTwo + " is different");
      }
    }

    1번 라인: string 변수 선언

    3~8번 라인: 시리얼 통신 연결, 연결 될때까지 기다리기

    12~13번 라인: 다른 변수 값 선언

    15~20번 라인: 변수 값이 다르므로 else 시행됨

    22~23번: 동일 변수 선언

    25~30번: 동일하므로 if 문 실행됨

     

     

     

    결과>>

     

     

     

     

     

     

     

    Arduino 정수(int), 실수(float) 비교하기 : 기호 사용하기

     

    아두이노 프로그램에서 정수 실수 비교도 문자열 비교와 동일합니다. 일반적으로 아두이노 센서 입력 값 analog input을 읽고 이는 실수로 처리 합니다. 실수 값을 부등호로 비교 하고 출력은 String() 함수를 사용해서 문자열로 변환해서 시리얼 통신으로 보내면 됩니다. 

     

    코드>>

    void setup() {
      Serial.begin(9600);
      while (!Serial) {
        ;
      }
    }
    
    void loop() {
      
      int var1 = 100;
      int var2 = 101;
      
      if (var1 < var2) {
        Serial.println(String(var2) + " is bigger than  " + String(var1));
      }
      else {
        Serial.println(String(var2) + " is not bigger than  " + String(var1));
      }
    
      float var3 = 100.1;
      float var4 = 100.2;
    
      if (var3 < var4) {
        Serial.println(String(var4) + " is bigger than  " + String(var3));
      }
      else {
        Serial.println(String(var4) + " is not bigger than  " + String(var3));
      }
    }

    10~11, 20~21번 라인: 실수와 정수를 int와 float을 사용해서 변수 선언을 해줍니다.

    14번 라인: 비교 결과를 String 함수를 사용해서 문자열로 바꿔줘서 전달해줍니다.

     

     

     

    결과>>

     

     

    반응형