본문 바로가기
IT

#6/12 아두이노 로봇 HowTo

by 소혜민 2022. 11. 4.
반응형

초음파 센서

초음파 센서는 소리가 초당 340 미터를 움직이는 것을 이용하여 한쪽에서 초음파를 쏘고 다른쪽에서는 돌아온 초음파를 받아 두 신호간의 시간을 재서 거리를 측정하는 방식이다. 다른 방법으로 설명을 하자면 산에서 야호하고 소리치고 나서 메아리가 들려온 시간을 재면 거리를 알 수 있다는 것이다.

 

 

초음파 센서는 Echo Pin이 5v가 아닌 3v를 사용하기 때문에 저항을 달아줘야 한다고 한다. 그런데 마침 1k 저항이 없이 220k 4개를 연결을 해서 사용을 했다.

 

 

 

 

 

앞의 그림과 같이 순서대로 전원, 트리거, 에코, 접지의 순서대로 아두이노와 연결을 하면 되고 트리거와 에코는 각각 8, 9번 핀에 할당을 했다.

 

 

그리고 아직까지 사용되지는 않았지만 20 센티미터 내에 물체가 감지되면 로봇의 방향을 바꾸려고 한다.

다음은 setup 함수 내에서 초음파 센서를 초기화 하는 루틴이다.

 

 

지금까지는 모든 핀이 OUTPUT 모드였던 반면에 초음파 센서에서는 들어오는 에코 핀이 있어 INPUT 모드로 설정이 필요하다. 그리고 거리를 측정하는 루틴은 별도의 함수 float sensor_distance()를 만들어 줬다. 이 함수를 호출 할 때마다 센티미터 단위의 거리를 반환해 준다.

 

 

초음파가 초당 340미터를 이동한다는 공식을 이용해 거리를 구한다. 마지막으로 loop 함수에서 서보 모터의 각도를 바꾼 후에 바로 이 함수를 호출해 주면 거리와 각도가 다음과 같이 나타남을 볼 수 있다.

 

 

반응형

'IT' 카테고리의 다른 글

#8/12 아두이노 로봇 HowTo  (0) 2022.11.04
#7/12 아두이노 로봇 HowTo  (0) 2022.11.04
#5/12 아두이노 로봇 HowTo  (0) 2022.11.04
#4/12 아두이노 로봇 HowTo  (0) 2022.11.04
#3/12 아두이노 로봇 HowTo  (0) 2022.11.04

댓글