6차시: 장애물을 회피하는 자율주행 미션 수행하기 개요: 센서를 활용해 책상에서 떨어지지 않는 로봇을 만들어 봅니다 소요시간: 90분 모바일 로봇 연결하기 PSD 거리 센서 연결하기 장애물을 만나면 피해가는 로봇 만들기 IR 센서 연결하기 센서값 확인하기 책상에서 떨어지지 않는 로봇 만들기 PSD 거리 센서 SPL-Duino 보드 (조도센서 내장) 컴퓨터 준비물 모바일로봇 플랫폼 건전지: AA 6개 고무밴드 각 3개 센서 고정용 스카치 테이프 IR 센서 2쌍
SPL-Duino 보드의 모터 단자 위치 확인하기 이곳에 로봇의 모터 케이블을 연결하는 곳입니다.
2) SPL-Duino 보드의 모터 단자 위치 확인하기 케이블 연결시 세로 방향으로 연결합니다.
3) 보드 바깥쪽이 첫번째 모터(Motor1), 안쪽이 두 번째 모터(Motor1) 핀입니다. 1. 모터를 SPL-Duino 보드에 연결하기 3) 보드 바깥쪽이 첫번째 모터(Motor1), 안쪽이 두 번째 모터(Motor1) 핀입니다. 첫번째 모터 Motor1 두번째 모터 Motor2
4) 2개의 모터 케이블을 아래 그림과 같이 연결해 줍니다. 1. 모터를 SPL-Duino 보드에 연결하기 4) 2개의 모터 케이블을 아래 그림과 같이 연결해 줍니다. 케이블의 방향과 색상을 잘 확인하여 연결합니다.
1) 고무 밴드를 이용하여 SPL-Duino 보드를 로봇 본체에 고정시킵니다.
모터핀을 사용하기 위해서는 딥스위치 4개가 모두 위쪽으로 올려져 있어야 합니다. 3. 모터 핀을 사용하기 위한 딥 스위치 확인 모터핀을 사용하기 위해서는 딥스위치 4개가 모두 위쪽으로 올려져 있어야 합니다. 스위치 4개가 모두 위로 올라가 있어야 함 스위치를 모두 위로 올리면 디지털 4, 5, 6, 7번 핀을 사용할 수 없으니 참고바랍니다.
- 적외선을 이용하여 대상물까지의 거리를 측정하여 값으로 변환 - 측정값은 0 ~ 1023 사이의 값으로 읽혀짐 4. 아날로그 PSD 거리 센서 연결하기 아날로그 PSD 거리센서 - 적외선을 이용하여 대상물까지의 거리를 측정하여 값으로 변환 - 측정값은 0 ~ 1023 사이의 값으로 읽혀짐 - 10cm ~ 80cm 사이의 거리를 측정합니다.
4. 아날로그 PSD 거리 센서 연결하기 아날로그 센서는 0번 ~ 5번 핀에 연결할 수 있음 PSD 거리 센서를 아날로그 0번 (A0) 에 연결함
4. 아날로그 PSD 거리 센서 연결하기 PSD 거리 센서를 아날로그 0번 (A0) 에 연결함 빨간색이 안쪽, 파랑색이 바깥쪽에 가도록 연결합니다.
아날로그 명령어는 아날로그 읽기와 쓰기 명령어가 있습니다. 아날로그 값을 읽어 오려면 몇 번 핀에서 읽어 오는지 핀 번호를 5. 아두이노 아날로그 명령어 배우기 아날로그 명령어는 아날로그 읽기와 쓰기 명령어가 있습니다. 아날로그 값을 읽어 오려면 몇 번 핀에서 읽어 오는지 핀 번호를 입력해 주어야 합니다. 해당 번호의 핀에 아날로그 센서가 연결되어 있어야 합니다. 3) 그리고 읽어온 값을 저장하는 저장소 또는 변수 이름을 입력해 주어야 합니다. 변수 이름은 알파벳으로 시작해야 합니다.
1) 메뉴에서 “새 파일”을 클릭하여 새로운 입력창을 열어줍니다. 5. 아날로그 거리 센서의 값을 읽어오기 1) 메뉴에서 “새 파일”을 클릭하여 새로운 입력창을 열어줍니다. 2) 편집기 명령어에서 아날로그 읽기 명령어를 추가해 줍니다.
3) 문자라인 출력 (PrintLine) 명령어를 다음 그림과 같이 추가해 줍니다. 5. 아날로그 거리 센서의 값을 읽어오기 3) 문자라인 출력 (PrintLine) 명령어를 다음 그림과 같이 추가해 줍니다.
4) 기다리기 명령어를 추가한 후, 숫자를 100으로 수정해 줍니다. 5. 아날로그 거리 센서의 값을 읽어오기 4) 기다리기 명령어를 추가한 후, 숫자를 100으로 수정해 줍니다.
5) 실행 버튼을 클릭하여 작성된 프로그램을 실행해 줍니다. 5. 아날로그 거리 센서의 값을 읽어오기 5) 실행 버튼을 클릭하여 작성된 프로그램을 실행해 줍니다.
6) 센서 앞에 손바닥을 가까이 대거나 또는 멀리 움직여 가면서 거리 값을 확인해 봅니다. 5. 아날로그 거리 센서의 값을 읽어오기 6) 센서 앞에 손바닥을 가까이 대거나 또는 멀리 움직여 가면서 거리 값을 확인해 봅니다.
PSD 거리 센서를 로봇 앞에 고정시켜 줍니다. 6. 아날로그 PSD 거리 센서를 로봇에 장착하기 센서가 앞을 바라보도록 보드에 고정시켜 줍니다.
If 비교 명령어를 추가해 줍니다 7. 장애물을 피하는 프로그램을 작성합니다. 센서 앞에 장애물이 없으면 300 보다 작은 값이 측정됩니다. 하지만 장애물이 있으면 300 보다 큰 값이 측정이 됩니다.
7. 장애물을 피하는 프로그램을 작성합니다. 2) Else 명령어를 추가해 줍니다.
3) 장애물을 만나면 1초간 후진하고 그렇지 않으면 전진하는 기능을 구현해 봅니다. 7. 장애물을 피하는 프로그램을 작성합니다. 3) 장애물을 만나면 1초간 후진하고 그렇지 않으면 전진하는 기능을 구현해 봅니다.
4) 건전지 홀더를 장착하고, 로봇이 스스로 움직이도록 합니다. 7. 장애물을 피하는 프로그램을 작성합니다. 4) 건전지 홀더를 장착하고, 로봇이 스스로 움직이도록 합니다. 프로그램이 실행되고 나면, USB 전원 케이블을 빼도 프로그램이 지워지지 않고 SPL-Duino 보드에 남아 있게 됩니다. 건전지 홀더를 연결하면, 전원이 켜지는 순간 SPL-Duino 보드에 저장되어 있는 프로그램이 자동으로 실행되게 됩니다.
1) 장애물을 만나면 다음과 같이 반응하도록 프로그램을 수정해 봅니다. 8. 장애물 피하기 미션 실습 1) 장애물을 만나면 다음과 같이 반응하도록 프로그램을 수정해 봅니다. 장애물을 만나면 1초간 후진 0.5초간 회전 전진 그렇지 않으면 전진
1) 아날로그 PSD 거리 센서를 보드에서 제거합니다. 9. IR 센서를 이용하여 책상에서 떨어지지 않는 미션 수행하기 1) 아날로그 PSD 거리 센서를 보드에서 제거합니다. 아날로그 PSD 거리센서를 보드 및 로봇에서 제거해 줍니다.
2) 아날로그 IR 거리 센서 2 쌍을 SPL-Duino 보드에 연결합니다. 바깥쪽이 아날로그 0번, 안쪽이 아날로그 1번 핀에 연결되어 있습니다.
3) 아날로그 IR 거리 센서 2 쌍을 SPL-Duino 보드에 연결합니다. 흰색 선이 보드 아래쪽으로 오도록 연결합니다.
4) 아날로그 IR 거리 센서 2 쌍을 로봇에 고정시킵니다. 전방이 아닌, 아래 바닥을 향하도록 조정해 줍니다. 위의 그림에서의 IR 센서는 전방을 향하도록 되어 있으나, 그림과 같이 하지 말고, 바닥을 향하도록 방향을 수정해 주어야 합니다.
5) 아날로그 0번과 1번 핀에 연결된 센서의 값을 출략하여 비교해 봅니다. 9. IR 센서를 이용하여 책상에서 떨어지지 않는 미션 수행하기 5) 아날로그 0번과 1번 핀에 연결된 센서의 값을 출략하여 비교해 봅니다.
6) 책상위에 센서가 있는 경우와 센서가 책상 바깥으로 나간 경우의 값을 비교합니다. 9. IR 센서를 이용하여 책상에서 떨어지지 않는 미션 수행하기 6) 책상위에 센서가 있는 경우와 센서가 책상 바깥으로 나간 경우의 값을 비교합니다. 책상 책상 로봇에 있는 IR센서가 책상 안쪽에 있을 때의 센서값을 측정해 봅니다. 로봇에 있는 IR센서가 책상 바깥으로 나갔을 경우의 센서값을 측정해 봅니다.
7) 책상 위에 센서가 있는 경우와 센서가 책상 바깥으로 나간 경우의 값을 비교합니다. 9. IR 센서를 이용하여 책상에서 떨어지지 않는 미션 수행하기 7) 책상 위에 센서가 있는 경우와 센서가 책상 바깥으로 나간 경우의 값을 비교합니다. 책상 안 쪽에 센서 있는 경우 센서값이 ______ 값보다 더 큽니다. 센서가 책상 바깥으로 나갔을 경우 센서값이 ______ 값보다 더 작아집니다. 센서가 책상 위에 있는지 책상 바깥으로 나갔는지를 구분할 수 있는 기준값을 구해 봅니다.
8) 아날로그 0번 핀과 1번 핀에 연결된 IR 센서 값을 이용하여 다음과 같이 프로그램을 작성합니다. 두 개의 센서 중 하나라도 책상 바깥으로 나간 경우 1초간 후진 0.5초간 회전 전진 그렇지 않으면 전진
9) 아날로그 0번 핀과 1번 핀에 연결된 IR 센서 값을 이용하여 다음과 같이 프로그램을 작성합니다. 우측에 있는 프로그램의 조건값을 수정하여 정상적으로 작동되도록 합니다.
10) 모둠별로 미션을 수행하고 3분 이상을 책상에서 떨어지지 않고 움직이는 경우, 미션을 성공한 것으로 판단합니다. 9. IR 센서를 이용하여 책상에서 떨어지지 않는 미션 수행하기 10) 모둠별로 미션을 수행하고 3분 이상을 책상에서 떨어지지 않고 움직이는 경우, 미션을 성공한 것으로 판단합니다. 3분 이상 책상에서 떨어지지 않고 움직이도록 합니다.