아두이노(Arduino)는 "마이크로 컨트롤러(Micro-controller)"라고 많이 정의하고 있습니다. 실질적으로 거의 정확한 표현에 가깝습니다. 말그대로 마이크로는 미니(Mini)보다 작다는 표현으로 작은 컨트롤러, 다시말해 작은 제어장치입니다. 단편적인 기능에 의지한 설명으로는 센서나 모터 같은 전자부품을 제어하기 위한 반도체 회로 기판으로 말할 수 있습니다.
최근 홈 IoT (Internet of Things, 사물인터넷)에 대한 관심으로 DIY로 직접 제작하여 각자 개인의 취향에 맞게 홈 IoT를 구축하고 싶어 하는 사람들이 늘어나고 있습니다. 필자도 온실(greenhouse)의 환경 데이터를 실시간 관찰하기 위해서 아두이노에 입문하게 되었죠 ^^ 이미 많은 사람들이 아두이노 프로젝트를 진행하고 있는데.. 몇 가지 작품만 봐도 공학 본능이가 끌어 오릅니다. 그럼 아두이노의 정의 및 보드(board)의 기본 구성과 종류에 대해서 살펴보면서 아두이노가 무엇인지 간단하게 알아 보도록 하겠습니다.
- 아두이노(Arduino) 란?
아두이노(이탈리아어: Arduino 아르두이노)는 오픈 소스를 기반으로 완성된 마이크로컨트롤러(Microcontroller) 보드와 관련된 개발도구 및 환경을 통틀어 총칭하는 말입니다. 2005년 이탈리아의 IDII (Interaction Design Institutelvera)에서 하드웨어에 익숙하지 않은 학생들이 자신들의 디자인 작품을 손쉽게 제어할 수 있게 하려고 고안된 임베디드 시스템 중 하나로 쉽게 개발할 수 있는 환경을 제공합니다. 아두이노 보드를 사용하여 다수의 스위치나 센서로부터 값을 받아들여, 전원이나 모터 같은 외부 전자 장치들을 통제할 수 있기 때문에 마이크로 컨트롤러라고 할 수 있으며 이를 쉽게 동작시킬 수 있다는 것이 가장 큰 장점입니다.
(출처: 위키백과)
- 아두이노 보드의 기본 구성
아두이노 보드는 마이크로 컨트롤러 기능을 하기 위해 CPU(중앙처리장치) 역할을 하는 반도체 Chip을 사용하는데 주로 아트멜(Atmel)사의 AVR(8-비트 RISC 단일칩 마이크로 컨트롤러)를 사용하고 있습니다. 공식 보드의 마이크로 컨트롤러에는 주로 ATmega8, ATmega168, ATmega328과 같은 megaAVR 시리즈가 주로 사용됩니다. 보드에는 기본적으로 5V 리니어 레귤레이터와 16 MHz 결정 진동자(크리스털)가 내장되어 있으며, 기존 모든 보드는 RS-232 직렬 커넥터를 통해 프로그램되지만, 지금의 아두이노 보드들은 모두 USB를 통해 프로그래밍 가능하며, FT232와 같은 USB-시리얼 변환 칩을 통해 사용 가능합니다. UNO와 같은 주요 모델들은 14개의 디지털 입출력 핀을 제공하고 있으며, 그중 6개의 핀은 PWM (pulse-width modulated) 신호를, 다른 6개의 핀은 디지털 입출력 핀으로 혼용이 가능한 아날로그 입력 단자를 제공합니다.
- 아두이노 보드 종류
아두이노 보드 종류는 매우 다양합니다. 원하는 프로젝트 목적에 따라 적합한 특성을 가진 다양한 보드를 적용하여 사용할 수 있습니다. 워낙 많은 제품군이 있기 때문에 오늘은 매우 대중적으로 사용되고 있는 대표적인 보드 세가지만 소개해드리고 추후 다양한 보드들을 정리하도록 하겠습니다.
<아두이노 UNO R3>
아두이노 보드 중 UNO R3가 현재 최신 버전으로 기본 표준 보드로 인식되고 있습니다. 현재 보드에서 출력 전압 5V, 3.3V가 지원 가능하고 변환기 없이 USB로 PC와 연결해서 사용할 수 있습니다. USB로 전원 공급되며 외부 입력으로도 전원 공급이 가능합니다. 확장 쉴드 등 다양한 외부 장치들의 핀 배열 등이 UNO를 기준으로 맞춰져 있기 때문에 처음 아두이노를 시작하신다면 고민할 필요 없이 UNO R3 추천합니다.
<아두이노 나노(Nano)>
나노라는 이름만으로도 소형화 버전인지 알 수 있습니다. UNO 보드와 같은 ATmega328 칩을 보통 사용하기 때문에 UNO의 기능을 대부분 지원하고 라이브러리도 그대로 사용할 수 있습니다. Nano는 직접 USB로 업로딩이 가능하며 출력 전압 역시 5V, 3.3V 모두 지원합니다. 한마디로 소형 UNO라고 할 수 있지만 작기 때문에 방열 문제나 보호회로가 부족하기 때문에 보드 손상을 주의해야 합니다. 회로 기판에 바로 삽입하여 구성하거나 크기가 작은 프로젝트를 기획할 때 추천합니다.
<아두이노 메가(MEGA2560)>
MEGA 이름에 걸맞게 고성능과 많은 입출력 핀을 지원합니다. ATmega2560 MCU칩을 기반으로 이미지, 음성, 영상 등 다양한 기기의 제어와 응용으로 고성능이 필요한 곳에 유용할 수 있습니다. 그러나 UNO 보드와 핀 배열, 특징이 많이 다르기 때문에 처음 아두이노를 접하시는 분들은 다루기 어려울 수 있습니다. 온라인 상에서 공유되는 대부분의 튜토리얼이나 라이브러리 및 확장 쉴드가 UNO를 기반으로 제공되기 때문에 이슈 발생 시 어디가 문제인지 해결하기 막막할 수 있습니다. 단지 더 파워풀한 보드에서 럭셔리한 입출력 핀을 가지고 싶다고 선택하기보다는 보드 특성을 파악하고 선택하는 것을 추천합니다.
지금까지 아두이노의 기본적인 부분과 몇 가지 보드를 살펴보았습니다. 저는 아두이노 우노 R3를 구입하였습니다. 기획하는 프로젝트가 어디까지 발전할 수 있을지 모르겠지만 저의 도전기를 함께 하시면 좋겠습니다.
다음 글에는 아두이노를 시작하기 위한 준비를 해보도록 하겠습니다.
'아두이노 (Arduino) > 아두이노 시작하기 (Begin!)' 카테고리의 다른 글
아두이노(Arduino) 홈 IoT 입문 - 온습도 센서(DHT11) 사용하기 (5) | 2019.10.22 |
---|---|
Arduino 아두이노 호환보드(CH340): DIP, SMD 타입? (0) | 2019.10.20 |
아두이노(Arduino) 시작하기 - 스케치 (sketch) 실행 (0) | 2019.10.19 |
아두이노(Arduino) 시작하기 - 통합개발환경(IDE): 스케치(sketch) (0) | 2019.10.19 |
Arduino 아두이노 전원 공급 방법 (1) | 2019.10.17 |