정보공간_1

[2기 광주 박정태]Arduino 의 모든것 본문

IT 놀이터/Elite Member Tech & Talk

[2기 광주 박정태]Arduino 의 모든것

알 수 없는 사용자 2012. 9. 16. 11:47

안녕하세요 광주 멤버십 21-1 박정태 입니다.

이번 블로깅 부터는 아두이노에 대해 소개 하려 합니다. 하드웨어의 전유물인 펌웨어 및 다양한 부가 적인 디바이스 사용을 모든사람들이 쉽게 접근할 수 있도록 오픈 플랫폼으로 만든 프로젝트인

아두이노는 IT분야 부터 예술을 하는 사람들까지 사용 범위가 넓어지고 있습니다.

소프트웨어분들도 프로젝트를 하다 보면 디바이스 장치의 필요성을 느낄때가 있는데요 아두이노를 배워놓는다면 손쉽게 자기가 원하는 디바이스를 만들수 있답니다^^

 

 

 

아두이노란?

아두이노(Arduino)는 오픈소스를 기반으로 한 피지컬 컴퓨팅 플랫폼으로, AVR을 기반으로 한 보드와 소프트웨어 개발을 위한 통합 환경(IDE)를 제공한다. 아두이노는 많은 스위치나 센서로부터 값을 받아들여, LED나 모터와 같은 것들을 통제함으로써 환경과 상호작용이 가능한 물건을 만들어낼 수 있다. 또한 플래시, 프로세싱, Max/MSP와 같은 소프트웨어를 연동할 수 있다.

아두이노의 가장 큰 장점은 마이크로컨트롤러를 쉽게 동작시킬 수 있다는 것이다. 일반적으로 AVR 프로그래밍이 WinAVR로 컴파일하여, ISP장치를 통해 업로드를 해야하는 등 번거로운 과정을 거쳐야하는데 비해, 아두이노는 USB를 통해 컴파일 및 업로드를 쉽게 할 수 있다. 또한 아두이노는 다른 모듈에 비해 비교적 저렴하고, 윈도를 비롯해 맥 OS X, 리눅스와 같은 여러 OS를 모두 지원한다. 아두이노 보드의 회로도가 CCL에 따라 공개되어 있으므로, 누구나 직접 보드를 직접 만들고 수정할 수 있다.

는 위키 백과 사전에 나와있는 사전적 비슷한 의미이구요, 간단히 설명하자면 다양한 기능을 할수 있는 MCU를 좀더 쉽게 쓰기 위한 플랫폼입니다. 아두이노를 가지고 있고 프로그래밍에 대한 간단한 지식만 있다면 자신이 상상하는 많은 것을 만들어 낼 수 있죠.

MCU의 응용 분야는 무궁무진하고 아두이노는 이 MCU의 기능을 사용자가 쉽게 쓸수 있도록 한 것이죠.

C 에대해 어느정도 지식이 있는 사람이라도 MCU 를 공부해서 간단한 작품을 만든다고 해도 쉽게 접근하기가 어렵습니다. 알아야 할것도 많구요. 하지만 아두이노는 이 모든 것을 아주 간단하게 해줍니다.

예술가들이 요새 디지털화된 작품들을 만들 때 많이 응용한다고 하더라구요. 그정도로 일반사람들에게도 쉽게 다가갈 수 있는 것이라는 점!

포스팅을 통해 아두이노의 처음부터 끝까지 알아 보겠습니다.

[아두이노를 이용한 다양한 작품들]

아두이노는 프로젝트 창시자인 Banzi씨가 교육을 위해 누구나 쉽게 MCU를 다루기 위한 플랫폼을 만듬으로써 시작되게 되었다.

오픈 소스 프로젝트로써 http://www.arduino.cc/ 이곳에 가면 모든정보를 얻을수 있다.

홈페이지도 매우 심플하다.

아두이노를 사용하기위해선 우선 소프트웨어를 다운받자.

다운로드에 들어가서 자신의 OS에 맞는 것으로 다운을 받는다.

소프트웨어도 무척 가볍고 무설치다!

보드를 사용하기 위해선 드라이버를 먼저 설치해주어야 한다.

아두이노 폴더 맨위에 보면 Dirvers 라는 폴더가 있다. 이안에 아두이노보드의 드라이버들이 있다.

자신이 가지고 있는 보드를 USB로 연결한 후 드라이버 설치가 뜨면 이곳에서 자신의 보드와 맞는 버젼의 드라이버를 깐다.

제대로 설치가 되었다면 장치관리자에 자신의 보드가 뜨는 것을 확인 할 수 있다.

이제 모든 준비가 끝났다. 스케치를 열어 코딩해서 다운로드 하면 된다.

에디터 또한 무척 간결하다.

자세히 알아보기에 앞서 예제를 한번 다운받아보자.

파일에 예제에 blink란 스케치를 열어보자.

10줄가량의 소스가 보인다. 이것을 컴파일해서 다운로드를 해보자.

먼저 도구에서 보드에서 자신의 보드를 선택하고 다시 도구의 시리얼포트를 장치관리자에서 확인했던 컴포트 번호로 선택을 해준다.

그리고 업로드 버튼을 누르면 끝이다.

그림처럼 컴파일 과정을 거쳐 바이너리 파일을 만들고 업로드를 한다.

보드를 보면 보드위에 어떤 엘이디 하나가 껌뻑껌뻑이는것을 확인 할 수 있을 것이다.

코딩을 해서 엄청난 무언가를 만들어낼 준비는 이제 끝났다. 코딩만 하면된다!

그게 앞서 하드웨어부분도 한번 간단히 소개를 하고 본격적으로 알아보자.

다양한 아두이노가 있다. 이는 각자의 용도에 따라 최소화 하고 간결하게 만들어 놓은것 부터 공부를 위해 모든 포트를 확장 시켜놓은것 까지 다양하게 있다.

자신이 만들 작품에 대한 스펙을 조사 한 후 용도에 맞는 아두이노를 선택하는것도 중요 할 것이다.

주로는 MCU가 달라 가격이나 성능적인 부분에 차이가 있는 것들도 있고 특수한 기능 USB나 Wifi등의 기능을 할수 있게 제작되어 있는 것들도 있다.

아두이노 홈페이지에서는 제공되는 아두이노의 모든 하드웨어 적인 정보를 공개하고 있다.

용도에 따라 다양한 기능과 크기의 아두이노가 있는것을 확인할수 있다.

아두이노 홈페이지에서는 제공되는 아두이노의 모든 하드웨어 적인 정보를 공개하고 있다.

블로깅동안 필자가 사용할 아두이노 보드는

요놈이다.

MCU로 ATmega2560을 사용했다. 아두이노는 모두 AVR을 사용했는데 MCU를 처음 공부하는 사람들이 가장 쉽게 접할수 있고 정보가 가장 많이 있는게 AVR이다. 그래서 아두이노에서 AVR을 택한것 일지도 모르겠다.

AVR이 큰 System을 위한 스펙으로 확장핀이 많이 있고 지원기능도 많이 있다.

그리고 ADK를 지원한다. 아두이노에 대한 블로깅을 마치고 시간적 여유가 된다면 안드로이드쪽도 좀더 공부를 해 ADK까지 같이 한다면

더욱 좋을거 같다.

아두이노의 응용분야는 무궁무진하다.

레이저 하프와 3D 프린터

언뜻 봐도 굉장히 어려울것 같고 복잡할거 같은것도 아두이노로 만들어 낼수 있다.

더욱이 아두이노의 오픈소스 특성상 많은 프로젝트들이 오픈소스로 공개되어 나오기 때문에 실생활에도 만들어서 사용할수 있는 유용한 것들이 많다.

특히나 사용법이 쉽기 떄문에 프로그래머,엔지니어가 아닌 다른 분야의 사람들도 자신의 분야에 응용하기 위한 용도로 많이 사용을 하고 있는 추세이다.

구글에서 제공하는 안드로이드 ADK

우선은 아두이노의 기본적인 함수들과 하드웨어적인 기능 응용방법등을 하나하나 짚어보고 간단한 실습등을 통해 이해도를 높혀 볼까 한다.

그리고 최종적으로 손바닥 프린터를 이용해 간단한 작품을 만들어볼 생각이다.