아두이노

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
아두이노 소프트웨어
Arduino Uno logo.png
Arduino316.jpg
아두이노 RS232 직렬 통신[1]
개발자 아두이노 소프트웨어
최근 버전 1.6.1 / 2015년 03월 11일, 48일 경과[2]
프로그래밍 언어 자바
운영 체제 크로스 플랫폼
종류 통합 개발 환경
라이선스 LGPL 또는 GPL 라이선스
웹사이트 http://arduino.cc

아두이노(Arduino)는 오픈소스를 기반으로 한 단일 보드 마이크로컨트롤러이다. 아트멜 AVR을 기반으로 한 보드로 이루어져 있고 최근에는 Cortex-M3를 이용한 제품(Arduino Due)도 있다. 소프트웨어 개발을 위한 통합 환경(IDE)이 있다. 아두이노는 다수의 스위치나 센서로부터 값을 받아들여, LED나 모터와 같은 외부 전자 장치들을 통제함으로써 환경과 상호작용이 가능한 물건을 만들어낼 수 있다. 또한 어도비 플래시, 프로세싱, Max/MSP와 같은 소프트웨어를 연동할 수 있다.[3]

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

아두이노가 인기를 끌면서 이를 비즈니스에 활용하는 기업들도 늘어나고 있다. 장난감 회사 레고는 자사의 로봇 장난감과 아두이노를 활용한 로봇 교육 프로그램을 학생과 성인을 대상으로 북미 지역에서 운영하고 있다. 자동차회사 포드는 아두이노를 이용해 차량용 하드웨어와 소프트웨어를 만들어 차량과 상호작용을 할 수 있는 오픈XC라는 프로그램을 선보이기도 했다.[4]

역사[편집]

  • 2005년, 이태리 Ivrea에서 초기 프로젝트가 만들어졌다.
  • 2008년 10월, Arduino Duemilanove가 출시되었다.[5]
  • 2009년 3월, Arduinio Mega가 출시되었다.[5]
  • 2011년 3월, 전 세계적으로 30만 개 이상의 아두이노 유닛을 사용할 수 있다.[6][7]

하드웨어[편집]

보드[편집]

아두이노의 보드는 아트멜(Atmel)사의 8비트 AVR 마이크로컨트롤러와 프로그래밍 및 다른 서킷들과의 결합을 용이하게 해 주는 부속품들로 구성되어 있다. 공식 보드의 마이크로컨트롤러에는 주로 ATmega8, ATmega168, ATmega328과 같은 megaAVR 시리즈가 주로 사용된다. 보드에는 기본적으로 5V 리니어 레귤레이터와 16MHz 결정 진동자(크리스털)가 내장되어 있으며, 프로그램의 업로드를 용이하게 하기 위한 부트로더가 마이크로컨트롤러에 미리 내장되어 있다.

개념적인 수준에서 볼 때, 아두이노에 프로그램을 탑재함에 있어 있어 모든 보드는 RS-232 직렬 커넥터를 통해 프로그램되지만, 구현되는 방식은 하드웨어의 버전에 따라 달라진다. 직렬 아두이노 보드는 RS-232 수준의 신호를 TTL 수준의 신호로 변환해주는 변환 장치(Shifter)를 내장하고 있다. 지금의 아두이노 보드들은 모두 USB를 통해 프로그래밍 가능하며, ATmega16U2와 같은 USB-시리얼 변환 칩을 통해 사용 가능하다.

아두이노 보드는 마이크로컨트롤러 I/O핀의 대부분을 다른 서킷에서도 사용할 수 있도록 공개하고 있다. Diecimila, Duemilanove, 현재의 Uno와 같은 주요 모델들은 14개의 디지털 I/O핀을 제공하고 있으며, 그 중 6개의 핀은 PWM(pulse-width modulated)신호를, 다른 6개의 핀은 디지털 I/O핀으로 혼용이 가능한 아날로그 입력 단자를 제공한다.

종류[편집]

1. UNO

2. Mega 2560

3. Mega ADK

4. LEONARDO

5. NANO

6. MICRO

7. ESPLORA

8. ETHERNET[8]

9. ROBOT

10. YUN

11. DUE

12. MINI

13. Lilypad Simple, Simplesnap, USB

14. Lilypad

15. Pro/ Pro Mini

16. FIO

출시 예정:

17. ZERO

18. TRE

쉴드[편집]

쉴드(Shield)는 보드의 CPU를 호환 가능한 여러 부가 모듈과 연결하는 커넥터 역할을 담당하는 부품으로, 아두이노에서 중요한 부품 중 하나이다. 몇몇 쉴드는 다른 복잡한 핀들을 거쳐서 보드와 직렬로 연결되지만, 대부분의 쉴드는 I²C 시리얼 버스를 통해 고유 주소를 할당받을 수 있기 때문에 병렬로 연결하여 사용할 수 있다.

소프트웨어[편집]

아두이노의 통합 개발 환경(IDE)은 JavaC를 기반으로 개발되는 크로스 플랫폼 응용 소프트웨어이며, 구문 강조, 괄호 찾기, 자동 들여쓰기 기능이 포함된 에디터와 한 번의 클릭으로 컴파일과 업로드가 가능한 컴파일러 기능을 포함하고 있다. IDE는 프로세싱과 Wiring 기반으로 개발되어 소프트웨어 개발에 생소한 사용자들도 쉽게 프로그래밍 할 수 있도록 설계되어 있다. 이러한 아두이노 IDE를 통해 작성된 프로그램이나 코드를 "스케치(Sketch)"라고 부른다.

전형적인 스케치의 예는 LED를 점멸시키는 "blink"라는 구문이다. Arduino 언어는 사용자가 이와 같이 작성하면 된다.

#define LED_PIN 13
 
void setup () {
    pinMode (LED_PIN, OUTPUT);     // 13번 핀을 디지털 출력 핀으로 설정
}
 
void loop () {
    digitalWrite (LED_PIN, HIGH);    // LED 점등
    delay (1000);                   // 1000ms(1초) 대기
    digitalWrite (LED_PIN, LOW);   // LED 소등
    delay (1000);                 // 1000ms(1초) 대기
}

주석[편집]

  1. Arduino Board - Serial Interface
  2. “Arduino Software Release Notes”. Arduino Project. 2013에 확인함.  다음 글자 무시됨: "7}12" (도움말)
  3. “Arduino - Introduction”. 
  4. 류한석 (2013년 7월 9일). “아두이노, 상상력을 실현하는 플랫폼”. 주간경향. 2013년 7월 12일에 확인함. 
  5. News; Arduino.cc
  6. Phillip Torrone (2011년 5월 12일). “Why Google Choosing Arduino Matters and Is This the End of "Made for iPod" (TM)?”. makezine.com. 2012년 1월 1일에 확인함. 
  7. Smart Projects
  8. “WIZnet W5100”. 

바깥 고리[편집]

더보기[편집]