로봇은 부품 더미가 아니라 흐름이다
로봇을 처음 만들려고 하면 가장 먼저 부품 이름들이 쏟아진다. 아두이노, ESP32, 라즈베리파이, 초음파 센서, 서보 모터, DC 모터, 모터 드라이버, 배터리, 점퍼선, 브레드보드…. 이름만 들어도 이미 책상 위가 복잡해지는 느낌이 든다.
하지만 로봇을 부품 하나하나로만 보면 금방 길을 잃는다. 중요한 것은 부품 목록이 아니라 흐름이다. 로봇은 바깥세상을 감지하고, 그 정보를 바탕으로 판단한 뒤, 몸을 움직이는 장치다.
가장 단순하게 표현하면 로봇의 동작은 다음과 같다.
센서 입력 → 제어 보드의 판단 → 모터와 액추에이터 출력
예를 들어 장애물 회피 자동차를 생각해 보자. 앞쪽의 초음파 센서가 거리값을 읽는다. 제어 보드는 이 거리값이 너무 가까운지 판단한다. 가까우면 모터를 멈추거나 방향을 바꾼다. 멀면 계속 앞으로 간다. 이 과정이 아주 빠르게 반복되면, 우리는 그 장치를 보고 장애물을 피하는 로봇이라고 부른다.
겉으로 보기에는 바퀴가 돌고 센서가 반짝이며 보드에 전선이 잔뜩 꽂혀 있지만, 안쪽의 핵심은 단순하다. 읽고, 판단하고, 움직인다. 이 세 가지를 이해하면 어떤 로봇을 보더라도 구조가 보이기 시작한다.

제어 보드: 로봇의 작은 두뇌
제어 보드는 로봇에서 판단을 담당한다. 센서에서 들어오는 전기 신호를 읽고, 미리 작성한 프로그램에 따라 어떤 출력을 낼지 결정한다. 아두이노, ESP32, 라즈베리파이는 모두 제어 보드로 사용할 수 있지만 성격은 조금씩 다르다.
아두이노는 단순하고 예측 가능한 제어에 강하다. 버튼을 읽고 LED를 켜거나, 모터 속도를 조절하거나, 센서값에 따라 서보 모터 각도를 바꾸는 작업을 배우기에 좋다. ESP32는 아두이노와 비슷한 방식으로 사용할 수 있으면서 Wi-Fi와 Bluetooth 기능을 갖춘 보드다. 무선 조종 로봇이나 스마트폰으로 제어하는 장치를 만들 때 유용하다. 라즈베리파이는 작은 컴퓨터에 가깝다. 리눅스를 실행할 수 있고, 카메라 영상 처리나 웹 서버, 인공지능 모델 실행 같은 작업에 어울린다.
제어 보드가 하는 일은 크게 세 가지로 나눌 수 있다.
센서나 버튼에서 입력 신호를 읽는다.
프로그램에 따라 현재 상황을 판단한다.
모터, LED, 부저, 디스플레이 같은 장치에 출력 신호를 보낸다.
여기서 꼭 기억해야 할 점이 있다. 제어 보드는 생각은 잘하지만 힘이 세지는 않다. 작은 LED 하나를 켜는 일은 직접 할 수 있지만, 바퀴를 돌리는 DC 모터를 직접 구동하기에는 출력 전류가 부족한 경우가 많다. 그래서 모터를 움직일 때는 보통 모터 드라이버라는 중간 장치를 사용한다. 제어 보드는 모터 드라이버에게 어느 방향으로, 어느 정도 세기로 돌릴지 명령하고, 실제 큰 전류는 모터 드라이버와 배터리가 담당한다.
즉, 제어 보드는 로봇의 두뇌지만 혼자서 모든 일을 하지는 않는다. 눈과 귀 역할을 하는 센서, 근육 역할을 하는 모터, 심장 역할을 하는 전원, 뼈대 역할을 하는 프레임과 함께 움직일 때 비로소 로봇이 된다.
센서: 로봇이 세상을 느끼는 방법
사람은 눈으로 보고, 귀로 듣고, 피부로 온도를 느낀다. 로봇도 주변 환경을 알아야 제대로 움직일 수 있다. 이때 필요한 부품이 센서다.
센서는 현실 세계의 정보를 전기 신호로 바꿔 준다. 거리 센서는 앞에 물체가 얼마나 가까운지 알려 주고, 라인 센서는 바닥의 검은 선과 흰 바탕을 구분한다. 엔코더는 바퀴가 얼마나 돌았는지 알려 주며, IMU는 로봇이 기울어졌는지, 회전하고 있는지를 측정한다. 카메라는 훨씬 많은 정보를 제공한다. 색, 모양, 움직임을 분석할 수 있기 때문이다.
초보자가 처음 만나는 센서들은 대부분 숫자를 돌려준다. 초음파 센서는 거리값을 센티미터 단위로 알려 주고, 조도 센서는 밝기에 따라 값이 변하며, 가변저항은 손잡이를 돌린 정도를 전압값으로 표현한다. 처음에는 이 숫자가 낯설지만, 결국 제어 보드가 하는 일은 간단하다. 숫자를 읽고 기준과 비교하는 것이다.
예를 들어 거리값이 30cm보다 작으면 멈추고, 30cm보다 크면 앞으로 가게 만들 수 있다. 라인 센서값이 어두운 쪽이면 검은 선 위에 있다고 판단하고, 밝은 쪽이면 흰 바탕 위에 있다고 판단할 수 있다. 복잡한 로봇도 이런 판단이 여러 개 모인 결과다.
센서를 고를 때는 먼저 무엇을 알고 싶은지 정해야 한다. 앞에 벽이 있는지 알고 싶은지, 바퀴가 얼마나 돌았는지 알고 싶은지, 로봇이 기울어졌는지 알고 싶은지에 따라 필요한 센서가 달라진다. 좋은 센서를 고르는 일은 비싼 부품을 고르는 일이 아니라, 로봇이 해결해야 할 문제에 맞는 감각 기관을 고르는 일이다.
모터와 액추에이터: 로봇을 실제로 움직이는 힘
센서가 감각 기관이라면 모터와 액추에이터는 근육이다. 액추에이터는 전기 신호를 실제 움직임으로 바꾸는 장치를 뜻한다. 모터가 대표적인 액추에이터이며, 솔레노이드나 펌프 같은 장치도 액추에이터에 포함된다.
로봇 제작에서 자주 사용하는 모터는 DC 모터, 서보 모터, 스텝 모터다. DC 모터는 전원을 연결하면 연속적으로 회전한다. 바퀴 로봇을 만들 때 가장 많이 사용한다. 속도 제어가 비교적 쉽고, 구조가 단순하다. 다만 원하는 각도에서 정확히 멈추게 하려면 엔코더 같은 추가 센서가 필요하다.
서보 모터는 특정 각도로 움직이도록 만들어진 모터다. 0도에서 180도 범위처럼 정해진 각도 안에서 위치를 제어하는 데 편하다. 로봇팔의 관절, 카메라를 좌우상하로 움직이는 팬틸트 장치, 작은 문을 열고 닫는 구조에 많이 사용된다.
스텝 모터는 한 번에 정해진 작은 각도씩 움직인다. 그래서 위치를 세밀하게 제어해야 하는 장치에 적합하다. 3D 프린터나 CNC 장비처럼 정해진 거리만큼 정확히 움직여야 하는 곳에서 흔히 볼 수 있다.
모터를 사용할 때 초보자가 자주 놓치는 부분이 있다. 모터는 생각보다 전류를 많이 먹는다. 제어 보드의 핀에 모터를 직접 연결하면 보드가 재부팅되거나 고장 날 수 있다. 그래서 모터와 제어 보드 사이에는 대개 모터 드라이버가 필요하다. 모터 드라이버는 작은 제어 신호를 받아 큰 전류를 안전하게 흘려주는 전력 스위치 역할을 한다.
전원: 로봇의 심장
로봇에서 전원은 가장 과소평가되기 쉬운 부품이다. 초보자는 보통 센서와 모터에 먼저 관심을 갖지만, 실제로 로봇을 만들다 보면 많은 문제가 전원에서 시작된다. 보드가 갑자기 재부팅되거나, 모터가 돌 때 센서값이 이상해지거나, 서보 모터가 덜덜 떨리는 현상은 전원이 부족하거나 배선이 적절하지 않을 때 자주 나타난다.
전원은 단순히 전압이 맞는다고 끝나는 것이 아니다. 필요한 전류를 충분히 공급할 수 있어야 하고, 보드와 모터가 요구하는 전압 범위도 맞아야 한다. 예를 들어 제어 보드는 5V나 3.3V로 동작하는 경우가 많고, DC 모터는 6V, 9V, 12V 등 더 높은 전압을 사용할 수 있다. 이때 모터 전원을 제어 보드에 그대로 넣으면 위험할 수 있다.
실전 로봇에서는 보통 보드 전원과 모터 전원을 구분해서 생각한다. 제어 보드는 안정적인 전압을 좋아하고, 모터는 순간적으로 큰 전류를 요구한다. 모터가 출발할 때 전류가 확 늘어나면 전압이 순간적으로 떨어질 수 있는데, 이때 제어 보드까지 같은 전원에 무리하게 묶여 있으면 보드가 꺼졌다 켜질 수 있다.
그렇다고 두 전원을 완전히 남남처럼 두면 신호가 제대로 전달되지 않는다. 모터 드라이버를 사용할 때는 보통 제어 보드와 모터 전원의 기준점인 GND를 함께 연결해야 한다. 앞으로 전원 장에서 자세히 다루겠지만, 지금은 이 한 문장을 기억해 두면 좋다. 로봇은 전원이 흔들리면 생각도 흔들리고 움직임도 흔들린다.
프레임: 부품을 로봇으로 묶는 몸체
프레임은 로봇의 뼈대다. 아무리 좋은 보드와 센서, 모터를 골라도 그것들이 공중에 떠 있을 수는 없다. 프레임은 부품을 고정하고, 무게를 지탱하며, 힘이 전달되는 방향을 결정한다.
바퀴 로봇에서는 프레임의 폭과 길이, 바퀴 위치가 주행 안정성에 영향을 준다. 무게중심이 너무 높으면 방향을 바꿀 때 쉽게 흔들린다. 배터리가 한쪽에만 치우치면 직진이 어려워질 수 있다. 로봇팔에서는 프레임의 강성이 중요하다. 관절이 움직일 때 팔이 휘거나 흔들리면 원하는 위치에 정확히 도달하기 어렵다.
프레임은 꼭 멋진 금속 가공품일 필요는 없다. 처음에는 아크릴 섀시, 합판, 3D 프린터 출력물, 플라스틱 판, 심지어 두꺼운 종이 상자도 실험용 프레임이 될 수 있다. 중요한 것은 부품을 안정적으로 고정하고, 전선을 정리할 공간을 남기며, 나중에 수정할 수 있게 만드는 것이다.
처음부터 완벽한 외형을 목표로 하면 제작이 느려진다. 초보 단계에서는 움직이는 구조를 먼저 만들고, 문제가 보이면 보강하는 방식이 좋다. 로봇은 머릿속 설계도보다 실제로 바닥 위를 굴러갈 때 더 많은 것을 알려 준다.
통신 장치: 로봇과 대화하는 길
로봇이 혼자 움직이는 것처럼 보여도, 제작 과정에서는 계속 대화가 필요하다. 센서값이 얼마인지 확인해야 하고, 모터 속도를 바꿔 봐야 하며, 스마트폰이나 PC에서 명령을 보내고 싶을 때도 있다. 이때 필요한 것이 통신이다.
가장 기본적인 통신은 USB 케이블을 통한 시리얼 통신이다. 아두이노나 ESP32를 PC에 연결하면 프로그램을 업로드할 수 있고, 시리얼 모니터를 통해 센서값이나 디버깅 메시지를 볼 수 있다. 초보자에게 시리얼 출력은 거의 손전등과 같다. 로봇 내부에서 무슨 일이 벌어지는지 보이지 않을 때, 숫자와 메시지로 길을 비춰 준다.
센서와 보드 사이에서도 통신이 일어난다. I2C는 여러 센서를 적은 수의 선으로 연결할 때 자주 사용된다. IMU나 OLED 디스플레이에서 흔히 볼 수 있다. SPI는 더 빠른 데이터 전송이 필요할 때 사용되며, 일부 디스플레이나 고속 센서에서 쓰인다. UART는 보드와 보드, 보드와 PC 사이의 단순한 데이터 교환에 많이 활용된다.
무선 통신도 중요하다. ESP32는 Wi-Fi와 Bluetooth를 이용해 스마트폰이나 웹 브라우저에서 로봇을 제어하기 좋다. 라즈베리파이는 네트워크에 연결해 카메라 영상을 스트리밍하거나 원격으로 명령을 보낼 수 있다. 로봇이 책상 위를 벗어나 움직이기 시작하면, 케이블 없이 명령을 주고받는 능력이 큰 장점이 된다.
하나의 로봇 안에서 부품들은 어떻게 연결될까
이제 각 부품을 따로 보았으니 하나의 장면으로 합쳐 보자. 바퀴가 두 개 달린 작은 장애물 회피 로봇을 만든다고 하자. 앞쪽에는 초음파 센서가 있고, 중앙에는 아두이노나 ESP32가 있으며, 양쪽 바퀴에는 DC 모터가 연결되어 있다. 모터와 보드 사이에는 모터 드라이버가 놓이고, 아래쪽에는 배터리가 있다.
초음파 센서는 앞쪽으로 소리를 쏘고 돌아오는 시간을 이용해 거리를 계산한다. 제어 보드는 이 거리값을 읽는다. 거리가 충분하면 모터 드라이버에 앞으로 가라는 신호를 보낸다. 모터 드라이버는 배터리에서 온 전력을 모터에 공급해 바퀴를 돌린다. 앞에 물체가 가까워지면 제어 보드는 정지하거나 좌회전, 우회전 명령을 내린다.
이 흐름 안에서 각 부품의 역할은 분명하다.
센서는 주변 상황을 숫자로 바꾼다.
제어 보드는 숫자를 읽고 판단한다.
모터 드라이버는 작은 명령을 큰 전력으로 바꾼다.
모터는 전력을 실제 회전 운동으로 바꾼다.
배터리는 전체 시스템에 에너지를 공급한다.
프레임은 모든 부품을 적절한 위치에 고정한다.
이 구조를 이해하면 새로운 부품을 만나도 겁먹을 필요가 줄어든다. 이름이 낯설어도 질문은 같다. 이 부품은 입력인가, 출력인가, 전원인가, 통신인가, 구조물인가? 어디에 연결되고 어떤 역할을 하는가? 로봇 제작의 큰 그림은 이 질문에서 시작된다.
로봇 종류에 따라 필요한 하드웨어는 달라진다
모든 로봇이 같은 부품으로 만들어지는 것은 아니다. 목적이 달라지면 필요한 하드웨어도 달라진다. 같은 제어 보드를 사용하더라도 센서와 모터 구성은 크게 달라질 수 있다.
| 로봇 종류 | 주요 움직임 | 핵심 부품 | 특히 중요한 점 |
|---|---|---|---|
| 바퀴 로봇 | 바닥을 주행 | DC 모터, 모터 드라이버, 거리 센서, 라인 센서, 배터리 | 전원 안정성, 바퀴 속도 제어, 주행 균형 |
| 로봇팔 | 관절을 움직임 | 서보 모터 또는 스텝 모터, 관절 프레임, 전원, 위치 제어 | 토크, 관절 강성, 각도 제어 |
| 카메라 로봇 | 보고 이동하거나 추적 | 라즈베리파이, 카메라, 모터, 무선 통신, 보조 제어 보드 | 영상 처리, 통신 지연, 전력 소모 |
바퀴 로봇은 이동이 핵심이다. 그래서 모터 드라이버, 배터리, 바퀴의 접지력, 좌우 모터 속도 차이가 중요하다. 센서는 주로 장애물을 피하거나 길을 따라가기 위해 사용된다. 처음 로봇을 만드는 사람에게 바퀴 로봇이 좋은 이유는 결과가 눈에 잘 보이기 때문이다. 앞으로 가는지, 멈추는지, 방향을 바꾸는지 바로 확인할 수 있다.
로봇팔은 이동보다 자세와 위치가 중요하다. 바퀴 로봇이 앞으로 얼마나 잘 가는지를 본다면, 로봇팔은 끝부분이 원하는 위치에 얼마나 정확히 도달하는지가 중요하다. 그래서 관절마다 서보 모터를 사용하거나, 더 정밀한 제어가 필요하면 스텝 모터와 기구 구조를 함께 고려한다. 로봇팔에서는 모터의 힘, 즉 토크가 부족하면 팔이 축 처질 수 있다.
카메라 로봇은 보는 능력이 들어가면서 구성이 더 복잡해진다. 단순 센서값 하나가 아니라 영상 데이터라는 큰 정보를 다뤄야 하기 때문이다. 이때 라즈베리파이처럼 운영체제를 실행할 수 있는 보드가 유리하다. 다만 라즈베리파이는 실시간 모터 제어에는 마이크로컨트롤러보다 불리할 수 있어, ESP32나 아두이노와 역할을 나누기도 한다. 라즈베리파이는 영상을 보고 판단하고, ESP32는 모터를 안정적으로 제어하는 식이다.
처음 준비하면 좋은 기본 부품
로봇 제작을 시작할 때 모든 부품을 한꺼번에 살 필요는 없다. 오히려 너무 많이 사면 무엇부터 연결해야 할지 막막해진다. 처음에는 작은 실험을 여러 번 해볼 수 있는 기본 부품을 준비하는 편이 좋다.
입문용으로는 아두이노 우노 계열 보드나 ESP32 개발 보드 중 하나를 고르면 충분하다. 무선 기능 없이 기초 입출력부터 차근차근 배우고 싶다면 아두이노가 편하고, 처음부터 스마트폰 제어나 Wi-Fi 프로젝트까지 염두에 둔다면 ESP32가 매력적이다. 라즈베리파이는 카메라나 영상 처리, 네트워크 기능을 본격적으로 다룰 때 추가해도 늦지 않다.
기본 실습을 위해 준비하면 좋은 부품은 다음과 같다.
제어 보드: 아두이노 우노 계열 또는 ESP32 개발 보드
입력 부품: 버튼, 가변저항, 초음파 거리 센서, 라인 센서 모듈
출력 부품: LED, 부저, 서보 모터, DC 기어드 모터
구동 부품: 모터 드라이버, 바퀴, 캐스터 휠 또는 보조 바퀴
연결 부품: 브레드보드, 점퍼선, 저항, 터미널 블록
전원 부품: USB 케이블, 배터리 홀더, 적절한 배터리, 전원 스위치
구조 부품: 작은 섀시, 나사, 스페이서, 양면테이프, 케이블타이
선택 기준은 화려한 기능보다 실습 가능성이다. 문서와 예제가 많은 부품, 핀 이름이 잘 표시된 모듈, 납땜 없이 테스트할 수 있는 형태가 초보자에게 좋다. 특히 모터와 배터리는 가격만 보고 고르면 안 된다. 모터가 요구하는 전압과 전류, 모터 드라이버가 견딜 수 있는 전류, 배터리가 공급할 수 있는 전류가 서로 맞아야 한다.
처음에는 작은 로봇부터 시작하는 것이 좋다. 작은 로봇은 전류 요구량이 낮고, 프레임 부담이 적으며, 실패했을 때 수정하기 쉽다. 바퀴 두 개와 보조 바퀴 하나로 움직이는 2륜 구동 로봇은 입문 프로젝트로 아주 적합하다. 여기에 거리 센서를 달면 장애물 회피 로봇이 되고, 라인 센서를 달면 라인트레이서가 되며, 카메라를 얹으면 영상 기반 이동 로봇의 출발점이 된다.
초보자가 자주 하는 착각
로봇을 처음 만들 때는 자연스럽게 멋진 완성품을 상상하게 된다. 그런데 실제 제작은 한 번에 완성되는 일이 드물다. 센서값이 흔들리고, 모터 방향이 반대로 돌고, 배터리가 금방 닳고, 전선 하나가 헐거워서 몇 시간을 헤매기도 한다. 이것은 실패가 아니라 하드웨어를 배우는 정상적인 과정이다.
가장 흔한 착각은 제어 보드가 모든 것을 직접 할 수 있다고 생각하는 것이다. 보드는 신호를 만들 수 있지만 큰 힘을 내는 장치는 아니다. 모터에는 모터 드라이버가 필요하고, 여러 개의 서보 모터에는 충분한 전원이 필요하다.
또 다른 착각은 센서값이 항상 정확하리라는 기대다. 실제 센서는 주변 빛, 바닥 재질, 전원 노이즈, 설치 각도에 따라 값이 변한다. 그래서 로봇 프로그램은 센서값 하나만 믿기보다 여러 번 읽고 평균을 내거나, 기준값을 조정하거나, 예상 범위를 벗어난 값을 무시하는 방식으로 더 튼튼해진다.
마지막으로 외형을 너무 빨리 고정하는 것도 조심해야 한다. 처음부터 모든 부품을 나사로 꽉 조이고 전선을 짧게 정리하면 보기에는 깔끔하지만 수정이 어렵다. 입문 단계에서는 테스트하기 쉬운 구조가 더 중요하다. 움직여 보고, 문제를 찾고, 고치고, 다시 움직여 보는 반복이 로봇을 완성한다.
로봇을 바라보는 기본 질문
이제 로봇을 볼 때 다음 질문을 던져 보자.
이 로봇은 무엇을 감지해야 하는가?
감지한 정보를 어떤 보드가 판단하는가?
판단 결과는 어떤 모터나 장치를 움직이는가?
모터를 움직일 전원은 충분한가?
부품들은 프레임 위에 안정적으로 고정되어 있는가?
사람이나 다른 장치와 데이터를 주고받아야 하는가?
이 질문에 답할 수 있으면 로봇의 절반은 이미 설계한 셈이다. 부품 이름을 모두 외우지 않아도 괜찮다. 먼저 입력, 판단, 출력, 전원, 구조, 통신이라는 큰 틀을 잡으면 된다. 그다음 필요한 부품을 하나씩 고르고 연결하면 된다.
로봇 제작은 전자부품을 많이 아는 사람이 아니라, 작은 문제를 하나씩 나누어 해결하는 사람이 오래 즐길 수 있다. 센서 하나를 읽고, 모터 하나를 돌리고, 두 기능을 연결해 작은 행동을 만들고, 그 행동을 반복해서 더 똑똑한 움직임으로 키워 간다.
첫 로봇은 완벽하지 않아도 된다. 바퀴가 조금 삐뚤게 돌고, 선이 엉켜 있고, 코드가 투박해도 괜찮다. 중요한 것은 책상 위의 부품들이 처음으로 스스로 움직이는 순간이다. 그 순간부터 부품은 더 이상 부품이 아니라 로봇의 일부가 된다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.