RobotC(Ultrasonic)

Download Report

Transcript RobotC(Ultrasonic)

- 회피로봇(Avoid Robot) -
- 초음파 센서(Ultrasonic Sensor) • 물체를 감지하고 거리를 측정하는 센서
• cm(센티미터)와 inch(인치) 단위로 측정
이 가능
• 측정값은 0~250cm까지 거리를 측정하며
오차는 ±3 cm이다.
- 초음파 센서(Ultrasonic Sensor)-2 -
• 초음파 센서는 그림과 같은 Corn 형태의 파형을 가진다.
• 옆 또는 위, 아래에 있는 장애물도 인식하기 때문에 사용하기에 쉽지 않다.
• 크고 표면이 단단한 물체는 정확히 측정되나, 부드러운 천이나 공처럼 표
면이 굽은 물체는 센서가 감지하기 어렵다.
초음파센서의 동작 (상태값) - View
• 초음파센서 상태 값 확인
4
1.
2.
3.
NXT와 초음파센서 2번 포트로 연결
NXT ‘view’ 메뉴 선택
‘Ultrasonic cm’ 혹은 ‘Ultrasonic inch’ 선택 (1 Inch ≒ 2.54cm)
4.
5.
2번 포트 선택
LCD 수치 확인 : 연결된 초음파센서 앞쪽에서 손이나 장애물을
통해 거리가 인식되는지 확인
- 초음파 센서 설정하기 -
• Port S4의 Name에 ultrasonic을 입력한다.
(편의상 ultrasonic이라고 입력하였다. 다른 이름도 가능하다.)
• 오른쪽의 Type에서 SONAR를 선택한다.
- 물체까지의 거리 LCD화면 출력 -
• 0.1초 마다 물체까지의 거리를 cm단위로 LCD화면에 출력
• eraseDisplay() 함수 : NXT LCD의 화면을 모두 지운다.
- 장애물을 만나면 멈추는 로봇 -
• 로봇이 전진하다가 20cm 이내에 장애물이 인식하면 정지
되는 로봇
- 일정한 거리를 계속해서 유지하는 로봇 -
• 앞쪽의 물체와 일정거리(30cm)를 유지하기 위해 전,
후진하는 로봇
- 도전과제 1 • 목표물을 찾는 로봇
•
•
로봇은 제자리에서 회전, 주변의 목표물을 찾음 (70 Cm)
일정 거리 이상 다가감 (20 Cm)
응용하기
• 초음파 센서를 이용한 악기 만들기
NXT의 선택버튼을 눌렀을 때만 초음파
센서와 벽과의 거리를 측정하여 도, 레,
미, 파, 솔, 라, 시, 도 등의 음을 들려주
는 악기 로봇을 만들어 보자.
// kLeftButton, kRightButton, kEnterButton, kCancelButton
NxtButtonPressed == kLeftButton;
// NXT 브릭에서 누른 버튼이 왼쪽버튼이라면
PlayImmediateTone(1047, 1);
// 6옥타브“ 도”음(1047Hz)을 10ms만큼 즉시 소리를 낸다
10cm ~ 20cm 미만
도
1047 Hz
20cm ~ 30cm 미만
레
1175 Hz
30cm ~ 40cm 미만
미
1319 Hz
40cm ~ 50cm 미만
파
1397 Hz
50cm ~ 60cm 미만
솔
1568 Hz
60cm ~ 70cm 미만
라
1760 Hz
70cm ~ 80cm 미만
시
1976 Hz
80cm ~ 90cm 미만
도
2093 Hz
90cm ~ 100cm 미만
레
2349 Hz
100cm ~ 110cm 미만
미
2637 Hz
- 도전 과제 Ⅳ -
• 초음파 센서와 빛 센서를 동시
에 사용
• 2센서로 라인 트레이싱을 하다
가 장애물을 만났을 때 180도
회전하여 다시 라인트레이싱
한다.