본문 바로가기

programmer/DIY

아두이노란? (Arduino)

아두이노(Arduino)



안녕하세요. 아두이노에 대해서 알아보겠습니다.

.



아두이노는 오픈소스를 기반으로 한 단일 보드 마이크로 콘트롤러(micro controller)입니다. 마이크로 콘트롤러는 쉽게 말해서 사람의 두뇌라고 할 수 있습니다. 아두이노는 아트멜 AVR을 기반으로 한 하드웨어 보드와 소프트웨어 개발을 위한 스케치라는 통합 환경(IDE)이 있습니다. 이 점은 라즈베리 파이와 비교되는 부분 중 하나인데, 아두이노는 운영체제가 따로 존재하지 않으며 스케치라는 IDE를 통해 프로그래밍이 이루어집니다. 아두이노의 종류에는 여러가지가 있으며 사용 목적에 따라 아두이노를 선택할 수 있습니다. 아두이노 공식홈페이지(https://www.arduino.cc/)에 가면 아두이노의 종류들을 확인할 수 있습니다. 그 중에서 가장 대표되는 것은 아두이노 우노(Arduino uno)입니다.


enter image description here
(출처 : https://www.arduino.cc/)

아두이노 우노에는 ATmega328이라는 마이크로 콘트롤러가 사용됩니다. 다른 많은 아두이노 기판에도 ATmega328가 사용됩니다. ATmega328는 아트멜 사에서 제작한 마이크로 콘트롤러로 8bit CPU, 32KB 플래시 메모리를 포함하며, 200MHz의 속도를 가집니다. 마이크로 프로세서의 성능면에서 봤을 때는 라즈베리 파이가 훨씬 뛰어난 것으로 보이지만, 아두이노는 아두이노만의 장점을 가지고 있습니다. 즉, 우리가 무엇을 만드느냐에 따라 라즈베리 파이를 사용하는 게 적합할 수도 있고, 아두이노를 사용하는게 알맞을 수 있습니다.



그렇다면 아두이노가 가지고 있는 장점은 무엇일까요? 우선 앞에서 언급한대로 스케치라는 쉽고 편리한 개발 환경을 제공합니다. 또한 오픈소스이고, 다양하게 확장할 수 있으며, 가격이 라즈베리파이에 비해 비교적 저렴합니다. 기판 종류(아두이노 우노, 아두이노 나노, 아두이노 메가 등)에 따라 다르지만, 아두이노 우노의 경우 USB 커넥터, 전원 커넥터, 디지털 핀, 아날로그 핀, 리셋 스위치, CPU 등으로 이루어져 있습니다. 이를 통해, 다수의 스위치나 센서를 연결하고 값을 받아서 LED나 모터와 같은 외부 전자 장치들을 통제합니다.

예를 들어서 설명해보면, 카메라가 달린 드론을 만든다고 생각해봅시다. 드론은 보통 쿼드콥터 또는 날개가 6개가 달릴 수도 있는데요. 이 날개를 작동시키기 위해 모터가 날개의 갯수만큼 들어가게 됩니다. 또한, 각 날개의 모터 속도를 통제하기 위해 변속기가 모터의 갯수만큼 들어갑니다. 이러한 변속기와 모터를 각각 통제하기 위해서 적당한 것은 아두이노입니다. 위에서 말한 것처럼 여러가지 외부기기를 통제하는데 라즈베리 파이에 비해 강점이 있습니다. 라즈베리 파이가 하기에는 적합한 일이 아닙니다. 하지만, 라즈베리 파이는 아두이노보다 마이크로 프로세서의 성능이 뛰어납니다. 카메라는 영상을 처리하는 영역이고 또한 그 영상을 우리가 볼 수 있도록 전달해야합니다. 이러한 과정은 복잡한 데이터 연산이 포함되어 있으므로, 아두이노에 비해 성능이 뛰어난 라즈베리 파이가 하기에 적당한 것이지요.


이렇게 아두이노와 라즈베리 파이는 각각의 장단점이 있습니다. 우리가 무언가를 만드려고 할 때, 그 사용 목적에 알맞는 제품을 선택해서 효율적이고 재밌는 장난감을 만들 수 있습니다.