아두이노(Arduino)란?
취미생활을 하면서 특정 기능을 요구하는 하드웨어를 구현할 때 입력을 받아 스스로 생각하고 판단하여 출력하거나 기능을 수행하는 프로세서가 요구됩니다. 이러한 프로세서는 컴퓨터의 CPU처럼 규모가 대단할 필요는 없고 단지 다양한 입출력 기능이 포함된 마이크로 컬트롤러(Microcontroller)면 충분할 것입니다. 이 마이크로 컨트롤러는 줄여서 '마이컴'이라고 부릅니다.
이러한 마이컴(Micom)은 제조사도 다양하고 종류 또한 다양하지만 전통적으로 Atmel社의 ATmega나 마이크로칩社의 PIC 시리즈의 8비트 마이컴을 선호하며 이들 양 社는 어셈블러에 능숙하지 않은 아마추어들에게 C언어를 이용해 간단히 구현하고 최적화된 코드를 생성시킬 수 있는 환경을 제공하며 또한 최근에 플레쉬(Flash) 메모리의 가격하락과 고용량 메모리를 탑재한 마이컴 시리즈가 시장에 주류를 이루면서 고급언어를 이용한 Compact code 제공에 대한 부담이 줄어들고 있는 추세입니다.
ATmega 칩을 사용하여 WinAVR 툴을 이용하여 코드를 생성하고 MK2와 같은 ISP 프로그래머를 사용하여 칩에 업로드하는데 아두이노(Arduino)는 이러한 과정을 간소화하여 아두이노 보드와 툴을 이용하면 코드를 생성하고 바로 업드로하여 테스트할 수 있는 환경을 제공합니다.
현재 아두이노 보드는 주로 ATmega328 칩을 실장하며 PC와 소통을 위한 USB단자와 주변회로가 보드에 내장되어 있고 또한 Shield 보드를 이용하여 아두이노 보드에 수직으로 장착하여 아마추어들이 원하는 주변회로를 쉽게 구현도록 하였습니다. 이를테면 확장보드인 셈입니다.
무엇보다도 가장 좋은 장점은 오픈소스를 기반으로 한 피지컬 컴퓨팅 플랫폼을 제공한다는 것이며 이는 단순히 보드와 소프트웨어 개발을 위한 통합 환경(IDE)를 제공한다는 이점보다는 아마추어가 쉽게 원하는 기능을 만들기 위한 레퍼런스가 풍부하다는 것을 의미할 것입니다.
그리고 이런 환경은 Window를 비롯해 Mac OS X, 리눅스 등 여러 OS를 모두 지원한다고 알려지며 오픈소스인 만큼 아두이노 보드의 회로도가 CCL에 따라 공개되어 있습니다.
다음은 가장 최근에 출시된 아두이노 보드입니다.
Arduino Uno R3의 앞면
Arduino Uno R3의 뒷면
'Embedded Programming > Arduino ' 카테고리의 다른 글
Arduino Uno R3의 개요 (0) | 2017.03.11 |
---|---|
아두이노(Arduino) 보드와 PC 통신 (0) | 2014.05.28 |
아두이노(Ardunio)의 장점(2) (0) | 2014.05.27 |
아두이노 호환 갈릴레오 보드 출시 (4) | 2014.04.23 |
아두이노(Ardunio)의 장점(1) (0) | 2014.03.27 |