시작 전에 준비가 절반이다
아두이노를 처음 배울 때 가장 답답한 순간은 보통 코드에서 오지 않습니다. 보드는 켜졌는데 업로드가 되지 않거나, 포트가 보이지 않거나, LED가 아무 반응을 하지 않는 순간에 막힙니다. 이때 원인은 스케치 코드보다 USB 케이블, 보드 선택, 드라이버, 부품 연결인 경우가 많습니다.
이번 장의 목표는 멋진 회로를 만드는 것이 아닙니다. 컴퓨터와 아두이노 보드가 서로 알아보고, IDE에서 작성한 스케치를 보드로 보낼 수 있는 상태를 만드는 것입니다. 집으로 비유하면 아직 가구를 들이는 단계가 아니라 전기, 수도, 문이 제대로 열리는지 확인하는 단계입니다.
준비가 끝났는지 판단하는 기준은 간단합니다.
보드를 USB로 연결했을 때 전원 LED가 켜진다.
Arduino IDE에서 보드 종류를 선택할 수 있다.
IDE에서 시리얼 포트가 보인다.
간단한 예제를 업로드했을 때 오류 없이 완료된다.
이 네 가지가 되면 이후 실습은 훨씬 수월해집니다.
AI 생성 이미지
보드와 USB 케이블 고르기
입문 실습에는 Arduino Uno 계열이 가장 무난합니다. 크기가 적당하고, 핀 이름이 보드에 잘 표시되어 있으며, 예제와 설명 자료가 많기 때문입니다. 이 책의 기본 실습도 Uno 계열을 기준으로 설명합니다.
먼저 확인할 것은 USB 단자입니다. 공식 Arduino Uno R3는 보통 프린터 케이블처럼 생긴 USB Type-B 케이블을 사용합니다. 반면 Arduino Uno R4 계열은 USB-C 케이블을 사용합니다.1 케이블 모양이 맞아야 물리적으로 연결할 수 있고, 케이블이 데이터 전송을 지원해야 업로드가 됩니다.
여기서 중요한 점이 있습니다. USB 케이블은 모두 같아 보이지만, 충전만 되는 케이블과 데이터 전송이 되는 케이블이 있습니다. 충전 전용 케이블을 쓰면 보드의 전원 LED는 켜질 수 있습니다. 하지만 컴퓨터가 보드를 장치로 인식하지 못해 포트가 나타나지 않습니다. 보드는 켜졌는데 IDE에서 아무 포트도 보이지 않는다면, 가장 먼저 케이블을 바꿔 보세요.
호환 보드를 사용할 때도 한 가지를 더 봐야 합니다. 일부 Uno R3 호환 보드는 USB-시리얼 변환 칩으로 CH340 계열 칩을 사용합니다. 이런 보드는 운영체제에 따라 CH340 드라이버를 따로 설치해야 포트가 나타날 수 있습니다.2 보드 설명에 CH340, CH341, USB-Serial 같은 문구가 있으면 드라이버 확인 대상이라고 생각하면 됩니다.
정리하면 다음 순서로 고르면 됩니다.
| 항목 | 확인할 점 |
|---|---|
| 보드 | Uno R3, Uno R4 Minima, Uno R4 WiFi 중 하나로 시작 |
| 케이블 | Uno R3는 주로 USB Type-B, Uno R4는 USB-C |
| 데이터 전송 | 충전 전용 케이블이 아닌 데이터 케이블 사용 |
| 호환 보드 | CH340 드라이버 필요 여부 확인 |
Uno R4를 사용한다면 Arduino IDE에서 Uno R4 보드 패키지를 설치해야 할 수 있습니다. IDE의 Boards Manager에서 Arduino UNO R4를 검색하고 설치한 뒤, 사용하는 보드가 Minima인지 WiFi인지 정확히 선택합니다.1
입문 키트에 있으면 좋은 부품들
처음부터 모든 부품을 살 필요는 없습니다. 하지만 기본 부품이 너무 부족하면 예제를 따라 하다가 매번 멈추게 됩니다. 다음 부품들은 앞으로의 실습에서 반복해서 사용됩니다.
브레드보드는 납땜하지 않고 회로를 꽂아 보는 판입니다. 전자회로를 연습장처럼 지우고 다시 그릴 수 있게 해 줍니다. 단, 겉으로는 구멍이 따로 떨어져 있어도 내부에서는 줄 단위로 연결되어 있습니다. 이 구조를 모르고 부품을 꽂으면 회로가 연결되지 않거나, 반대로 의도치 않게 합선될 수 있습니다.
점퍼선은 보드와 브레드보드, 부품을 이어 주는 전선입니다. 실습 초반에는 수-수 점퍼선이 가장 많이 쓰입니다. 센서 모듈이나 외부 장치에 따라 수-암, 암-암 점퍼선도 필요할 수 있습니다. 선 색은 전기적으로 차이가 없지만, 빨간색은 5V, 검은색 또는 파란색은 GND처럼 정해 두면 실수를 줄일 수 있습니다.
저항은 전류가 너무 많이 흐르지 않게 막아 주는 부품입니다. LED 실습에는 보통 220Ω 또는 330Ω 저항을 사용합니다. LED를 저항 없이 바로 연결하면 LED가 손상되거나 보드 핀에 무리가 갈 수 있습니다. 버튼 실습에는 10kΩ 저항이 자주 쓰입니다. 입력 핀이 공중에 떠 있지 않도록 기준 전압을 잡아 주기 위해서입니다.
LED는 전기가 흐르면 빛을 내는 출력 부품입니다. 다리가 긴 쪽이 보통 + 방향, 짧은 쪽이 - 방향입니다. 반대로 꽂으면 대개 켜지지 않습니다. 고장이라고 판단하기 전에 방향과 저항 연결을 먼저 확인해야 합니다.
푸시버튼은 손으로 누르는 입력 부품입니다. 버튼은 다리가 네 개라도 내부에서는 두 쌍이 연결된 구조입니다. 방향을 잘못 꽂으면 누르지 않아도 항상 연결된 것처럼 동작할 수 있습니다. 나중에 버튼 실습에서 브레드보드 홈을 기준으로 올바른 방향을 확인합니다.
가변저항은 손잡이를 돌려 저항값을 바꾸는 부품입니다. 밝기 조절, 볼륨 조절처럼 연속적인 값을 읽는 실습에 사용합니다. 아두이노는 이 값을 기본 설정에서 보통 0부터 1023 사이의 숫자로 읽어 들이고, 우리는 그 숫자를 이용해 LED 밝기나 동작 기준을 바꿀 수 있습니다.
온습도 센서는 주변의 온도와 습도를 읽는 입력 부품입니다. DHT11, DHT22 같은 센서가 입문 키트에 자주 들어 있습니다. 모듈 형태라면 연결이 비교적 쉽지만, 센서만 있는 형태라면 풀업 저항이 필요할 수 있습니다. 부품이 모듈인지 센서 단품인지 확인하세요.
부저는 소리를 내는 출력 부품입니다. 능동 부저는 전원을 주면 일정한 소리가 나고, 수동 부저는 코드로 주파수를 만들어야 소리가 납니다. 겉모습이 비슷하므로 키트 설명서를 함께 확인하는 것이 좋습니다.
가능하면 작은 멀티미터도 준비해 두면 좋습니다. 필수는 아니지만, 전압이 들어오는지, 선이 끊어졌는지, 저항값이 맞는지 확인할 수 있어 문제 해결 속도가 빨라집니다.
Arduino IDE 설치하기
Arduino IDE는 스케치를 작성하고 보드에 업로드하는 프로그램입니다. 웹에서 글을 쓰는 도구가 문서 편집기라면, 아두이노에서는 IDE가 코드 편집기이자 업로드 도구입니다.
설치는 운영체제에 맞는 버전을 내려받아 진행합니다. Windows에서는 설치 프로그램을 사용하는 것이 가장 간단합니다. 설치 중 드라이버 설치를 묻는 창이 나오면 허용합니다. macOS에서는 내려받은 앱을 Applications 폴더로 옮겨 실행하면 됩니다. Linux에서는 배포판에 따라 설치 방식과 포트 권한 설정이 다를 수 있습니다.3
설치가 끝나면 IDE를 실행하고 보드를 USB로 연결합니다. 보드의 ON LED가 켜지는지 먼저 봅니다. 이 LED는 보드에 전원이 들어왔다는 뜻입니다. 다만 전원이 들어왔다는 것과 업로드가 가능하다는 것은 다릅니다. 업로드를 하려면 컴퓨터가 보드를 데이터 장치로 인식해야 합니다.
다음으로 IDE에서 보드를 선택합니다.
Uno R3: Tools > Board에서 Arduino Uno 선택
Uno R4 Minima: Arduino UNO R4 Minima 선택
Uno R4 WiFi: Arduino UNO R4 WiFi 선택
Uno R4 항목이 보이지 않으면 Boards Manager에서 Arduino UNO R4 보드 패키지를 설치해야 합니다. IDE 2.x에서는 보드를 연결했을 때 자동으로 보드와 포트를 제안하기도 하지만, 처음에는 직접 확인하는 습관을 들이는 편이 좋습니다.
그다음 포트를 선택합니다. Windows에서는 COM3, COM4처럼 표시됩니다. macOS에서는 /dev/cu.usbmodem 또는 /dev/cu.usbserial처럼 보일 수 있습니다. Linux에서는 /dev/ttyACM0, /dev/ttyUSB0 같은 이름이 자주 사용됩니다.3
포트를 고르는 쉬운 방법은 보드를 뽑았다가 다시 꽂아 보는 것입니다. 보드를 뽑았을 때 사라지고, 다시 꽂았을 때 나타나는 항목이 해당 보드의 포트입니다.
Verify와 Upload의 차이
Arduino IDE에는 체크 표시 버튼과 오른쪽 화살표 버튼이 있습니다. 두 버튼은 비슷해 보이지만 역할이 다릅니다.
Verify는 코드를 검사하고 컴파일합니다. 컴파일은 사람이 읽는 코드를 마이크로컨트롤러가 이해할 수 있는 형태로 바꾸는 과정입니다. Verify는 보드에 코드를 보내지 않습니다. 문법 오류가 있는지, 선택한 보드에 맞게 코드가 변환되는지 확인하는 단계입니다.
Upload는 컴파일한 뒤 그 결과를 보드로 전송합니다. 이때는 보드 선택, 포트 선택, USB 케이블, 드라이버가 모두 맞아야 합니다. Verify는 성공했는데 Upload가 실패한다면 코드보다 연결 환경을 의심해야 합니다.
처음에는 Blink 예제를 열어 업로드 환경을 점검하면 좋습니다. 메뉴에서 File > Examples > 01.Basics > Blink를 엽니다. 이 예제는 보드에 내장된 LED를 깜빡이게 합니다. 아직 외부 LED를 연결하지 않아도 업로드가 되는지 확인할 수 있습니다. 업로드가 끝난 뒤 Done uploading과 비슷한 메시지가 보이고 보드의 LED가 깜빡이면 기본 환경은 준비된 것입니다.3
Blink 코드 자체는 다음 장 이후에 자세히 다룹니다. 지금은 코드를 이해하는 것보다 컴퓨터에서 보드로 스케치가 전달되는 길을 확인하는 데 집중합니다.
보드가 인식되지 않을 때 점검 순서
문제가 생겼을 때는 한꺼번에 바꾸지 말고 하나씩 확인해야 합니다. 그래야 원인을 찾을 수 있습니다.
첫째, USB 케이블을 확인합니다. 보드 전원 LED가 켜져도 데이터 케이블이 아닐 수 있습니다. 다른 데이터 케이블로 바꿔 보고, 가능하면 USB 허브가 아니라 컴퓨터 본체 포트에 직접 연결합니다.
둘째, 포트 변화를 확인합니다. IDE의 Port 메뉴를 열어 둔 상태에서 보드를 뽑았다가 다시 꽂아 봅니다. 새로 나타나는 포트가 없다면 운영체제가 보드를 인식하지 못한 것입니다.
셋째, 드라이버를 확인합니다. Windows에서는 장치 관리자에서 Ports 항목을 확인합니다. 호환 보드라면 USB-SERIAL CH340 같은 이름으로 나타날 수 있습니다. 알 수 없는 장치로 보이거나 포트가 전혀 생기지 않으면 드라이버 설치가 필요할 수 있습니다.2
넷째, 보드 선택을 확인합니다. Uno R3인데 Uno R4를 선택했거나, Uno R4 WiFi인데 Minima를 선택하면 업로드가 실패할 수 있습니다. 보드 이름은 비슷하지만 내부 구성이 다를 수 있으므로 정확히 맞춰야 합니다.
다섯째, 이미 다른 프로그램이 포트를 사용 중인지 봅니다. 시리얼 모니터, 다른 IDE, 터미널 프로그램이 같은 포트를 잡고 있으면 업로드가 되지 않을 수 있습니다. 관련 창을 닫고 다시 시도합니다.
마지막으로 컴퓨터를 재시작하고 다시 연결합니다. 단순해 보이지만 드라이버 설치 직후나 포트가 꼬인 상황에서는 효과가 있습니다.
준비 완료 기준
이번 장을 마쳤다면 다음을 스스로 확인해 보세요.
내 보드가 Uno R3인지 Uno R4인지 말할 수 있다.
내 보드에 맞는 USB 케이블을 알고 있다.
충전 전용 케이블과 데이터 케이블의 차이를 이해했다.
IDE에서 보드 종류와 포트를 선택할 수 있다.
Verify는 검사와 컴파일, Upload는 보드 전송이라는 차이를 설명할 수 있다.
포트가 보이지 않을 때 케이블, 포트, 드라이버, 보드 선택 순서로 점검할 수 있다.
이제 실습의 길이 열렸습니다. 다음 장에서는 회로를 만들기 전에 꼭 알아야 할 전압, 전류, 저항의 기본 규칙을 배웁니다. 이 규칙을 알면 부품을 왜 그렇게 연결하는지 이해할 수 있고, LED 하나를 켤 때도 더 안전하게 실험할 수 있습니다.
참고
1Getting Started with UNO R4 WiFi - Arduino Documentation, Installing a Board Package in the IDE 2 - Arduino Documentation
2How to Install CH340 Drivers - SparkFun Learn
3Download and install Arduino IDE - Arduino Help Center, Installing Arduino IDE - SparkFun Learn
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.