2024-10-04
로봇 코딩 두번째 프로젝트 2

로봇 코딩 두번째 프로젝트 2

Loading

(우리 홈페이지를 찾는 많은 사람들이 로봇 코딩에 크게 관심을 가지지는 않는 것 같다. 내용도 지루하거나 좀 어렵기도 하다. 하지만 간혹 코드를 보내 달라고 하는 사람들도 있고, 오랜 시간이 지나면 기억이 잘 나지 않기도 해서 여기에 기록을 남기고자 한다.)

다음 단계는 로봇이 어떤 과정을 통해서 길을 찾을 것인지를 계획하는 것이 좋다. 화이드보드에다이아그램을 그리는 것도 좋다. 내가 택한 방법은 순서도 (플로우 차트: flow chart)를 그리는 것이다. (예전에 고등학교 수학시간에 배운 적이 있는데 요즘도 가르치는지 모르겠다. 그리고 다른 코딩 클래스에 쓰는지 궁금하다.) 아래의 순서도를 그려서 아이들이랑 공유했다.

목표를 찾기까지의 순서도

플로우 차트를 보면 전체를 파악할 수 있게 되어 도움이 된다.

간단히 단계별로 설명을 하면,

  1. 프로그램이 시작되면, 센서와 모터를 초기화 한다.
  2. 경우에 따라서는 코딩에 사용되는 변수를 초기화 한다.
  3. 프로그램이 끝나는 경우는 로봇이 빨간 선에 도착했을 때이다.
  4. 센서 2 (세 개 중 가운데 센서)가 빨강색을 인식하면 프로그램을 종료한다. 빨강색이 아니면 계속 작동을 한다.
  5. 매 순간 세 개의 센서가 방향을 결정한다.
  6. 센서가 인지한 방향에 따라서, 좌회전, 우회전, 직진, 180도 회전을 한다.
  7. 4~6을 과정을 중앙 센서가 빨강색을 인식하면 프로그램을 종료한다.

위의 단계들 중에서, 빨강색을 인식하거나 선을 따라서 직진하거나 방향을 결정하는 부분은 무리 없이 작동되었다.

남은 과정은 좌회전, 우회전, 180도 회전 등을 코딩했다 그 다음엔 이 모든 기능들을 결합했다.

대체로 원만하게 작동이 되었지만, 회전을 하고 나서는 길을 잃어버리는 일이 자주 발생했다. 아마도 그 이유는 레고 로봇의 모터가 아주 정확하지 않기 때문인 것 같다. 자주 길을 잃고 계속 180도 회전하는 일이 발생을 하면 아이들이 좌절을 느끼기에, 해결할 방법을 찾아야 했다.

회전을 할 때마다 생기는 문제여서, 로봇이 일단 회전을 하면 무조건 약 0.5초 동안은 다시 회전을 못하고 직진하면서 길(검은선)을 찾도록 했다. 이렇게 했더니, 회전 후에 길을 놓치더라도 다시 회전하는 일이 없이 길을 찾아서 무한히 도는 일이 없어져서 아무탈 없이 경로를 찾았다.

사족: 글을 써 놓고 비디오와 사진을 찍어서 올려야지 하다가 시간이 너무 흘렀다. 이미 프로젝트는 끝났는데 글을 못 올리고 있다보니… 아무튼 다음 글에 계속.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments