아두이노 레포트

반응형

 

 

 

 

 

 


아두이노 레포트

아두이노에 대해서

 

 

 

 

 

 

 

 

 

 

 

1. 서론

 

 2016년을 살고 있는 현재 사물인터넷(IoT, Internet of things)과 메이커운동(Maker Movement)은 학교에서 뿐만 아니라 TV, 인터넷, 뉴스 등을 통해 쉽게 접할 수 있는 개념이 되었고, 특히 사물인터넷은 우리 삶의 일부분이 되고 있다. 사물인터넷은 사물을 인터넷에 연결하여 사물과 사물, 혹은 사물과 사람 사이에서 상호작용하도록 하는 것을 뜻한다. 메이커운동은 스스로 필요한 것을 만드는 메이커들이 만드는 방법을 공유하고 발전시키는 흐름으로써 오픈소스 제조업 운동이다. 유튜브나 인터넷 뉴스를 통해서 메이커들이 크고 작은 IT기기를 만들어 올리는 것을 보며 메이커운동시대의 흐름에 살고 있는 것을 느낀다. 과거에는 큰 기업이나 공장에서만 만들 수 있었지만, 평범한 메이커들이 이러한 일을 할 수 있게 된 것은 마이크로컨트롤러와 오픈소스하드웨어(OSHW) 덕분이라고 할 수 있다. 특히, 오픈소스하드웨어 중에서 가장 많이 사용되는 개방형플랫폼인 아두이노(Arduino)에 대해 알아보고자 한다.

 

 

2. 아두이노

 

2.1 아두이노 정의 및 특징

 아두이노(Arduino)오픈소스를 기반으로 한 단일보드 마이크로컨트롤러로써 관련 개발 도구와 소프트웨어까지 모두 통합하는 개념이다. 우선 오픈소스 하드웨어란 기존과 똑같은 제품(회로도, 인쇄회로기판, 하드웨어 기술언어)을 만드는데 필요한 모든 소스를 대중에게 공개한 것으로, 모든 사람들이 자유롭게 수정, 배포, 판매할 수 있다는 엄청난 장점을 가지고 있다. 마이크로 컨트롤러는 마이크로 프로세서를 이용한 CPU의 기능과 일정한 용량의 기억장치(RAM,ROM),입출력제어회로 등을 단일의 칩에 모두 내장한 것으로 직접회로 위에 있는 작은 컴퓨터라고 할 수 있다. , 필요한 모두 소스가 오픈되어 있는 마이크로컨트롤러를 말하며 하드웨어(아두이노 보드), 아두이노 소프트웨어, 오픈소스로 구성되어 있다.

 또한, 이탈리아어로 친한 친구라는 뜻을 가진 아두이노(Arduino)는 공학 지식이 없는 학생이나 디자이너를 위해 만들어진 하드웨어 개발 키트로써 다음과 같은 특징을 가진다.

첫째, 저렴한 하드웨어로 시작비용이 낮다. 아두이노가 등장하고 호환되는 제품이 많아지면서 1만원 대 시작할 수 있게 되었다.

둘째, 별도의 변환젠더 없이 마이크로 컨트롤러를 쉽게 프로그래밍할 수 있다. 기존에는 롬라이터라는 장비가 있어야만 가능했지만, 아두이노는 USB포트를 통해 바로 업로드가 가능하다.

셋째, 누구나 쉽게 배우고 활용할 수 있다. 윈도우, , 리눅스 같은 여러 OS를 지원하고, 하드웨어와 소프트웨어 모두 오픈소스가 공개돼 있기 때문이다.

넷째, 각종 센서들과 주변장치를 쉽게 확장할 수 있다. 아두이노 쉴드나 아두이노 모듈을 사용하여 센서들과 주변장치를 확장할 수 있으며, 자신이 원하는 제품이 없다면 센서를 구매해서 직접 아두이노 모듈을 만들어 사용할 수도 있다.

다섯 째, 독자적인 통합개발환경(IDE)를 가지고 있다. IDE란 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어이며, 아두이노 IDEsms 자바와 C를 기반으로 개발된 멀티 플랫폼 소트웨어이다.

 

 

2.2 아두이노 탄생배경 및 역사

 

마이크로컨트롤러 중 하나인 아두이노가 등장하기 전까지 마이크로컨트롤러는 공학도들이 주로 관심을 가지는 부품으로만 여겨졌다. 하지만 2005년 이탈리아 북부 토리노 부근의 이브레아라는 도시에서 자바 기반의 오픈소스 프로그래밍 언어인 프로세싱 AVR(자동변압조정기) 기반의 마이크로컨트롤러 보드인 와이어링(Wiring)’에서 파생한 프로젝트를 통해 마사모 밴지(Massimo Banzi)와 다비드 쿠아르티에예스(David Cuartelles)가 아두이노를 처음 만들었다.

아두이노는 주로 Atmel사의 AVR을 사용하는 오픈소스 마이크로컨트롤러 보드이다. 임베디드 개발 경험이 전혀 없는 사람을 위해 개발된 교육용 플랫폼이기 때문에 프로그램을 작성하고 보드에 프로그램을 올리는 과정을 단순화하여 다루기 쉽게 되어있다. 아주 기초적인 지식만으로도 쉽게 프로그램을 짤 수 있고 꼭 필요한 기능만 넣은 마이크로컨트롤러 보드에서 한발 더 skk가 하드웨어를 오픈소스로 개방한 것이다. 당시로서는 파격적인 가격에 보드를 출시하고 누구나 갖다 쓰고 개량할 수 있게 하드에어 설계 도면과 소포트웨어 소스를 모두 개방하였다. 설계도가 완전히 공개돼 있어 복제품과 특성을 개선한 파생 제품을 만드는 업체들이 생겨났고, 이들은 아두이노에 붙여 쓸 수 있는 다양한 부가 보드를 만들어 아두이노의 쓰임새를 더욱 넓혀 놓았으며 가격도 계속 떨어뜨렸다. 이에 따라 최근 각광받는 3D프린터, 드론(무인비행기), 각종 로봇도 아두이노를 채용해 전 세계에 뻗친 수많은 커뮤니티에서 새로운 계량 아이디어와 코드가 쏟아지고 있다. 이런 아두이노의 성공은 결국 메이커운동의 핵심 동력이 된 것이다.

 

 

2.3 아두이노의 하드웨어

 

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

 

[그림1] 아두이노 보드(Arduino Uno) 출처: www.arduino.cc

 

아두이노는 상황이나 프로젝트에 따라 용도를 달리할 수 있도록 다양한 모델이 존재한다. 가장 기본적이고 대표적인 모델은 위 [그림1]아두이노 우노(Arduino Uno)이다. 신용카드 정도 크기인 아두이노 우노는 기본적으로 14개의 디지털 입력 포트와 6개의 아날로그 입력 포트를 장착하고 있지만, 아날로트 포트를 통해서도 디지털 입, 출력이 가능하다. 왼쪽 위에 있는 검정박스가 컴퓨터와 연결하는 USB소켓이며, 오른쪽 아래 검정색의 직사각형이 마이크로컨트롤러이다.

아두이노 레오나르도는 크기와 포트 숫자 면에서 아두이노 우노와 비슷하지만, USB 통신용 칩을 따로 사용하지 않고 하나의 칩으로 통합 사용한다. 컴퓨터와 연결하게 되면 주변입력장치(HID)로 인식하기 때문에 추가적인 키패드나 특정 매크로를 실행하는 디바이스 제작에 활용될 수 도 있다. ‘아두이노 메가는 디지털 포트 54, 아날로그 포트 16, 시리얼 통신 포트 4개를 장착해 강력한 성능을 자랑한다. ‘아두이노 마이크로는 크기가 작은 아두이노 레오나르도의 미니버전이다. ‘아두이노 나노는 아두이노 우노의 미니버전이며, ‘아두이노 프로 미니는 가장 작은 크기의 아두이노다. 이 밖에도 아두이노 프로, 아두이노 이더넷, 아두이노 윤, 아두이노 피오, 아두이노 릴리, 아두이노 에스플로라 등이 있다.

 

 

2.4 아두이노의 소프트웨어

 

아두이노는 앞서 특징에서 살펴보았듯이 자바로 작성된 통합개발환경(IDE)를 가지고 있다. 오픈소스 소프트웨어이기 때문에 아두이노 홈페이지에서 각 OS에 알맞은 버전을 바로 다운받아 설치할 수 있으며, 어셈블리어 없이 C언어 정도의 수준으로 충분히 다룰 수 있다.

 

[그림2] 아두이노 소프트웨어. 출처 : Google”Arduino software”

 

프로그램 사용법은 간단하다. 왼쪽 상단에 있는 5개의 버튼은 차례대로 컴파일, 보드로 프로그램 업로드, 새로운 파일 생성, 문서 열기, 문서저장이다. 컴파일이란 프로그램 된 내용을 마이크로 컨트롤러가 인식할 수 있도록 기계언어로 전환하는 것을 말한다. 이 프로그램을 이용하여 작업하는 것을 스케치라고 하며 방금 작성한 프로그램을 바로 보드에 심을 수 있는 편리한 구조를 가지고 있다.

 

 

2.5 아두이노 쉴드

 

 전문가가 아니더라도 아두이노를 쉽게 사용할 수 있는 이유는 아두이노 확장 모듈인 아두이노 쉴드(Arduino Shield)’가 있기 때문이다. , 아두이노 쉴드는 아두이노 보드에 연결하여 성능을 확장시키는 하드웨어이다. 특정 입출력 기능을 담당하는 부품으로 아두이노에서 중요한 부품 중 하나이다. 현 시점에서 300개가 넘는 종류를 가진 아두이노 쉴드는 대부분은 아두이노 우노에 맞게 제작되었지만, 다른 아두이노 보드와 호환되는 쉴드도 많다.

 

[그림3] 아두이노 쉴드. 출처 : Google “Arduino shield”

 

대표적인 것들을 몇 개 살펴보자면 와이파이 쉴드가 있다. 무선으로 네트워크에 접속하고 제어할 수 있게 해준다. ‘이더넷 쉴드는 아두이노에 이더넷 기능을 확장시켜주는 것으로 혼자 노는 아두이노에 이더넷 쉴드가 합체되면 인터넷 통신이 가능해진다. ‘엑스비 쉴드는 무선통신을 위한 엑스비 안테나 모듈과 아두이노 보드를 연결해준다. ‘SD 카드 쉴드는 아두이노에 SD카드 연결 기능을 제공해주는 하드웨어로써 아두이노의 라이브러리를 통해 SD카드를 읽고 쓸 수 있으며, 데이터 로깅등의 프로젝트에 이용할 수 있다. 이외에도 블루투스를 가능하게 해주는 블루투스 쉴드등 다양한 아두이노 쉴드가 존재한다.

추가적으로 아두이노 보드에 장착할 수 있는 것은 쉴드 외에 센서라는 것이 있다. 온도센서, 인체감지센서, 초음파 거리센서 등이 가장 많이 사용되며 센서들과 쉴드를 조합하여 하나의 아두이노를 이용한 제품이 완성된다.

 

 

3. 아두이노의 활용

 

3.1 아두이노 활용 분야

 

아두이노는 각 상황에 맞게 센서 및 쉴드를 이용하여 구성하기 때문에 활용 분야가 무궁무진하다. 이러한 아두이노는 기업차원에서 활용되기도 하지만 ICT DIY라 불리는 메이커운동패러다임을 만들며 일반인도 쉽게 사용이 가능하다.

 

[그림4] 아두이노를 활용한 드론과 예술 사례. 출처 : Google “아두이노 활용

 

아두이노가 가장 크게 활약하고 있는 분야는 당연 IoT(사물인터넷)이라고 할 수 있다. 아두이노는 유선 무선으로 인터넷에 연결이 가능하고, 입출력 판을 통하여 각종 센서 및 릴레이 등의 값을 읽거나 제어가 가능하므로 스마트폰 등을 이용하여 어디서나 인터넷이 연결되는 곳에서는 집에 있는 각종 기기들의 제어가 가능하기 때문이다. LG가 광고하고 있는 집에 도착하기 전에 에어컨이나 보일러, 전등 등을 끄고 켜거나 혹은 집안에 누가 침입한다면 인터넷을 통해 알려주도록 하는 것이 바로 아두이노를 활용한 IoT의 대표이다.

두 번째 활용분야는 로봇이나 드론 등을 개발하는 과학분야다. 아두이노는 다양한 모터를 장착해 정밀한 제어가 가능하다. 예를 들어 장애물 감지 센서와 모터를 연결하여 로봇을 만든다면 장애물을 피해가는 로봇을 만들 수 있으며 기울기 센서 등을 이용하여 드론을 만들면 모터의 출력을 조절하여 뒤집어지지 않는 드론을 만들어 띄울 수 있다. 물론 블루투스나 와이파이 쉴드 등과 연결하여 원격 조정이 가능하도록 만들 수도 있다.

세 번째는 3D프린터, CNC, 등의 산업분야다. 아두이노로 여러 개의 스텝모터를 제어하여 물건을 만드는 3D프린터나 CNC같은 공작기계의 제작이 가능하다. 물론 아두이노보다 더 뛰어난 성능의 보드들도 많이 있어서 산업 기계에 아두이노를 사용하는 일이 많지는 않지만 집에서 사용하기에는 충분하다.

이외에도 예술분야와 농업분야에서 활용이 가능하다. LED를 아두이노로 제어하여 여러가지 예쁜 모양을 만들어 예술분야에 활용이 가능하며, 연결된 센서 등을 통하여 농작물에 물을 주는 방식으로 농업분야에도 이용된다. 온도, 습도 등에 민감한 식물의 경우 아두이노를 통해 모니터링하여 생장에 최적의 환경을 만든다는 방식으로 활용할 수 있다.

 

이처럼 아두이노는 기업적으로 사용되기도 하며, 평범한 개인이 사용하기도 한다. 예를 들어 자동차회사 포드는 아두이노를 이용해 차량용 하드웨어와 소프트웨어를 만들어 차량과 상호작용을 할 수 있는 오픈xc라는 프로그램을 만들었으며, 장난감 어베인 레고에서는 아두이노를 사용하여 교육프로그램을 개발하기도 했다. 하지만 기업적인 사례 외에 개인이 아두이노를 활용하여 생활에서 사용할 수 있는 제품을 개발한 사례를 소개하려고 한다.

 

 

3.2 8살 꼬마가 만든 ‘O Watch’

 

‘O Watch’는 미국의 8살 꼬마인 옴카르(omkar)가 만들었다. 아래 [그림4]를 보면  ‘O Watch’는 아두이노를 기반으로 하여 3D컴퓨터로 인쇄 된 케이스와 OLED화면으로 구성되어 있다. 또한, 센서보드를 추가 주문하여 온도, 나침반, 기압, 습도 등을 시계에서 확인할 수 있다. 또한 3D프린터를 이용하여 케이스를 소비자가 원하는 디자인으로 프로그래밍할 수 있도록 제작되어 일종의 고객맞춤 디자인서비스를 실현했다.

 

[그림5] O Watch와 구성. 출처 : Google “O-Watch”

 

현재 ‘O Watch’는 스타트업 사이트인 킥스타터에서 크라우드 펀딩(대중으로부터 자금을 모으는 방법)을 받아 투자금액을 넘겼으며, 현재 공식사이트에서 기본키트는 85$, 센서가 추가된 키트는 109%에 구매가 가능하다.

 

 

3.3 모션 감지 침대 및 전등

 

누구나 한번쯤은 밤중에 어두컴컴한 방에서 일어나 화장실을 가려다가 어딘가에 부딪힌 경험이 있을 것이다. 이러한 경험에서 착안된 모션감지 침대 및 전등(Under the bed nightlight) 2015년 아두이노 올해의 작품 5위에 올랐다.

침대 아래 LED 전등을 설치하고 아두이노와 모션 감지 컨트롤러를 병합하였다. 침대에서 일어나 직접 불을 켜지 않아도 모션을 감지하여 은은한 불빛이 자동으로 켜지면서 어두운 한밤중에도 편하게 이동할 수 있다.

 

[그림6] 모션감지 침대 및 전등. 출처 : http://www.instructable.com

 

 

3.4 아두이노의 발전 가능성

 

아두이노는 쉬운 조작 때문에 꾸준히 사용자가 증가해왔다. 이후 2009년 이후 사용자가 더 급증하였으며, 2011 8월 기준으로 누적 판매 수량이 31만대를 넘겼다. 아두이노 공식홈페이지에 따르면 2013년 집계에서는 70만대를 넘겼으며, 호환보드나 클론 제품까지 포함하면 100만대가 넘는다. 사용자 수도 엄청날 것으로 예상되는 만큼 다양한 생각을 가진 사용자들이 만들어 내는 콘텐츠 또한 방대할 것이다. 아마 앞으로는 별도의 프로그램을 코딩하지 않아도 존재하고 있는 콘텐츠만드로도 웬만한 기능은 다 구현이 가능할 것이다. 이러한 사용자들이 결국 메이커가 되어 메이커운동 패러다임을 만드는 사람이 될 것이고, 이는 결국 오픈소스 하드웨어 플랫폼인 아두이노가 가져온 파급효과라고 할 수 있다.

또한, 요즘 유명한 키워드는 웨어러블 기기(wearable device)’. 이러한 기계는 사람들의 창의성을 필요로 하는 방금 다양한 아이디어를 가진 수많은 메이커들이 아두이노를 활용한 독창적인 웨어러블 기기를 만들어낼 것이다.

 

 

4. 결론

 

현대 사회는 급격한 기술 발전을 이룩하여 4차산업시대라고 불린다. 우리는 1차 농업사회, 2차 산업사회, 3차 정보화 및 서비스사회를 걸쳐 현재 4차산업으로 넘어가는 과도기에 있다. 최근 알파고의 등장으로 이슈인 인공지능과 더불어 지금까지 조사한 아두이노는 평범한 개인이 직접 필요한 IT기기를 만들 수 있게 하며 우리를 새로운 산업시대로 이끌고 있다.

 

 

4.1 아두이노에 대한 생각

 

사실 이번 조사를 통해서 아두이노에 대해 처음 알게되었다. ‘아두이노라는 단어 자체도 생소해서 정의를 찾으며 마이크로 컨트롤러’, ‘AVR’등 처음 들어보는 용어가 가장 힘들게 했다. 하지만 점점 조사할수록 아두이노의 매력을 알게되었다. 무엇보다 아두이노가 활용되는 분야에 관심이 생겼다. 생각하지도 못했던 농업분야부터 예술, 산업, 실생활 등에 다양하게 사용되고 있는 아두이노를 보며 과학기술의 발달이 생활을 편리하게 만든다는 것을 알게 되었다. 특히 요즘 한강변에서 볼 수 있는 드론도 직접 제작할 수 있다는게 너무 신기했고, 최근 관심을 가지고 있는 에어러블 기기 또한 아두이노를 이용한다는 것을 처음 알게되었다.

 

사실 그 동안 메이커운동을 들었을 때는 나와는 다른 세상 이야기라고 생각했다. 어렸을 때 워드프로세서와 학교에서 배웠던 과학을 제외하면 컴퓨터나 전자에 대한 지식이 많지 않기 때문에 관련 분야를 전문적으로 배운 사람들만 메이커운동을 이끌 수 있다고 생각했다. 하지만 아두이노를 조사하면서 나 또한 도전해 보고 싶은 호기심이 생겼고, 미국의 8살 꼬마가 만든 O Watch를 보면서 자신감도 생겼다. 우리학교는 캠퍼스가 분리되어 있어서 과학 분야에 관심을 가진 학우를 만난 적이 없었기 때문에, 나처럼 대부분이 아두이노에 대해 모를 것이라 생각했다. 가까운 학교에서 공대를 다니고 있는 친구에게 연락해서 도움이 청했을 때, 학교에서 직접 아두이노를 가지고 프로젝트를 한 경험이 있다며 나에게 소개해주었다. 친구가 진행한 프로젝트가 큰 규모는 아니였지만, 친구 또한 메이커로서 생활의 편리함을 위해 도전한 것이 신기하게 느껴졌다.

 

물론 내가 지금 당장 아두이노 보드를 구입하고 각종 센서를 달아서 IDE를 이용해 프로그래밍을 해서 제품을 만들 수는 없다. 시간적 여유도 없을 뿐만 아니라 기본적이라고 할 수 있는 C언어조차 모르기 때문이다. 처음 휴대폰이 나왔을 때 아버지가 사왔던 무전기 같은 모습을 기억한다. 이 후 휴대폰은 흑백에서 컬러로 발전하고, MP3와 결합된 핸드폰과 카메라보다 뛰어난 성능의 휴대폰이 출시된 이후 스마트폰까지 계속 발전해왔다. 이미 아두이노도 많이 발전한 것이지만 어쩌면 시간이 더 흐른다면 C언어 없이 나의 상상을 그대로 현실화시킬 수 있는 다른 제품이 나오지 않을까하는 생각이 든다. 아두이노 자체도 나의 상상을 현실로 옮겨주는 과학기술의 산물이지만 분명 더 멀지 않은 미래에서는 정말 말 그대로 나의 머리 속에만 있는, 상상 속 아이디어를 더 쉬운 방법으로 실현시킬 수 있는 새로운 IT과학기술이 등장하지 않을까?

 

반응형

'교육자료' 카테고리의 다른 글

특허를 이해해보자 1  (0) 2019.09.27
아두이노정의  (0) 2019.09.26
아두이노란  (0) 2019.09.26
기침에 좋은 음식  (0) 2019.09.26
WIX 홈페이지 단점  (0) 2019.09.22

댓글

Designed by JB FACTORY