[매드정] 아두이노 강좌 - 01. 아두이노란?



안녕하세요~ 매드정 입니다~

오늘은 아두이노의 역사, 종류, 아두이노가 뜬 이유?, 현재 아두이노의 상황에 대해서 간단히 얘기해 보도록 하겠습니다.

우선 아두이노의 역사부터 이야기 해보죠.

1-1. 아두이노의 역사



아두이노는 2005년 이탈리아에서 초기 프로젝트가 만들어졌습니다. 아두이노 우노, 아두이노 듀에 라는 시리즈가 이탈리아어로 되어있다는 것만으로도 알 수 있죠~? 우노는 이탈리아어로 1 이고 뚜에 2, 뜨레 3, 꽈뜨로 4 ... 이런식으로 가죠.

그리고 2008년 아두이노 Due 가 나오고 2009년에 Mega가 출시됩니다.
이렇게 많은 시리즈가 나오면서 2011년에는 전 세계적으로 30만 개 이상의 아두이노 유닛이 팔리게 되고 바로 올해 2015년!! 아두이노는 10주년이 됩니다.

벌서 10살 먹은 아두이노~ 나이 참 많이 먹었죠?~


1-2. 아두이노의 종류



이런 아두이에노는 위에 얘기한 것처럼 기본 AVR의 8bit IC를 이용한 우노, 뚜에, 메가, 나노, 프로 ... 등등 시리즈가 나오게 되며 32bit ARM 코어를 적용한 아두이노도 나오게 되는데 작은(?) 이슈로 인해 현재는 조금 헤깔리는 상황에 와있습니다. 이는 마지막에 다시 한번 얘기 해보기로 하고 일단 종류는 엄청 많이 나와있습니다. 심지어 단종된 버젼들도 벌써 생겨버렸죠.
자세한 사항은 https://www.arduino.cc/en/Main/Products 요기를 참조하시면 됩니다.

이런 아두이노에 가장 큰 장점이 있는데 바로 아두이노 쉴드(Shield) 라는 것이 있기 때문입니다. 아두이노는 모듈화로 되어 있어 위로 차곡 차곡 올려서 조립할 수 있는데 이를 통해 기본 기능 외에도 원하는 기능들을 확장 설치 할 수 있기 때문입니다. 이는 아두이노를 사용하면서 굉장히 편리하고 유용하게 사용되는 부분이로 아두이노가 뜨게 된 가장 큰 이유 중에 하나가 되겠습니다.


1-3. 아두이노가 뜬 이유?
말이 나온김에 아두이노가 왜 뜨게 되었는가를 얘기해 보면 재미있게도 아두이노는 예술가들이 쉽게 사용할 수 있는 작은 컴퓨터를 만드는 것이 목적이였습니다. 그러다보니 비전문가도 사용할 수 있게 쉽게 만들어지게 되었고 원래 목적의 예술가들 뿐만이니라 지금은 초등학생들도 쉽게 사용할 수 있는 보편적인 마이크로 컨트롤러 플랫폼으로써 자리잡아가고 있습니다.

사실 아두이노에 사용된 주요 MCU는 AVR 이라고 하는 ATMEL 에서 만든 8bit 마이컴 입니다. 옛날 8bit 마이컴은 PIC이 주로 많았지만 ISP라는 굉장히 편리한 기능을 포함하여 저렴한(?) 다운로더와 환경을 가지고 개발을 할 수 있다는 장점으로 AVR은 한때 굉장히 떠오르게 됩니다. 그러면서 자연스럽게 산업에서도 많은 사용을 하게 되고 점점 정착해 갔지만 어느순간 ATMEL이 잠시나마 미치는 짓을 하게 되는 상황이 발생하게 되죠.

전반적으로 IC 가격을 엄청나게 올려버립니다. 그때 기존에 ATMEL 제품을 사용하던 많은 회사들이 수급 문제로 굉장히 어렵게 된적도 있었습니다.

전공자들에게 저렴한 개발환경을 갖추고 개발할 수 있는 AVR 이였지만 이마저도 비전공자들이 다루기에는 너무나도 어려운 환경이였던 것이죠. ISP 다운로더와 어려운 개발툴을 설치하고 C언어를 습득하여 펌웨어를 작성한 후 AVR의 많은 기능들과 수 많은 레지스트들을 하나하나 수백페이지나 되는 데이터시트를 보고 코드를 짜는 것은 수년을 공부해야만 마스터 할 수 있는 것들이였습니다. 이런 단점들을 모두 한꺼번에 보완한 것이 바로 '아두이노' 입니다.

아두이노는 AVR의 필수 개발환경인 ISP 다운로드가 없어도 되고 시리얼통신을 위한 통신 케이블이 없어도 되고 심지어 C언어 조차 잘 몰라도 원하는 동작을 할 수 있도록 만들어져 있습니다.

이런 것들을 위해 아두이노에는 부트로더라는 기능이 들어가 있으며 usb to serial 통신 장치가 일체형으로 들어있습니다. 그럼에도 불구하고 기존 AVR 개발환경보다 가격도 저렴하며 개발도 쉽게할 수 있으니 이 얼마나 좋은 플랫폼 입니까?

이것뿐만이 아닙니다. 지난 10년간 오픈소스로서 수 많은 사람들이 공개 해놓은 소스 코드들은 가히 다른 개발 플랫폼들 보다 압도적이다 라고 말할 수 있을 정도 입니다.

다만 고급 기능을 위해 세부적인 레지스터들을 건드리기 위해서는 조금 번거로운 점들이 없잖아 있지만 머 어떻습니다. 수많은 장점들을 버리고 안쓸 이유가 있을까요?~

이런 아두이노가 단점이 없는 것은 아닙니다.
편리하다보니 최적하가 되어있지 않고 아직 산업에서 사용하기에는 부족한 점이 많다는 것이 현재 분위기 입니다. 하지만 이것도 시간으로 해결될 문제 겠죠? 마치 리눅스가 현재 우리가 모두 들고다니는 안드로이드 스마트폰의 원조가 된 것처럼 말입니다.


1-4. 현재 아두이노 상황



참 아이러니 하게도 세상은 돈이 되면 싸움이 날 수 밖에 없나봅니다. 이런 오픈소스로 시작한 아두이노도 초기 설립자들이 싸우고 갈라지면서 두 진영으로 나뉘게 되는데

arduino.cc와 arduino.org 입니다. 이는 우연히 아두이노 arm 보드를 검색하다게 알게되었는데 두 홈페이지를 들어가보면 알겠지만 컨셉도 비슷하고 심지어 사용하는 아이콘 마저도 굉장히 유사하다는 것을 알 수 있습니다.

현재는 니가 원조니 내가 원조니 법적 분쟁을 하고 있는 상황인데 과연 어디가 승리하게 될지는 알 수 없는 상황이죠.

arduino.cc를 arduino LLC 라고 부르고 arduino.org를 arduino Srl 이라고 하니 관심 있으신 분들은 구글링 해보시면 많은 자료를 보실 수 있으실 겁니다.


댓글 쓰기

0 댓글