참고자료

아두이노, 오렌지보드 등의 오픈소스하드웨어를 사용하는데 필요한 것들을 알아봅니다.

라이브러리 사용 (1)

2014-08-01 03:48:31

라이브러리에 대하여

라이브러리란

라이브러리를 인터넷에서 찾아보면 '컴퓨터 프로그램에서 자주 사용되는 부분 프로그램들을 모아 놓은 것. 언제든지 자유롭게 이용할 수 있도록 구성되어 있다.'라고 설명되어 있다.
이렇게 라이브러리란 특정 목적을 위해 사용되는 파일들을 모아놓은 집합이라고 보면 된다.

C++에서는 데이터의 입출력을 사용할 경우에는 처음에 #include 을 추가하고
문자열(String)을 사용하고 싶을 경우에는#include을 추가시켜야지 문자열을 데이터처럼 사용할 수 있다. 

아두이노를 쓰다보면 새로운 센서를 쓸 때 가장 많이 찾게 되는것이 라이브러리이다.
아두이노에서는 기본 함수들과 클래스정도는 직접 헤더파일을 추가해주지 않아도 컴파일 과정에서 자동으로 라이브러리가 추가되기 때문에 별다른 작업없이 사용할 수 있다.
기본적인 LED제어나 간단한 센서 정도는 라이브러리 없이 간단하게 아날로그 값이나 디지털 값의 입출력을 통해 값을 읽어오고 전송할 수 있으나, 좀 더 나아가 여러 기능을 가진 모듈들을 사용하기 위해서는 제조사나 인터넷 각종 사이트에서 제공하는 라이브러리가 있어야지만 제어가 가능하다.

라이브러리가 없다고 완전히 제어가 불가능한 것은 아니지만 그만큼 사용자가 여러 기능을 직접 만들어서 구현해야 하기 때문에 코딩이 상당히 번거로운 작업으로 변하게 된다.




각각의 라이브러리 폴더안에는 그 라이브러리의 함수들을 정리해 놓은 헤더파일(.h)과 소스파일(.cpp)이 존재한다. 또한 그 라이브러리를 사용한 간단한 예제소스또한 같이 존재한다.




기본 이외의 기능이 필요해 라이브러리를 사용할 경우에는 소스 제일 처음부분에 #include <라이브러리 헤더파일>을 입력한다.

 

#include <라이브러리의 헤더파일> //라이브러리 추가


아래 같은 경우에는 서보모터를 사용하기 때문에 #include 를 상단에 입력하였다.
직접 입력해도 되고 어떤 라이브러리를 사용해야 할지 모를 경우에는 스케치-라이브러리 가져오기를 보게 되면 각각 기능에 해당하는 라이브러리를 불러올 수 있다. 만약 Ethernet을 사용하고 싶다면 스케치-라이브러리 가져오기에서 Ethernet을 클릭하면 Ethernet사용에 필요한 라이브러리의 헤더파일들을 자동으로 상단에 입력해 준다.


서보모터를 사용하기 위해 Servo라이브러리를 include한 모습


스케치 - 라이브러리 가져오기 를 통해 Ethernet라이브러리를 불러오는 모습


라이브러리를 불러오게 되면 Ethernet사용에 필요한 라이브러리가 자동으로 추가된다.



만약 소스가 문법상의 오류 없이 완벽하게 구현이 됐더라도 라이브러리 헤더파일을 상단에 선언해주지 않게 되면 컴파일 도중에 오류가 뜨게 된다. 
컴파일 도중에 에러가 뜬다면 헤더파일을 제대로 선언해 주었는지 확인해보는 일도 필요하다.

 

 

 

외부 라이브러리 설치하기

아두이노가 기본적으로 제공해주는 라이브러리 이외에 인터넷에서 개인 또는 아두이노 페이지에서 공급하는 라이브러리는 외부라이브러리 또는 확장라이브러리라고 하는데 이런 확장라이브러리는 직접 찾아서 따로 내려받아서 설치해주어야 한다. 
모두 다 설치할 필요는 없고 자신이 필요하다 싶을 때 그때그때 가서 지금 필요한 라이브러리만 받아주면 된다.
(아두이노 페이지에서 많은 외부라이브러리를 지원해준다) -> http://playground.arduino.cc/Main/GeneralCodeLibrary
(아두이노 관련 많은 라이브러리를 찾을 수 있는 사이트) -> https://github.com/

설치하는 방법은 기본라이브러리가 존재하는 방법과 같이 아두이노폴더에 존재하는 libraries폴더에 받은 라이브러리를 저장하여 libraries폴더 안에 설치한 외부라이브러리폴더 안에 올바른 헤더파일과 소스파일이 존재할 경우 설치가 끝난다.

아래 사진은 키패드를 사용하기 위해 아두이노 페이지에서 받은 키패드 외부라이브러리를 받아서 설치한 다음의 모습이다.



라이브러리를 받아 libraries에 저장하였으면 스케치창을 모두 종료하고 다시 재시작한다.(모두 종료하기 전에는 라이브러리가 보이지 않는다.)
기본라이브러리 아래에 따로 설치한 Keypad라이브러리가 보인다.

 

 

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

프로그래밍, 기초, 라이브러리

hihyo 2014-08-01 16:05:49

기본예제들도 다양하네요

jy 2014-08-01 16:47:07

오!! 이렇게 하는 거군요

김재우 2016-04-08 11:23:26

감사합니다.

김재우 2016-04-08 11:23:30

감사합니다.