초보자가 아두이노 시작하는 방법, 부품 고르기부터 첫 작품까지

처음 아두이노를 만졌을 때 헷갈렸던 것들
얼마 전 책상 서랍을 치우다가 예전에 사 둔 아두이노 우노 보드를 다시 꺼냈습니다. 작은 파란 기판 하나인데, 처음 봤을 때는 어디에 선을 꽂아야 하는지부터 막막했거든요. 그런데 막상 LED 하나를 깜빡이게 만들고 나니 생각보다 진입 장벽이 낮았습니다. 아두이노는 전자공학을 전공하지 않아도 센서, 모터, 조명 같은 부품을 직접 움직여 볼 수 있게 해주는 작은 개발 보드입니다.
초보자가 가장 많이 쓰는 보드는 아두이노 우노입니다. 가격은 정품 기준으로 보통 3만 원대 이상이고, 호환 보드는 1만 원 안팎에서도 찾을 수 있습니다. 처음 연습용이라면 호환 보드도 충분한 경우가 많습니다. 다만 드라이버 설치나 품질 차이가 있을 수 있으니, 후기가 많은 제품을 고르는 편이 편합니다.
처음 준비하면 좋은 기본 부품
아두이노를 시작할 때 보드만 있으면 되는 줄 알기 쉽지만, 실제로는 몇 가지 부품이 같이 있어야 재미가 붙습니다. LED 하나만 켜도 코드를 바꾸면 밝기나 깜빡이는 속도가 달라지고, 센서를 붙이면 주변 환경에 반응하는 장치를 만들 수 있습니다.
- 아두이노 우노 또는 호환 보드 1개
- USB 케이블 1개
- 브레드보드 1개
- 점퍼선 여러 개
- LED와 저항, 보통 220옴 또는 330옴
- 버튼 스위치
- 초음파 센서, 온습도 센서 같은 기본 센서
처음에는 개별 부품을 하나씩 사는 것보다 스타터 키트가 더 편합니다. 보통 2만 원대부터 5만 원대까지 다양하고, LED, 저항, 센서, 서보모터가 함께 들어 있는 제품이 많습니다. 사실 초보 단계에서는 부품 하나를 잘못 사서 배송비를 또 내는 일이 더 번거롭습니다. 그래서 처음 한 달 정도는 키트 하나로 여러 예제를 따라 해보는 방식이 효율적입니다.
설치와 첫 실행은 이렇게 하면 쉽습니다
아두이노를 쓰려면 먼저 컴퓨터에 아두이노 IDE를 설치합니다. IDE는 코드를 작성하고 보드로 보내는 프로그램입니다. 설치 후에는 USB 케이블로 보드를 연결하고, 메뉴에서 보드 종류와 포트를 선택하면 됩니다. 여기서 많이 막히는 부분이 포트 선택입니다. 보드를 꽂기 전과 후를 비교해서 새로 생긴 포트를 고르면 대체로 맞습니다.
가장 많이 하는 첫 예제는 LED 깜빡이기입니다. 아두이노 IDE에는 기본 예제가 들어 있어서 직접 코드를 다 외울 필요는 없습니다. 예제 메뉴에서 Blink를 열고 업로드 버튼을 누르면 보드에 있는 LED가 1초 간격으로 켜졌다 꺼집니다. 이때 1000이라는 숫자를 500으로 바꾸면 반초 간격으로 빨라지고, 2000으로 바꾸면 2초 간격으로 느려집니다. 숫자 하나만 바꿔도 눈앞에서 결과가 달라지니 처음 배우기에 꽤 좋은 구조입니다.
초보자가 자주 겪는 오류
업로드가 안 될 때는 보통 세 가지를 먼저 보면 됩니다. 첫째, 보드 선택이 아두이노 우노로 되어 있는지 확인합니다. 둘째, 포트가 제대로 잡혔는지 봅니다. 셋째, USB 케이블이 충전 전용인지 확인합니다. 의외로 충전만 되고 데이터 전송이 안 되는 케이블이 많습니다. 케이블을 바꾸는 것만으로 문제가 해결되는 경우도 꽤 있습니다.
처음 만들기 좋은 작품 3가지
처음부터 복잡한 로봇팔이나 드론을 만들려고 하면 금방 지칩니다. 아두이노는 작은 성공을 여러 번 쌓는 쪽이 훨씬 재미있습니다. LED, 버튼, 센서처럼 단순한 부품부터 차근차근 연결하면 회로와 코드가 같이 이해됩니다.
- 버튼으로 LED 켜기: 입력과 출력 개념을 익히기 좋습니다.
- 초음파 센서 거리 측정기: 센서값을 숫자로 확인할 수 있어 실용적입니다.
- 서보모터 자동문: 센서와 모터를 함께 써보는 입문 작품으로 괜찮습니다.
예를 들어 초음파 센서는 물체와의 거리를 재는 부품입니다. 센서에서 소리를 보내고 다시 돌아오는 시간을 계산해 거리를 구합니다. 손을 가까이 대면 10cm, 멀리 두면 30cm처럼 값이 바뀌는 걸 시리얼 모니터에서 볼 수 있습니다. 여기에 LED를 연결해서 10cm 이내면 빨간불이 켜지게 만들면 간단한 주차 보조 장치처럼 동작합니다.
서보모터는 각도를 정해서 움직일 수 있는 모터입니다. 일반 DC 모터가 계속 도는 방식이라면, 서보모터는 0도, 90도, 180도처럼 위치를 지정할 수 있습니다. 그래서 작은 문, 표시 바늘, 로봇 관절 같은 걸 만들 때 자주 씁니다. 처음에는 전원 부족으로 모터가 떨리는 경우가 있는데, 이때는 외부 전원을 따로 쓰는 방식도 배워야 합니다.
코드를 외우기보다 흐름을 보는 게 편합니다
아두이노 코드는 크게 setup과 loop로 나뉩니다. setup은 처음 한 번 실행되는 부분이고, loop는 계속 반복되는 부분입니다. 핀을 입력으로 쓸지 출력으로 쓸지는 setup에 적고, 버튼 값을 읽거나 LED를 켜고 끄는 동작은 loop에 적는 식입니다. 이 구조만 알아도 예제 코드를 읽는 속도가 훨씬 빨라집니다.
처음부터 문법을 전부 외우려 하면 재미가 떨어집니다. 대신 예제 코드를 하나 열고 숫자, 핀 번호, 조건문을 조금씩 바꿔보는 편이 좋습니다. LED가 너무 빨리 깜빡이면 delay 값을 늘리고, 버튼이 반대로 동작하면 HIGH와 LOW 조건을 바꿔보는 식입니다. 작은 수정이 실제 동작으로 이어지는 과정을 반복하면 자연스럽게 감이 생깁니다.
솔직히 아두이노는 완벽하게 이해하고 시작하는 도구라기보다, 만지면서 익히는 도구에 가깝습니다. 처음에는 선 하나 잘못 꽂아서 작동하지 않는 일이 많고, 코드에 세미콜론 하나가 빠져서 오류가 나기도 합니다. 그런데 그런 시행착오가 쌓이면 센서값을 읽고, 조건을 만들고, 모터를 움직이는 흐름이 점점 익숙해집니다. 작은 LED 하나가 켜지는 순간부터 꽤 괜찮은 취미가 시작된다고 느꼈습니다.