반응형
사실 저는 로봇 태권 V를 만들기 위해서 전자공학과에 입학을 하였었습니다. 입학하기 전만 하더라고 컴퓨터 공학과 전자공학을 진지하게 고민을 했었지만 로봇 태권 V에 대한 저의 열망은 꺾지 못했습니다. 그렇게 전자공학과에 입학을 한 저는 당장이라도 로봇 태권 V를 만들어 보려고 시도를 하였지만 저의 앞길에는 혼탁한 공업수학과 외계어로 쓰인 전자기학! 수업을 들으면 들을수록 저의 마음은 안드로메다로 개념을 찾아 헤매곤 하였습니다. 그렇게 2-3년을 배우니 조금이나마 로봇에 대해서 알게 되었고 우리가 보기에는 정말 간단하고 조잡해 보이는 것들도 이것을 만들기 위해서는 정말 엄청난 노력과 시간이 필요하다는 것을 알 게 되었습니다. 이렇게 공부를 하면서 친구들과 함께 만들어본 [도망치는 알람시계] 라는 많이 허접한 저의 알람시계에 대해서 소개해 보도록 하겠습니다.
많이 허접하지요.. 흑흑 네 알고 있습니다. 외관을 정말 세련되게 만들고 싶었지만 무언가를 추가하면 추가할수록 올라가는 코스트를 부유한 대학생(?)들인 저와 제 친구들은 감당을 하기가 힘이 들었습니다. 그래서 주위에서 최대한 활용할 만한 것들을 찾아서 분해와 조립을 감행했습니다. 우선 가장 중요한 알람 기능을 위해서 atmega8535 라는 CPU를 이용해서 알람시계를 만들고 16X2 LCD를 이용해서 시간과 알람에 대한 표시와 설정을 할 수 있게 만들었습니다. 그리고 재미있는 기능인 도망가기를 구현하기 위해서 초음파 센서를 이용해서 만약 알람시계를 OFF 하기 위해서 손이 다가오면 그것을 감지하고 아래에 붙어 있는 바퀴에 동력을 인가해서 도망하게 되어 있는 구조입니다. 사실 이렇게 써 놓으니 별거 없어 보이네요.
알람시계에서 시간과 알람을 설정하기 위해서는 현재 시간과 알람 시간을 눈으로 확인할 수 있어야 합니다. 그래서 붙여 놓은 것이 바로 16 x 2의 LCD입니다. 일반적으로 정말 많이 사용이 되는 제품이기에 가장 저렴한 것을 구입하였습니다. 너무 일반적인 LCD이기 때문에 가장 저렴한 것을 구입하는 것이 좋습니다. 제가 구입한 제품은 백라이트가 일반적인 녹색이 아니라 고 휘도 파란색 백라이트를 가지고 있는 제품이라서 마음에 쏙 들었습니다. 최근에 이런 부품들은 인터넷으로 쉽게 구입을 하실 수도 있고 세운상가 같은 곳에 가셔도 원하는 제품을 구입하실 수 있습니다.
16 x 2 LCD의 데이터 시트에 들어 있는 블록 다이어그램입니다. 사실 이 부분을 보면 LCD 패널이 어떻게 동작을 하는지 알 수 있습니다. 자세히 보면 데이터를 입력 받는 부분은 DB0~DB7 까지 8개 밖에 없는데 16 x 2 LCD에 숫자는 물론 영어까지도 표시를 할 수 있을까요? 그것은 바로 CONTROL LSI에서 일종의 디코더의 역할을 해서 적은 양의 데이터로도 많은 수의 숫자와 문자를 표시하게 해줍니다. 그리고 아래에는 백라이트 유닛이 있네요. 이 친구는 간단합니다. 하나는 신호 선에 하나는 그라운드에 연결해 놓고 신호 선에 신호가 들어오면 백라이트에 불이 들어오게 되어 있습니다.
조금 있다가 설명할 초음파 센서의 뒤로 이번 알람시계의 머리와 몸체 역할을 하는 메인기판이 보이는 것을 알 수 있습니다. 메인 기판에는 저의 하드웨어의 스킬 부족으로 인해서 엉망으로 납땜이 되어 있는 것을 알 수 있습니다. 사실 변명을 하자만 저도 사실 한 땜 하는 편인데 이날은 시간도 급하고 장시간의 제작으로 인해서 이미 손과 머리가 마비된 상태에서 해서 약간 엉망이 되었네요. 저희 과에 정말 귀한 여자애들이 한 학년에 한두 명 정도씩 있었는데 납땜을 할 때면 그 친구들도 인두기에 손을 여러 번 데여서 손이 항상 얼룩덜룩 했었지요. 안쓰러웠지만 제 코가 석자 였기에 그냥 꾹 참았습니다.
자세히 찍어본 사진입니다. 사실 CPU역할을 하는 ATMEGA 8535가 있는 자리가 비어 있는 것을 알 수 있습니다. 최근에는 많이 저렴해졌지만 예전에는 몇 천원 했기 때문에 다른 물건을 제작하는데 재활용이 되어서 소켓이 비어있는 것을 알 수 있습니다. 그리고 상태확인을 위한 LED들과 알람의 시간 설정을 위한 5개의 버튼이 있는 것을 알 수 있습니다. 시간이 되면 일반 스피커를 달아서 알람을 여러 가지 멜로디로 처리를 하고 싶었지만 귀찮아서 그냥 오른쪽 위에 있는 것과 같이 전원이 인가되면 소리가 나는 부저를 달아 놓았습니다. 이게 생각 보다 소리가 크고 신경을 거슬리는 소리가 나서 잠을 깨우는 대는 왓다!!입니다.
ORCAD라는 프로그램을 이용해서 그려본 회로도입니다. 회로가 매우 간단한 것을 알 수 있습니다. 최근에 하드웨어의 추세지만 CPU의 파워가 막강해 짐에 따라서 주변에 따로 부가적인 회로가 필요하지 않기 때문에 필수적인 하드웨어만 회로에 추가를 하고 웬만한 부분들은 S/W로 처리를 하는 편입니다. 그리고 ATMEGA8535는 범용 프로세서이기 때문에 컴퓨터로 S/W를 다운로드 받아서 사용을 할 수 있게 되어 있는데 왼쪽 중간쪽에 보면 데이터 통신을 위한 커넥터가 위치하고 있는 것을 알 수 있습니다.
조금 생소하게 느껴질 만한 atmega8535의 블록 다이어그램입니다. 총 40개의 PIN을 가지고 있고 저전력 RISK 구조로 118개의 명령을 수행할 수 있고 8KByte의 플래시 메모리와 512Byte EEPROM을 내장하고 있습니다.(너무 적지요? 그래도 웬만한 것들은 다 처리해줍니다. 그리고 EEPROM은 전자적으로 지웠다 쓸 수 있다는 뜻입니다. 예전 칩들을 보면 메인칩에 조그마한 유리창이 있는 것을 보신분이 있으신지 모르겠네요. 그런 것들은 자외선을 쬐여서 지워야 하는데 시간이 참 오래 걸리지요..) 암튼 블록 다이어그램에서도 알 수 있듯이 많은 기능들이 내장이 되어 있습니다.
ATMEGA 8535의 프로그램은 C언어로 프로그래밍을 할 수 있습니다. 어셈블리로 하면 사람 성격 버리기 십상인데 C언어는 그나마 많이 양호한 편이지요. 시계 프로그램은 알람과 기타 버튼들과 LED들을 구현하기 위해서 약 465라인으로 구성이 되었습니다. 전문적인 프로그래머 분께서 보시면 정말 웃으시겠지만 저 라인을 C언어로 짜는데 저는 정말 많은 시간이 걸렸답니다. (규칙은 C언어와 비슷하지만 헤더파일등이 조금 특이하고 다운로더 프로그램의 문법에 맞게 짜주셔야 에러가 발생하지 않습니다. 조금은 틀리는 이야기입니다.)
도망가는 알람시계에서 도망을 받고 있는 초음파 센서입니다. 2개가 붙어 있는 이유는 하나는 송신부와 수신부입니다. 위치를 제대로 잘 조정해 놓으면 손이 가까이 오는 것을 인식을 하고 모터를 동작시키는 역할을 합니다. 이 초음파 센서를 잘 활용하면 거리 측정기 같은 것도 만들 수가 있습니다. 그러나 반사파를 잘 예상해서 디자인하지 않으면 원하는 데로 동작이 안 될 수도 있습니다.
초음파를 영어로 Ultrasonic이라고 하네요. 주파수는 약 40kHz인 것을 알 수 있습니다. 사람의 가청 주파수는 약 16Hz ~ 20kHz 사이에서 분포를 하기 때문에 초음파 센서에서 나오는 소리를 사람이 듣기에는 조금 힘이 듭니다. 그러나 100만분의 1 소머즈의 청각을 가지고 계신 분들께서는 혹시 들으실 수 있을지도 모릅니다.
이제는 모터부로 왔습니다. 알람시계는 건전지로 동작을 할 수도 있지만 기존의 제품들을 활용하기 위해서 저는 220V를 사용하기로 마음을 먹었습니다. 그래서 220V를 DC로 변환을 해주는 변합기가 달려 있는 것을 알 수 있습니다. 그 외에도 릴레이와 타이머를 모터를 제어하는데 이용을 하였습니다.(사실 이 부분은 친구가 만들어서 잘 알지는 못합니다.)
그냥 굴러다니던 RC 자동차 하나를 분해해서 [도망가는 알람시계]의 바퀴로 사용을 했습니다. 이 RC카에는 바퀴사이에서 볼 수 있는 것처럼 일반적으로 흔히 볼 수 있는 DC 모터가 달려 있어서 도망을 가는 역할을 합니다. 바퀴는 제법 튼튼해서 시간이 가면 갈수록 무거워져 가는 알람시계를 무리 없이 잘 도망하게 해 주었습니다.
이제 테스트 영상을 보기로 하겠습니다. 사실 실제 상황은 아니고 다분히 연출된 상황입니다. (잘 생긴 뒤통수를 가진 사람은 바로 제 친구입니다.)
사실 사람들은 로봇이라면 혼다의 아시모처럼 인간형 로봇!! 아직은 우리 주위에서 보기에는 힘든 것!! 이라고 생각을 하시는 분들이 많으실 것입니다. 그러나 조금만 주변을 둘러보면 정말 많은 로봇들에게 둘러싸여서 많은 도움을 받으면서 살아가고 있다는 것을 알 수 있습니다. 앞으로는 우리의 삶이 더 많은 로봇의 도움을 받게 되고 실제 우리가 접할 수 있는 로봇들도 점점 많아질 것입니다. 그리고 언젠가는 인간형 로봇도 등장을 하는 날이 멀지 않을 것 같습니다. 상상만 해도 정말 즐겁네요.
반응형