아두이노는 오픈소스 기반의 단일보드 마이크로컨트롤로 만들어진 하드웨어 개발 모드와 이와 관련된 소프트웨어 개발 도구 환경을 말합니다.
아두이노는 여러 종류가 있으며, 아트멜(ATMEL)사의 AVR 계열의 보드가 가장 많이 사용되고 있습니다.
아두이노의 탄생 과정을 간단히 살펴보면, 왜 아두이노가 단순하고 쉽게 프로그래밍을 할 수 있는지 알 수 있습니다.
아두이노를 처음 만든 마시모 밴지(Massimo Banzi)와 데이비드 쿠아르티에예스(David Cuartielles)는 공학을 전공하지 않은 예술가와 학생이 디지털 프로젝트를 쉽게 할 수 있도록 하기 위하여 고안하였습니다.
즉, 공학도가 아닌 일반인이 기초적인 프로그래밍 지식만 있다면, 자신이 원하는 형태의 디지털 전자기기를 만들 수 있게 하였습니다.
아두이노 장점
첫째, 오픈소스 하드웨어입니다.
하드웨어의 사양과 구조가 Creative Common Licence를 통해 공개되어 있어서 누구나 하드웨어에 대한 접근이 용이합니다. 따라서 다양한 변형된 아두이노 보드의 개발이 가능합니다.
둘째, 오픈소스 소프트웨어입니다. C와 C++ 기반의 개발 소프트웨어로서 C와 C++에서 기본적으로 제공하는 표준 라이브러리 함수를 그대로 사용할 수 있습니다.
셋째, 간단한 프로그래밍 환경입니다. 아두이노는 스케치라고 불리는 소프트웨어 코드를 기반으로 동작합니다. 따라서 스케치에 대한 소프트웨어 통합 환경을 제공하고 있습니다.
넷째, USB 연결을 지원합니다. 기존의 마이크로컨트롤러들이 직병렬 연결만 지원하는 데 비해 랩톱 컴퓨터와 같은 소형 환경에서도 개발이 가능한 범용성이 높은 USB 연결을 지원합니다.
다섯째, 다양한 운영체제를 지원합니다. Windows, Mac OS, Linux와 같은 대부분의 환경을 지원합니다. 따라서 대부분의 컴퓨터에서 작업이 가능합니다.
여섯째, 가격이 저렴합니다. 대개 3만 원 내로 다른 개발 도구에 비해 상대적으로 저렴합니다.
이와 같은 이유로 아두이노는 공학 전공을 하지 않은 사람들도 전문적인 공부를 하지 않고 약간의 학습만을 통하여 하드웨어, 소프트웨어를 개발할 수 있고 이를 통해 자신이 원하는 전자 장비를 만들 수 있습니다.
아두이노는 기능과 모양에 따라 우노(UNO), NANO, LEONARDO, MICRO, MEGA, YUN 등 다양한 종류가 있습니다.
Arduino Uno
그중에 Arduino Uno가 가장 많이 사용되고 있습니다.
아두이노는 전용 소프트웨어 개발환경이 제공되어 있어 아트멜사가 직접 제공하는 AVR 개발환경에 비해 직관적인 개발이 가능하며, USB 연결을 제공하고 있어 상당히 손쉽게 컴퓨터와 연결이 가능합니다.
그럼 Arduino Uno의 구조에 대하여 살펴보도록 하겠습니다.
Arduino Uno는 중앙처리장치인 마이크로컨트롤러로 ATmega328 칩을 탑재하고 있습니다. 그리고 20개의 디지털 입출력 핀을 가지고 있습니다.
20개의 입출력 핀 중 6개의 핀은 아날로그 입력 핀으로 사용할 수 있고 아날로그를 디지털로 변환해 주는 Analog to Digital 컨버트를 포함하고 있습니다. 따라서 아날로그와 디지털을 모두 사용할 수 있는 장점이 있습니다.
USB 연결을 통하여 컴퓨터와 정보를 주고받을 수 있도록 USB 시리얼 변환 마이크로컨트롤러가 탑재돼 있습니다.
이를 통하여 컴퓨터로부터 전송된 정보를 ATmega328 칩이 인식할 수 있도록 정보를 변환하는 역할을 합니다.
외부전원은 7V에서 12V 사이의 전압을 입력으로 받을 수 있으며, 사물인터넷 기기를 위해서 대개 사각형의 9V 건전지를 외부전원으로 사용할 수 있습니다.
아두이노 우노의 주요 사양을 살펴보면, 마이크로컨트롤러는 ATmega328, 동작전압은 5V, 입력전압은 7~12V, 클럭주파수는 16MHz, 플래시메모리는 32KB, 디지털 입출력 핀이 20개가 있으며, 6개는 아날로그 입출력 핀을 사용할 수 있습니다.
향후에 아두이노의 사양은 다양한 아두이노 프로젝트 개발 시 기초가 되는 정보며, 개발하려고 하는 제품에 따라 아두이노의 사양을 선택해야 합니다.
특히 Arduino Uno는 초기 개발자에게 많이 사용되는 제품이지만, 현재 사양을 넘어가는 개발을 하고자 할 경우에는 다른 아두이노 제품을 선택해야 합니다.
아두이노 제품에 프로그래밍을 넣으려면 통합개발환경을 설치해야 합니다. 통합개발환경 소프트웨어는 아두이노 웹사이트에서 다운로드 받으면 됩니다.
ㅏ
아두이노의 통합개발환경 소프트웨어를 설치하면, 컴퓨터가 아두이노를 인식할 수 있도록 드라이버가 함께 설치됩니다.
프로그램이 정상적으로 설치되었다면, 아두이노의 디지털 프로젝트를 동작시키는 스케치 프로그램을 작성하는 환경이 만들어집니다.
스케치 작성 환경의 주요 기능을 살펴보면, 다음과 같습니다. 확인은 스케치의 오류여부를 검사하며, 업로드는 스케치 프로그램의 내용을 USB 연결을 통해 아두이노로 보내는 기능입니다.
열기는 예전에 작성한 스케치 프로그램을 불러오며, 저장은 작성한 스케치 프로그램을 파일로 저장합니다.
시리얼 모니터는 아두이노가 컴퓨터로 전달할 정보를 표시하거나 아두이노로 전달할 정보를 입력하기 위하여 사용합니다.
다음은 스케치의 구조를 살펴보도록 하겠습니다. 스케치는 기본적으로 C와 C++의 언어로 만들어져 있으며, C와 C++의 기본 구조인 main 함수 대신 setup과 loop 함수로 구성됩니다.
setup에서는 아두이노가 동작을 시작하기 전 최초에 한 번 실행되어 초기화하는 작업에 대한 내용을 작성하며, loop에는 그 이후에 아두이노가 반복적으로 사용할 동작의 내용을 작성합니다.
# 아두이노 아두이노설치 아두이노 우노 아두이노 개념 Arduino Uno # 아두이노 아두이노설치 아두이노 우노 아두이노 개념 Arduino Uno # 아두이노 아두이노설치 아두이노 우노 아두이노 개념 Arduino Uno # 아두이노 아두이노설치 아두이노 우노 아두이노 개념 Arduino Uno # 아두이노 아두이노설치 아두이노 우노 아두이노 개념 Arduino Uno # 아두이노 아두이노설치 아두이노 우노 아두이노 개념 Arduino Uno # 아두이노 아두이노설치 아두이노 우노 아두이노 개념 Arduino Uno # 아두이노 아두이노설치 아두이노 우노 아두이노 개념 Arduino Uno # 아두이노 아두이노설치 아두이노 우노 아두이노 개념 Arduino Uno # 아두이노 아두이노설치 아두이노 우노 아두이노 개념 Arduino Uno # 아두이노 아두이노설치 아두이노 우노 아두이노 개념 Arduino Uno
'교육' 카테고리의 다른 글
판교 테크노밸리는 어떤곳일까? (0) | 2017.11.22 |
---|---|
2018의무화 되는 코딩 교육 (0) | 2017.11.21 |
4차산업혁명 교육은 어떻게 해야할까? (0) | 2017.11.21 |
카피라이트(Copyright) 와 카피레프트(Copyleft) (0) | 2017.06.23 |