밤샘으로 만들어 낸 결과물
학부 1년 차가 되면 으레 수업 조교를 맡게 된다.
교수님의 담당 과목은 2학년의 어셈블리, 3학년의 전산기실습, 4학년의 소프트웨어 엔지니어링(SE) 등으로 나누어져 있었는데, 실습 과제 하나하나가 결코 만만하지 않았다.
어셈블리 수업 - 전압을 다루는 2학년의 눈물
2학년 과제는 꽤 충격적이었다.
교수님은 이렇게 말씀하셨다.
“220V 교류파를 정류해서 직류로 만들고,
전압을 낮춰서 전원의 소스로 삼아라.
그리고 60Hz로 동작하는 교류파를 이용해 60초 시계를 만들어라.”
어셈블리를 배우던 학생들은 이 과제를 듣자마자 혼이 나가버렸다.
이건 마이크로컨트롤러를 다루는 게 아니라 전자공학 실습 수준 아닌가?
결국 재은이가 이 과제 때문에 엄청 고생을 했다.
전압을 낮추고, 정류하고, 주파수를 활용하는 일까지...
어셈블리 하나 배우려고 했는데, 전기공학까지 공부해야 했다.
3학년 실습 - 전설의 라인트레이서 프로젝트
3학년 실습은 두 명의 조교가 맡았다.
* 중고: 주로 실습 보드 회로를 디버깅하고 실습을 지도
* 필자: 회로 설계 및 이론 강의 그리고 실습 지도
학부 때 힘들게 전산기 구조 Z80 실습수업을 했던 기억이 있고,
그때 확실하게 고생을 해서 큰 문제없이 실습수업을 진행할 수 있을 것이라고 생각했는데,
교수님이 폭탄선언을 하셨다.
“이번 실습은 기존의 Z80을 버리고 라인트레이서를 만들어보도록 하지.”
라인트레이서...? 그게 뭐지?
한마디로 바닥에 그어진 선을 따라 움직이는 로봇이었다.
그리고 사용될 프로세서는 모토로라의 68705.
프로세서를 결정하는 과정도 험난했다.
몇 가지 후보군을 두고 조사하고 검토하는데, 결국 EEPROM이 탑재된 68705로 정해졌다.
다만, 문제는 이 EEPROM이 쓰기 제한이 있어서
너무 많이 지우면 지워지지 않는 것들이 있었다.
자외선 챔버에 넣고 롬을 지우는 데만 한 시간이 걸렸으니 ^^
하지만 당시 기준으로는 꽤 괜찮은 8비트 프로세서였다.
교수님의 엽기적인(?) 실습 설계 방향
라인을 인식하는 방법의 아이디어도 참 기발했다.
“적외선 센서를 사용해서 흰색 종이와 검은색 선을 구분하도록 하라.”
적외선 센서...???
라인트레이서는 센서를 세 개 달아야 했다.
* 왼쪽 센서: 검은선을 감지하면 왼쪽으로 회전
* 가운데 센서: 항상 검은선을 따라감
* 오른쪽 센서: 검은선을 감지하면 오른쪽으로 회전
즉, Input이 3개, Output은 스텝모터를 제어하는 8개의 선이 필요했다.
바퀴를 두 개 제어하려면 스텝모터를 4선씩 두 벌 사용해야 했기 때문이었다.
스텝 모터를 돌리는 것은 위상차이로 4개의 모터에 파형을 주어서 제어하는 방식이었다.
지금 생각해 보면, 전륜 구동으로 두 개만 움직이고, 뒤에 두 개는 따라오는 방식으로
간단하게 구현을 해도 되었을 것으로 생각된다. 왜 4륜 구동 방식으로 만들었을까?
여하튼, 폴링 방식으로 주기적으로 센서 값을 읽어오고,
그에 따라 로봇을 움직이도록 설계했다.
부품 선정도 엽기적이었다
이 실습에서 가장 충격적인 순간은 바로 부품 조달이었다.
“이제 플로피 드라이브 안 쓰지? 그 안에 적외선 센서랑 스텝모터가 들어 있다.
뜯어다가 쓰도록.”
네...? 플로피 드라이브를 분해하라고요???
결국, 사용하지 않는 쌓아둔 5.2인치 플로피 드라이브를 죄다 분해했다.
* 적외선 센서 → 플로피 디스크에서 재활용
* 스텝모터 → 플로피 디스크 구동 모터 활용
* 스텝 모터 버퍼 및 I/O 인터페이스 → 역시 플로피 드라이브에서 뜯어옴
* 바퀴 → 나무를 깎거나 장난감 바퀴를 사용, 미끄러지지 않도록 고무 부착
* 몸통 → 고등학교 때 도시락통을 개조해 몸체를 만들기
전원 회로를 구성한 뒤 프로그램을 EEPROM에 구웠다.
나중에는 스텝모터와 센서를 전자상가에서 사서 오는 학생들도 있었지만,
처음에는 완전히 재활용 프로젝트였다.
지옥의 실습 생활
조교였던 필자와 중고는 처음엔 교수님의 실습 방향을 몰랐다.
물론 교수님만 머릿속에 완벽한 설계를 갖고 계셨다.
결국 실습 전날 하루 공부 → 하루 납땜 및 실험 → 다음날 학부생들 강의 및 실습을 매주 반복했다.
연구실에서 다른 할 일들도 많았지만, 실험이 있는 날이면 밤을 새우기 일쑤였다.
해본 적 없는 실습강의 내용을 미리 실습을 통해서 동작을 하는지 확인하다 보면 동이 트고, 겨우 눈을 붙였다
수업 전에 잠깐 눈을 붙이다가 수업을 늦게 시작하기도 했다.
가끔은 학부생들이 연구실 앞 창고에 깨우러 오기도 했다.
“선배님, 수업 시작해야죠...!”
“으... 10분만...??”
실습을 밤늦게 까지 하면, 한 번씩 교수님께서 저녁을 사주시기도 했다.
짜장면 30그릇 주문, 피자 10판 주문해서 먹으면서 밤늦게 까지 라인트레이서를 만들었다.
대망의 라인트레이서 대회
그렇게 고생 끝에 모든 팀이 성공적으로 라인트레이서를 완성했다.
그리고, 하이라이트로 라인트레이서 대회를 개최했다.
당시 촬영한 비디오를 홈페이지에 올리고,
마지막으로 교수님의 니콘 카메라로 단체 사진을 찍었다.
그때 찍은 사진을 보면 아직도 흐뭇하다.
다음 수업 주제는 계단을 오르는 로봇?!
통상 1년 차 때만 실습 조교를 하는데, 필자와 중고는 2년 동안 실습 조교를 했다.
2년 동안 라인트레이스 수업을 하고, 대학원 탈출을 꿈꾸고 있을 때,
교수님께서는,
“다음 프로젝트는 계단을 인식하고 오르내리는 로봇이다.”
헉...???
필자가 졸업 전에 설계까지는 했었던 기억이 있다.
그리고, 그다음 실습 조교였던 후배가 그 프로젝트를 이어받았다.
아마도 그 뒤에도 많은 로봇들이 주제가 되었을 것으로 생각된다.
마무리하며
그때 함께했던 사람들, 그때 쏟았던 노력과 열정,
그리고 실습실에서 보냈던 끝없는 밤들...
다들 소중한 기억의 하나로 자리 잡고 있지 않을까 하는 생각이 든다.
아마도 이런 것들이 실패를 두려워하지 않고 도전하는 정신을 나에게 준 것 같다.
물론, 마지막에는 교수님이라는 믿는 구석이 있었기 때문이기도 하지만. :-)