아두이노는 무엇일까?
- 컴퓨터공학
- 2020. 4. 24. 00:32
아두이노는 사용하기 쉬운 하드웨어, 소프트웨어를 기반의 오픈 소스 전자제품 플랫폼입니다. 전문가, 초보자 구분없이 모든이들을 위해 만들어 졌습니다. 아두이노는 가장 인기있는 IoT 디바이스 개발 플랫폼입니다. 아두이노는 다양한 센서들로부터 입력을 받아 주변환경을 파악하고 빛, 모터, 그외 다른 액츄에이터들을 조절함으로써 주변에 영향을 미칩니다.
아두이노는 아두이노 보드와 IDE 소프트웨어로 구성되어 있습니다. 아두이노 보드는 센싱과 기계를 작동시키는데 사용되는 마이크로 컨트롤러 보드입니다. IDE는 Integrated Development Environment의 줄임말로 코드를 작성하고 컴파일하고 업로드 할 수 있게 도와주는 소프트웨어입니다.
아두이노 보드의 핵심 구성요소는 마이크로 컨트롤러입니다. 그렇다면, 마이크로 컨트롤러란 무엇일까요? 아주 작은 하나의 칩에 작은 컴퓨터가 들어있다고 생각하시면 됩니다. 왼쪽 아래 그림과 같이 그 안에는 마이크로 프로세서도 들어있고, 기억장치인 메모리(RAM, ROM, 플래시 메모리 등)도 들어있고, 여러 가지 입출력 포트들도 포함되어 있습니다. 주로 디바이스 안에 내장되어서 디바이스를 컨트롤합니다. 우리 주변에 스마트 폰, 장난감, 가전제품, 자동차, 카메라 등 많은 영역에 사용되고 있습니다. 인텔, ARM, ATMEL, 삼성 등 다양한 회사들이 마이크로 컨트롤러를 생산하고 있습니다.
Wiring 기반의 아두이노 프로그래밍 언어는 아두이노 프로그램을 개발하는데 사용됩니다. 다음 글에서 아두이노 프로그래밍 언어에 대해 좀 더 자세히 설명할 예정입니다.
IDE는 자바(Java)로 제작된 크로스 플랫폼 어플리케이션입니다. 텍스트를 자르고, 붙이고, 검색하고, 교체하는 등의 특징을 가지는 코드 에디터를 포함하고 있습니다. 코드를 쉽게 컴파일 할 수 있고 보드에 프로그램을 업로드하여 실행이 가능합니다. 우리는 IDE로 작성된 아두이노 프로그램을 스케치(Sketch)라고 부릅니다.
아두이노가 동작하는 메커니즘을 간단히 살펴보자면, 먼저 아두이노 보드와 PC를 USB 케이블로 연결해줍니다. 이것은 보드와 PC 사이의 시리얼 통신을 위한 작업입니다. USB A 타입은 PC에, USB B 타입은 아두이노 보드에 연결합니다. 이제, 센서들을 아두이노 보드에 연결합니다. 그리고 PC에서 스케치를 작성합니다. 스케치를 컴파일하고 보드에 업로드를 합니다. 아두이노 보드 위에서 프로그램이 실행되면, 각종 센서들이 데이터를 수집해서 PC로 전송하게 됩니다.
아두이노는 오픈소스 하드웨어, 소프트웨어 플랫폼입니다. 아두이노 보드를 활용한 많은 프로젝트들은 모두에게 오픈되어 있으며, 잘 문서화되어 있습니다. 그래서 누구든지 기존의 코드들을 활용할 수 있고, 자신의 필요에 맞게 확장이 가능합니다. 아두이노 코드에 C++ 라이브러리, AVR-C 코드 등을 추가시킴으로써 아두이노 프로그램 언어를 확장할 수도 있습니다. Windows 운영체제 뿐만 아니라 Mac OS, 리눅스 운영체제도 지원합니다.
아두이노는 디지털 부품들, 아날로그 부품들을 연결할 수 있습니다. 온도 센서, GPS 위치 센서, 가속도 센서 등 다양한 센서들과 연결할 수 있습니다. LEDs 또는 전기모터와 같은 액츄에이터와도 연결할 수 있습니다.
그렇다면 우리는 왜 Arduino를 사용해야 하는 걸까요?
이에 대한 대답은 매우 간단합니다. 바로 사용하기 쉽기 때문입니다. 플랫폼을 사용하기가 쉽고, 프로그래밍을 하는 방법도 매우 쉽습니다. 간단한 구조와 인터페이스를 제공하기 때문에 초보자들도 금방 배울 수 있습니다. 개발환경인 IDE도 매우 simple합니다. 뿐만 아니라 Youtube 비디오, 문서, 웹사이트 등을 통해 필요한 정보를 쉽게 찾을 수 있습니다. 이미 많은 사람들이 사용하고 있고 경험들을 공유하고 있기 때문입니다.
많은 종류의 쉴드들을 사용할 수 있는 점도 하나의 장점입니다. 아두이노 쉴드는 특수기능이 필요한 경우 piggyback 방식으로 아두이노 보드에 탈부착 할 수 있는 모듈 형태의 보드입니다. 대표적으로 이더넷 쉴드, 와이 파이 쉴드 등이 있습니다. 그리고 가격이 매우 저렴하다는 점도 빼놓을 수 없습니다. 아두이노 보드 한 개에 약 $35~$40 입니다. 큰 부담이 없고 가격대비 성능은 매우 훌륭합니다. 그러므로 전 세계적으로 많이 사용되고 있습니다.
혹시 아직 아두이노를 구매하시지 않으신 분들을 위한 특급 스타트 키트를 아래에 소개합니다.
* 쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.
'컴퓨터공학' 카테고리의 다른 글
[아두이노 실습] LED ON/OFF (0) | 2020.05.08 |
---|---|
아두이노 시작해보기 (0) | 2020.05.07 |
IoT 에 이용되는 네트워크 기술 - WPAN - (0) | 2018.05.26 |
IoT 에 이용되는 네트워크 기술 알아보기 (1) | 2018.05.25 |
사물인터넷이란? 대표적인 서비스들은? (0) | 2018.05.12 |
이 글을 공유하기