의견.png

아두이노

위키원
qoehdtjq (토론 | 기여)님의 2019년 7월 22일 (월) 17:06 판 (역사)
이동: 둘러보기, 검색
아두이노

아두이노(Arduino)란 사물인터넷(IoT) 기기를 만들기 위하여 사용하는 오픈소스 기반의 컴퓨팅 플랫폼을 말한다. C, C++ 등 다양한 언어를 사용하여 원하는 동작을 하도록 코딩을 한 후 기계어컴파일하여 마이크로컨트롤러(microcontroller) 보드에 업로드하면, 아두이노가 작동한다. 아두이노는 가격이 저렴하고 리눅스(Linux), 윈도우(Windows), 아이오에스(iOS) 등 여러 운영체제에서 작동하며, 오픈소스 기반이라는 장점이 있다.

개요

아두이노(Arduino)는 오픈소스를 기반으로 한 단일 보드 마이크로컨트롤러(Microcontroller)로 완성된 보드와 관련 개발 도구 및 환경을 말한다. 2005년 이탈리아의 IDII(Interaction Design Institutelvera) 에서 하드웨어에 익숙지 않은 학생들이 자신들의 디자인 작품을 손쉽게 제어할 수 있게 하려고 고안된 아두이노는 처음에 AVR을 기반으로 만들어졌다. 아두이노는 통합 개발 환경 IDE를 제공하며, 소프트웨어 개발과 실행코드 업로드도 제공한다. 또한 어도비 플래시(Adobe Flash), 프로세싱(Processing) 과 같은 소프트웨어와 연동할 수 있다.

아두이노는 다양한 스위치나 센서로부터 입력 값을 받아들여 LED나 모터와 같은 전자 장치들로 출력을 제어함으로써 환경과 상호작용이 가능한 물건을 만들어 낼 수 있다. 예를 들어 단순한 로봇, 온습도계, 동작 감지기, 음악 및 사운드 장치, 스마트 홈 구현, 유아 장난감 및 로봇 교육 프로그램들의 다양한 제품들이 아두이노를 기반으로 개발 가능하다. 또한 아두이노는 회로가 오픈소스로 공개되어 있어 누구나 직접 보드를 만들고 수정할 수 있다.

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

역사

특징

  • 아두이노는 특별한 공부나 지식이 없어도 마이크로컨트롤러를 쉽게 동작시킬수 있다.
  • 구성하는데 비용이 매우 저렴하고 단순하지만 다양한 소프트웨어와 연동이 가능해 뛰어난 호완성을 가진다.
  • Windows를 비롯한 Mac OS XLinux와 같은 다양한 OS환경을 지원한다.
  • 오픈소스를 제공함으로서 많은 사용자에 의해 각종 회로도나 펌웨어 소스가 웹상에서 다량 공유되어 있어 쉽게 찾을 수 있다.
  • 현존하는 AVR제품군중 뛰어난 기능과 저렴한 공급가로 교육용, 제작용, 예술가용 등으로 많이 사용되고 있다.
  • 54핀 디지털입출력과 16개의 아날로그 입력이 가능하다.

종류

1. 아두이노 우노 (R3)

가장 보편적으로 사용하는 보드이다. 우노보드는 Duemilanoves 와 같은 프로세서를 사용하지만 USB 통신을 위한 FTDI칩을 기본으로 내장하고 있어 별도의 변환기 없이 PC등에 USB로 연결해서 사용이 가능하다. 5V, 3.3V 모두 지원하기 위해 레귤레이터가 내장되어 있고, USB 전원을 사용 가능하며 외부 입력 전원도 지원한다. 안드로이드 표준 보드로 핀 배열 등이 우노를 기준으로 맞춰져 있으므로 확장 쉴드 등을 사용하는데 최적화 되어있어 처음 아두이노를 접할 때 가장 많이 사용한다.

2. 아두이노 레오나르도 (Leonardo)

우노 보드와 생김새가 비슷하지만 성격이 다른 보드로 ATmega32u4 칩을 탑재하고 있다. ATmega32u4 칩은 내부에 USB 통신을 위한 기능을 갖추고 있기 때문에 우노 보드와 같이 별도의 변환기를 필요로 하지 않는다. 우노 보드에서는 PC와 serial로 통신하기 위해 디지털1번(D0), 디지털2번(D1)핀을 사용하는데 이 보드에서는 필요 없어 디지털1번(D0)핀과 디지털2번(D1)핀을 다른 모듈과의 serial 통신에 사용할 수 있다. 별도의 serial 통신용 핀이 더 생겨 고속으로 동작하는 통신 모듈을 함께 사용할 때 유리하다. 그 밖에도 핀의 수가 우노 보다 많고 특수한 기능을 담당하는 핀이 우노와는 전혀 틀리기 때문에 충분한 메뉴얼을 습득하고 사용해야 한다.

3. 아두이노 나노 (Nano)

우노보드의 소형화 버전으로 우노보드와 같은 ATmega328 칩을 사용하여 우노의 기능을 그대로 제공하고 mini-B 타입 USB도 내장되어 있다. 우노보드와 같은 칩을 사용하여 사용방법도 동일하고 라이브러리도 그대로 쓸 수 있다. 나노보드는 직접 USB로 업로딩이 가능하며 3.3V, 5V 전원 핀을 가지고 있어 외부 센서의 전압을 맞추기 간편하다. 우노보드와 같이 브레드보드에 직접 꽂아서 사용하면 회로 구성하기도 편리해 작은 우노, 브레드보드용 우노 라고 불린다.

4. 아두이노 마이크로(Micro)

나노보드가 우노보드의 소형화 버전이라면, 마이크로보드는 레오나르도 보드의 소형화 버전이다. 이 보드역시 레오나르도 보드처럼 ATmega32u4칩을 탑재하고 있기 때문에 특징도 레오나르도 보드와 거의 비슷하다. 나노 보드와 비교할 때 핀수가 훨씬 많기 때문에 긴 사각형 형태를 띄고 있으며, 나노보드처럼 브레드보드 친화적인 보드이고 9V 배터리를 통해 휴대용으로 제작이 가능하다.

5. 아두이노 메가(Mega)

우노보드의 확장 버전으로 우노보드의 약 2배 크기이다. 많은 핀을 가지고 있으며 더 빠르고 저장용량도 더 많이 가지고 있어 다른 보드에 비해 훨씬 많은 기기와 통신할 수 있는 고성능 보드이다. 우노보드로 처리하기 힘든 멀티미디어 관련 작업, 로봇이나 이미지, 음성, 영상 등과 같은 복잡한 제어가 필요한 작업에 사용된다.

참고 자료

같이 보기


  의견.png 이 아두이노 문서는 프로그래밍에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.