Arduino 제어

아두이노 시리얼 모니터 숫자 출력.

대마법사kjs 2023. 4. 24. 22:20

오늘은 시리얼 모니터에 숫자를 입력하고,
시리얼 모니터에 숫자를 출력해보는 시간을 가지도록 하겠습니다.

 

사용할 아두이노는 우노 입니다.

원래는 숫자를 입력하면 입력한 숫자만큼 깜빡이는걸 한번 만들어보려고했는데,  이상하게 시리얼 모니터 출력값에
53
10  이런식으로 두줄이 생기더군요.

그래서 DOC을 뒤져보다가... parseInt함수를 찾았습니다.

파파고 번역을 돌려보니.. 보낸 글자중에서 숫자를 찾아낸다고 하길래 냅다 코드를 입력해봅니다.

코드는 아래를 참고하시고 사용하시면 되며, int는 32,767 까지  입력하면 알잘딱 가능합니다.


int SS 자리에 long SS로 하면 2,147,483,647, -2,147,483,648 까지 숫자를 입력 가능합니당.


int - Arduino Reference

long - Arduino Reference

Serial.parseInt() - Arduino Reference

 

void setup() {
  Serial.begin(9600); // 시리얼 통신속도

}

void loop() {
  if (Serial.available()){
    int SS = Serial.parseInt();
    Serial.println(SS);
  }

}

 

void setup() {
  Serial.begin(9600); // 시리얼 통신속도

}

void loop() {
  if (Serial.available()) {
    long SS = Serial.parseInt();
    Serial.println(SS);
  }
}

 

혹은... toInt() 함수를 사용해서 문자열을 정수로 변환하는것도 가능합니다.

문자열 p1
정수 p2
정수 p2 = 문자열p1 toInt 이런느낌쓰로 변환이 가능합니다.
단, 문자열에 숫자가 아닌 문자가 있으면 변환이 취소된다고 Doc에 적혀있으니 참고하시기 바랍니다.

마찬가지로 int라 32767까지만 되는거같네요.

String p1;
int p2;

void setup() {
  Serial.begin(9600);

}

void loop() {
  if (Serial.available()){
    p1 = Serial.readString();
    p2 = p1.toInt();
    Serial.println(p2);
  }

}

결과창.