로봇은 사람 모양일 필요가 없습니다
로봇이라고 하면 사람처럼 팔과 다리가 있고 말을 하는 기계를 떠올리기 쉽습니다. 영화나 만화에 나오는 로봇은 대부분 그런 모습입니다. 하지만 실제 로봇의 범위는 훨씬 넓습니다.
집 안을 돌아다니며 먼지를 빨아들이는 로봇청소기, 공장에서 물건을 옮기는 자동화 장비, 바닥의 검은 선을 따라 달리는 작은 자동차도 모두 로봇이라고 볼 수 있습니다. 겉모습은 서로 다르지만 공통점이 있습니다. 주변 상황을 알아차리고, 정해진 규칙에 따라 판단하고, 그 결과에 맞게 움직인다는 점입니다.
즉 로봇은 단순히 움직이는 기계가 아닙니다. 스스로 정보를 받아들이고, 그 정보를 이용해 행동을 바꾸는 시스템입니다. 여기서 시스템이란 여러 부품이 서로 연결되어 하나의 일을 해내는 구조를 말합니다.
예를 들어 태엽 자동차는 태엽을 감으면 앞으로 갑니다. 앞에 벽이 있어도 계속 가다가 부딪힙니다. 반면 장애물 회피 로봇은 앞에 물체가 있는지 확인하고, 가까우면 멈추거나 방향을 바꿉니다. 이 차이가 로봇을 이해하는 첫 번째 열쇠입니다.
AI 생성 이미지
로봇의 세 가지 핵심: 입력, 처리, 출력
로봇은 복잡해 보여도 기본 구조는 세 가지로 나눌 수 있습니다.
입력: 주변 정보를 받아들이는 단계
처리: 받은 정보를 판단하는 단계
출력: 판단 결과를 행동으로 바꾸는 단계
이 구조는 우리 일상에서도 쉽게 찾을 수 있습니다. 사람이 길을 걷다가 빨간 신호등을 보았다고 생각해 봅시다. 눈으로 빨간불을 봅니다. 이것이 입력입니다. 뇌는 "지금은 멈춰야 한다"고 판단합니다. 이것이 처리입니다. 다리는 멈추고 몸은 기다립니다. 이것이 출력입니다.
로봇도 비슷합니다. 눈 대신 센서를 사용하고, 뇌 대신 작은 컴퓨터를 사용하며, 다리나 팔 대신 모터와 바퀴를 사용합니다.
예를 들어 장애물을 피하는 바퀴 로봇은 다음과 같이 동작합니다.
초음파 센서가 앞에 있는 물체와의 거리를 잽니다.
아두이노가 그 거리가 기준보다 가까운지 판단합니다.
모터가 멈추거나 방향을 바꾸어 로봇을 움직입니다.
여기서 초음파 센서는 입력 장치입니다. 초음파는 사람이 들을 수 없는 높은 소리입니다. 센서는 이 소리를 내보낸 뒤 되돌아오는 시간을 이용해 거리를 어림합니다. 아두이노는 처리 장치입니다. 센서에서 받은 숫자를 읽고 코드에 적힌 조건에 따라 판단합니다. 모터는 출력 장치입니다. 전기 에너지를 회전 운동으로 바꾸어 바퀴를 굴립니다.
이 세 가지를 이해하면 로봇이 훨씬 덜 어렵게 느껴집니다. 어떤 로봇을 보더라도 이렇게 질문하면 됩니다.
이 로봇은 무엇을 감지할까?
감지한 정보를 어떻게 판단할까?
판단한 뒤 무엇을 움직이거나 표시할까?
장난감 자동차와 로봇 자동차의 차이
장난감 자동차도 움직입니다. 스위치를 켜면 바퀴가 돌고 앞으로 갑니다. 하지만 대부분의 단순한 장난감 자동차는 주변 상황을 확인하지 않습니다. 앞에 책이 있든 벽이 있든 같은 방식으로 움직입니다.
로봇 자동차는 다릅니다. 센서가 주변을 살피고, 아두이노가 그 정보를 읽고, 모터의 움직임을 바꿉니다. 앞이 막혀 있으면 멈추고, 선이 보이면 선을 따라가고, 무선 신호를 받으면 사용자가 보낸 명령대로 방향을 바꿀 수 있습니다.
겉으로 보기에는 둘 다 바퀴 달린 작은 자동차처럼 보입니다. 하지만 안쪽 구조는 다릅니다. 장난감 자동차는 보통 '전원 → 모터'처럼 단순하게 연결됩니다. 로봇 자동차에는 '센서 → 아두이노 → 모터 드라이버 → 모터'처럼 정보와 전기가 함께 흐르는 구조가 있습니다.
여기서 모터 드라이버는 모터를 움직이기 위해 사용하는 중간 장치입니다. 아두이노는 똑똑하게 판단할 수 있지만, 큰 힘이 필요한 모터를 직접 돌리기에는 전류가 부족합니다. 그래서 아두이노가 "왼쪽 모터를 앞으로 돌려", "오른쪽 모터를 멈춰"라고 신호를 보내면, 모터 드라이버가 실제로 모터에 필요한 전기를 공급합니다.
이처럼 로봇은 한 부품이 모든 일을 하는 장치가 아닙니다. 센서, 아두이노, 모터, 전원, 기계 구조가 각자의 역할을 맡고 함께 움직입니다.
아두이노는 로봇의 작은 두뇌입니다
아두이노는 작은 컴퓨터 보드입니다. 컴퓨터라고 해서 키보드와 모니터가 달린 노트북을 떠올릴 필요는 없습니다. 아두이노는 센서 값을 읽고, 코드에 따라 계산하고, LED나 모터 같은 부품에 신호를 보내는 데 특화된 작은 제어 장치입니다.
로봇에서 아두이노는 두뇌와 비슷한 역할을 합니다. 하지만 사람처럼 스스로 생각하는 두뇌는 아닙니다. 우리가 작성한 프로그램을 빠르고 정확하게 실행하는 두뇌입니다.
예를 들어 다음과 같은 규칙을 코드로 적을 수 있습니다.
앞에 장애물이 15cm보다 가까우면 멈춘다.
왼쪽 센서가 검은 선을 보면 왼쪽으로 조금 돈다.
버튼을 누르면 LED를 켠다.
블루투스로 'F'라는 명령을 받으면 앞으로 간다.
아두이노는 이 규칙을 계속 반복해서 확인합니다. 센서 값을 읽고, 조건을 비교하고, 출력 장치에 신호를 보냅니다. 이 반복이 매우 빠르게 일어나기 때문에 로봇은 마치 상황에 맞게 반응하는 것처럼 보입니다.
아두이노가 로봇 학습에 좋은 이유도 여기에 있습니다. 센서와 모터를 직접 연결해 볼 수 있고, 코드가 실제 움직임으로 바로 나타납니다. 컴퓨터 화면 안에서만 결과를 보는 것이 아니라, 내가 쓴 코드 때문에 바퀴가 돌고 LED가 켜지고 로봇이 방향을 바꿉니다. 그래서 전자공학과 프로그래밍을 함께 배우기에 좋습니다.
로봇청소기와 라인트레이서에서 공통 구조 찾기
로봇청소기는 방 안을 돌아다니며 바닥을 청소합니다. 벽이나 가구를 만나면 방향을 바꾸고, 어떤 제품은 충전기가 있는 위치로 돌아가기도 합니다. 내부에는 여러 종류의 센서와 모터, 제어 장치가 들어 있습니다.
라인트레이서 로봇은 바닥에 그어진 검은 선을 따라 움직이는 작은 로봇입니다. 구조는 단순하지만 로봇의 기본을 배우기에 아주 좋습니다. 아래쪽에 있는 적외선 센서가 바닥이 밝은지 어두운지 감지합니다. 적외선은 사람 눈에 보이지 않는 빛입니다. 센서는 이 빛이 바닥에서 얼마나 반사되는지 보고 흰 바닥과 검은 선을 구분합니다.
두 로봇은 생김새와 목적이 다르지만 기본 흐름은 같습니다.
| 로봇 예시 | 입력 | 처리 | 출력 |
|---|---|---|---|
| 로봇청소기 | 벽, 장애물, 바닥 상태 감지 | 어디로 이동할지 판단 | 바퀴와 청소 모터 작동 |
| 라인트레이서 | 검은 선과 흰 바닥 감지 | 왼쪽 또는 오른쪽으로 돌지 판단 | 바퀴 모터 속도 조절 |
| 장애물 회피 로봇 | 앞 물체와의 거리 감지 | 가까우면 피할 방향 판단 | 정지, 후진, 회전 |
| 원격 조종 로봇 | 사용자의 무선 명령 수신 | 명령 해석 | 전진, 후진, 좌회전, 우회전 |
이 표에서 중요한 것은 부품 이름을 외우는 것이 아닙니다. 어떤 로봇이든 입력, 처리, 출력의 흐름으로 볼 수 있다는 점입니다. 앞으로 이 책에서 만드는 모든 프로젝트도 이 흐름을 따라갑니다.
이 책에서 로봇을 만들어 가는 흐름
이 책은 처음부터 완성된 로봇을 조립하고 끝내지 않습니다. 작은 기능을 하나씩 만들고, 그 기능을 연결해 점점 로봇다운 모습을 갖추도록 진행합니다.
먼저 아두이노 보드와 개발 환경을 준비합니다. 개발 환경은 코드를 작성하고 아두이노에 넣기 위한 프로그램입니다. 그다음 전기의 기본을 배웁니다. 전압, 전류, 저항 같은 말이 나오지만 어렵게 시작하지 않습니다. LED를 켜고 끄는 실습을 통해 전기가 어떻게 흐르는지 확인합니다.
그 후에는 아두이노 프로그래밍의 기초를 다룹니다. 프로그램은 로봇에게 알려 주는 행동 규칙입니다. 조건문은 "만약 이렇다면 이렇게 하라"는 규칙이고, 반복문은 같은 일을 계속 실행하게 하는 구조입니다. 이 두 가지는 로봇 판단의 핵심이 됩니다.
다음 단계에서는 센서를 사용합니다. 빛, 거리, 선, 버튼처럼 주변 정보를 받아들이는 방법을 배웁니다. 이후 모터를 연결해 움직임을 만듭니다. 모터를 단순히 돌리는 것에서 시작해, 속도와 방향을 제어하는 방법으로 나아갑니다.
이 기능들이 모이면 바퀴 로봇을 만들 수 있습니다. 모터 드라이버와 바퀴, 섀시를 조립해 이동할 수 있는 몸체를 만들고, 센서와 코드를 더해 장애물을 피하거나 선을 따라가도록 합니다. 마지막에는 무선 통신을 이용해 원격 조종하는 방법과 더 똑똑한 로봇으로 확장하는 방향을 살펴봅니다.
큰 흐름은 다음과 같습니다.
아두이노 사용 준비하기
전기와 회로의 기본 익히기
코드로 LED와 부품 제어하기
센서로 주변 정보 읽기
모터로 움직임 만들기
바퀴 로봇 조립하기
조건문으로 로봇의 판단 만들기
장애물 회피와 라인트레이서 만들기
무선 조종과 확장 기능 살펴보기
이 과정을 따라가면 단순히 조립법만 아는 것이 아니라, 로봇이 왜 그렇게 움직이는지 이해할 수 있습니다.
준비물은 한 번에 완벽할 필요가 없습니다
앞으로 사용할 대표적인 준비물은 다음과 같습니다.
아두이노 보드
USB 케이블
브레드보드
점퍼선
LED와 저항
버튼 또는 스위치
초음파 센서
적외선 센서
DC 모터와 바퀴
서보 모터
모터 드라이버
배터리 홀더와 배터리
로봇 섀시
브레드보드는 납땜 없이 회로를 연결해 보는 판입니다. 점퍼선은 부품 사이를 이어 주는 작은 전선입니다. 섀시는 로봇의 몸체가 되는 판이나 프레임입니다.
처음부터 모든 부품을 완벽히 이해할 필요는 없습니다. 부품은 실제로 연결하고 움직여 볼 때 가장 잘 이해됩니다. 이 책에서는 필요한 시점에 필요한 부품을 하나씩 설명합니다. 지금은 각 부품이 로봇의 입력, 처리, 출력 중 어디에 가까운지만 가볍게 떠올리면 충분합니다.
센서는 입력에 가깝습니다. 아두이노는 처리에 가깝습니다. 모터와 LED는 출력에 가깝습니다. 전원과 전선은 이 모든 부품이 작동하도록 돕는 기반입니다.
첫 번째 목표는 완벽한 로봇이 아닙니다
처음 로봇을 만들 때 가장 중요한 목표는 멋진 결과물을 한 번에 완성하는 것이 아닙니다. 작은 동작이 왜 일어나는지 이해하는 것입니다.
LED가 켜지지 않을 수 있습니다. 모터가 반대로 돌 수 있습니다. 센서 값이 예상과 다르게 나올 수도 있습니다. 이런 일은 실패가 아니라 로봇을 배우는 과정입니다. 로봇은 전기, 코드, 기계 구조가 함께 움직이기 때문에 작은 연결 하나만 달라도 결과가 달라집니다.
그래서 앞으로는 다음 순서로 실습합니다.
회로를 연결합니다.
코드를 작성합니다.
동작을 확인합니다.
예상과 다르면 원인을 찾습니다.
수정한 뒤 다시 실행합니다.
이 반복이 로봇 제작의 기본입니다. 전문가도 같은 방식으로 문제를 해결합니다. 차이는 더 많은 경험을 가지고 더 빠르게 원인을 찾는다는 점뿐입니다.
이번 장에서는 로봇을 입력, 처리, 출력이 결합된 시스템으로 보았습니다. 또한 아두이노가 센서와 모터 사이에서 작은 두뇌 역할을 한다는 것도 살펴보았습니다. 다음 장에서는 실제로 아두이노를 사용할 준비를 합니다. 코드를 작성하고 보드에 업로드할 수 있는 환경을 갖추면, 로봇 만들기의 첫 번째 문이 열립니다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.