<p><span style="color: #404040; font-family: 굴림;">컴퓨터에서 입력한 텍스트가 아두이노에서 수신되면 이 값을 파싱하여 숫자로 변환하는 방법을 살펴보자. 문자는 ASCII코드를 사용하므로 컴퓨터가 전송한 문자에 대한 숫자의 변환은 ASCII 코드를 다루는 방법을 이용하면 된다. ASCII의 '0' 에서 '9'까지의 숫자에 대한 문자는 코드가 48에서 57까지이다. 그러므로 숫자에 대한 문자를 숫자로 변환하는 것은 다음과 같이 간단하다.&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp;&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">char ch = Serial.read();&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; int num = (ch - '0'); // ASCII 값은 숫자 값으로 변환&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp;&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">만약 ch의 문자가 '1'이면 ASCII 코드로 49 이다. 그리고 '0'은 48이므로 위의 공식에 따르면 49 - 48과 같은 것이다. 그러므로 결국은 숫자 1로 변환되는 것이다.&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp;&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">그럼 1개 이상의 숫자 즉 234와 같은 숫자는 어떻게 처리하면 되는지 살펴보자. 시리얼 모니터를 통해 전송하는 숫자에 대한 문자열은 사람이 읽기 쉬운 10진수를 사용하므로 Serial.read() 함수를 통해 읽은 한 문자에 대해 10을 곱하면 된다. 즉 다음과 같은 코드로 처리하면 된다.&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp;&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">int blinkRate = 1000; // LED가 깜박이는 속도&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">int value = 0;&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp;&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">void loop()&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">{&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; if( Serial.available())&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; {&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; &nbsp; &nbsp; char ch = Serial.read();&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; &nbsp; &nbsp; if( isDigit(ch) )// 0 에서 9까지의 문자인지 확인&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; value = (value * 10) + (ch - '0'); // 값을 계산, 이전의 값에 10을 곱한 후 새로 받은 값을 더한다.&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; &nbsp; &nbsp; else if (ch == 10) // 만약 수신된 문자가 개행 문자이면&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blinkRate = value; // 깜박이는 속도 값으로 설정한다.&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Serial.println(blinkRate);&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; value = 0; // 다음의 숫자들은 새로운 속도 값으로 계산되도록 0으로 설정&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; &nbsp; }&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">}</span></p>