<p><span style="color: #404040; font-family: 굴림;">int echo = 3;&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">int trig = 2; // 회로를 보여드리지 않아도 각 핀이 연결된곳을 알 수 있습니다.&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">void setup() {&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; Serial.begin(9600); //시리얼통신에 baud rate를 9600으로 지정하였습니다.&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; pinMode(trig,OUTPUT);&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; pinMode(echo,INPUT);&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">}&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><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; float duration,distance;&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; char str[5];&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; digitalWrite(trig,HIGH);&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; delay(10);&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; int upper,lower; //결국 정수부와 소수부를 나누어서 저장하는 것입니다.&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; digitalWrite(trig,LOW);&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; duration = pulseIn(echo,HIGH);&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; distance = duration/29/2; // 여기까지는 기본적인 초음파 센서 수신회로 입니다.&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; if(distance&gt;100){ distance = 99.99;} // 이러한 설정을 해둔것은&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; upper = distance; //upper은 정수형이기 때문에 실수형의 distance의 정수부분만 남기고 소숫점 아래의 값은 저장이 되지 않습니다.&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; lower = ((float)distance*100); //실수형에서 100을 곱하여 소숫점 아래의 값을 정수부로 끌어올립니다.&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; lower = lower%100; //거기서 100의 나머지를 구하여 본래 소숫점 아래의 값만을 남깁니다.&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; sprintf(str,"%02d.%02d",upper,lower);//그리고 sprintf를 통하여 각 2자리의 값 사이에 임의로 소숫점을 넣어 실수값을 속이도록 합니다.&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; Serial.print(str); // 문자열로 저장된 초음파센서의 값을 출력합니다.(참고로 자동으로 내려쓰기가 되는 println은 사용하시면 내려쓰기 또한 문자로 취급됩니다.&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">&nbsp; delay(500);&nbsp;</span><br style="color: #404040; font-family: 굴림;" /><span style="color: #404040; font-family: 굴림;">}</span></p>