아두이노 기초 강좌 3 – 라이브러리

아두이노 기초 강좌는 아두이노를 처음 접하시는 전자분야 비 전공자를 위한 강좌입니다. 이해를 위해서는 간단한 프로그래밍 지식이 필요할 수 있습니다. 프로그래밍이 처음이라면 [아두이노 프로그래밍 기초] 강좌를 먼저 읽으시길 권해 드립니다.

=============================================================

.

아두이노를 사용하다보면 라이브러리를 사용할 일이 많습니다. 아두이노를 움직이는 핵심 로직은 우리가 짜겠지만 각종 센서나, 모터, 디스플레이를 우리가 직접 컨트롤 하기에는 너무 복잡하기 때문에 이런일을 쉽게 할 수 있도록 해주는 라이브러리들을 사용합니다.

1. 라이브러리 사용방법

아두이노 개발환경은 설치할 때 이미 기본이 되는 라이브러리들을 가지고 있습니다. [스케치 – 라이브러리 가져오기] 메뉴를 누르면 아두이노가 가진 라이브러리들을 보실 수 있습니다. 사용하는 방법도 간단합니다. [스케치 – 라이브러리 가져오기 – 원하는 라이브러리 선택] 순서대로 누르면 끝입니다.

아두이노가 가진 저장공간인 EEPROM을 사용하기 쉽게 도와주는 라이브러리를 사용해보도록 하죠. 

arduino_add_lib_1

[스케치 – 라이브러리 가져오기 – EEPROM] 을 차례대로 선택합니다. 그러면 Text Editor 영역 젤 위쪽에 아래와 같은 라인이 자동으로 추가될겁니다.

#include <EEPROM.h>

이제 소스상에서 EEPROM 관련 함수들을 사용할 수 있습니다. 굳이 [스케치 – 라이브러리 가져오기 – xxx] 메뉴를 선택하지 않더라도 위 라인을 직접 Text Editor에 타이핑해도 상관 없습니다.

2. 라이브러리 설치 방법

프로젝트를 하다보면 유용한 라이브러리들을 많이 발견하게 됩니다. 보통 ZIP 파일 형태로 배포를 하는데 이걸 내 아두이노 개발환경에 설치하는 방법을 보겠습니다.

크게 두가지 방법이 있습니다.

2-1. [스케치 – 라이브러리 가져오기] 메뉴로 설치

아래 그림과 같이 [스케치 – 라이브러리 가져오기 – 라이브러리 추가…] 메뉴를 선택합니다. 그리고 다운로드 받은 라이브러리 ZIP 파일의 위치를 지정해주면 됩니다. 

arduino_add_lib

2-2. 직접 설치

라이브러리 파일에 문제가 있거나 라이브러리 소스 수정이 필요한 경우등이 있기 때문에 라이브러리를 수동으로 설치하는 방법도 알아둘 필요가 있습니다.

먼저 아두이노 개발환경을 종료하고 [아두이노 설치폴더\libraries] 폴더로 이동합니다. 여기가 라이브러리를 모아두는 곳이고, 여기에 라이브러리 폴더를 만들어 파일을 넣으면 아두이노 개발환경이 시작할 때 인식을 합니다. 다만 아래와 같은 구조로 파일이 있어야만 합니다. ArduinoTest 라이브러리를 설치한다고 하면…

  • libraries\ArduinoTest (폴더)
  • libraries\ArduinoTest\ArduinoTest.cpp
  • libraries\ArduinoTest\ArduinoTest.h
  • libraries\ArduinoTest\examples (폴더)

ArduinoTest 폴더명과 같은 이름을 가진 cpp, h 파일이 기본으로 있어야 제대로 인식합니다. examples 폴더안에는 라이브러리를 사용하는 간단한 예제파일을 넣어두는 것이 기본입니다. 이 외에 다른 파일들이 추가로 들어 있을수는 있지만 위 구조는 지켜져야 합니다.

이제 아두이노 개발환경을 실행하고  [스케치 – 라이브러리 가져오기] 메뉴를 확인합니다. 직접 설치한 라이브러리가 보이면 성공. examples 폴더에는 예제 파일들이 있다고 했죠? 이건 [파일 – 예제] 메뉴에서 확인 하실 수 있습니다.

===============================================================

이 문서는 작성자의 동의없이 개인적인 목적 외의 상업적인 목적으로 활용되어서는 안됩니다.

이 문서의 일부 혹은 전체를 수정, 삭제, 재배포 하여서는 안됩니다.

작성자 : GodsTale (godstale@hotmail.com)  

You may also like...